c4cf6ee3c752cd8b4ad74c69824a298e0ae937a0
[wifi-assistant] / www / index.html
1 <html>
2 <head>
3 <title>Wifi Jail Breakout Assistant</title>
4 <style>
5 h2 { clear: both; }
6 .screenshot { width: 400px; }
7 dd { margin-bottom: 1em; }
8 #roadmap li.done { text-decoration: line-through }
9 .cli { margin-left: 3em; }
10 </style>
11 </head>
12 <body>
13
14 <div style='height: 64px'>
15 <img style='float: left' src='gfx/wifi-assistant-64.png' alt="Wifi Assistant's Application Icon" />
16 <h1>Wifi Jail Breakout Assistant</h1>
17 </div>
18
19
20
21
22
23 <h2>About</h2>
24 <h3>What?</h3>
25 <p>
26 This application aims to help make life easier when connecting your Nokia N900 to wifi networks (WLAN) that
27 requires you to visit a captive portal (login) page before you can access the Internet.
28 </p>
29
30 <h3>Why?</h3>
31 <p>
32 I got tired of not being able to connect easily to networks guarded by a login page, so I created this app to scratch that itch.
33 Nokia doesn't supply this feature and when asked for, it's out of scope for the N900.
34 </p>
35
36
37
38
39
40 <h2>How it works and Screenshots</h2>
41 <h3>Connected to network</h3>
42 <p>
43 When you're connected to a "new" network, you get this popup which asks you if you want to launch a browser. 
44 Simply press Yes or No to open a new browser window.
45 The next time you connect to that network, the same action will be take (open or not open a browser window), 
46 unless you untick the "Remember this decision" checkbox. (You'd get the same popup each time instead.)
47 <div><img class='screenshot' src='gfx/screenshot-popup.jpg' /></div>
48 </p>
49
50 <h3>Network Settings</h3>
51 <p>
52 If you fire up the configuration/settings GUI (it's called Wifi Assistant and the icon looks like the one at the top this page) 
53 you get a list of all the networks we've used and whether to launch a browser or not.
54 You can change the settings by tapping the line you want to change.
55 <div><img class='screenshot' src='gfx/screenshot-launch-list.png' /></div>
56 <div><img class='screenshot' src='gfx/screenshot-launch-settings.png' /></div>
57 </p>
58
59 <h3>Daemon Settings</h3>
60 <p>
61 You can turn the daemon off (kind of) so that it won't show popups. It'll still open a new browser window when you connect to
62 networks where you've selected "Yes" previously. 
63 <div><img class='screenshot' src='gfx/screenshot-daemon-settings.png' /></div>
64 </p>
65
66
67
68
69 <h2>Download and Install</h2>
70 <p>
71 Get the debian package file (wifi-assistant_X.X.X_all.deb) from 
72 <a href="https://garage.maemo.org/frs/?group_id=1777">the Files section</a>
73 at 
74 <a href="https://garage.maemo.org/projects/wifi-assistant">this projects' garage (home)</a>.
75 If you download the file using your browser, the application manager will start and you'll be asked to install the pacakge.
76 </p>
77 <p>
78 Eventually you'll be able to download Wifi Assistant from the Extras repository, provided by Nokia/Maemo.
79 </p>
80 <p>
81 If you want to use the terminal, the commands are (requires root shell (rootsh) and wget):
82 <pre class='cli'>
83 $ sudo gainroot
84 # wget https.....
85 # dpkg -i wifi-assistant_latest.deb
86 </pre>
87 </p>
88
89
90
91
92 <h2>Roadmap</h2>
93 <ul id='roadmap'>
94         <li class='done'>Daemon that launches browser</li>
95         <li class='done'>GUI app where you can change settings</li>
96         <li>Add and remove settings</li>
97         <li>Handles SSID/Network names with spaces in them</li>
98         <li>Upload wifi-assistant to Extras, put up a note on maemo.org forum</li>
99         <li>Ability to specify URL to launch, per SSID/Network name</li>
100         <li>Detect if the net is locked down or not
101         (useful for networks which gives you one day access - you only want the browser launched once per day)</li>
102         <li>Have the network settings sorted alphabetically</li>
103         <li>Daemon work:
104                 <ul>
105                 <li>Let the GUI app launch daemon if it's not running</li>
106                 <li>Change listenting to changes in gconf to using dbus</li>
107                 </ul>
108         </li>
109         <li>Implement Ideas (below)</li>
110 </ul>
111
112
113
114
115 <h2>Bugs</h2>
116 <p>
117 Comes included from the start ...
118 </p>
119 <p>
120 There's no grand bug tracking system setup for this project. If the application doesn't work as expected, 
121 feel free to send me an e-mail, or post a message in 
122 <a href="https://garage.maemo.org/forum/forum.php?forum_id=6070">the forum</a>
123 here at garage.maemo.org.
124 </p>
125 <p>
126 The only real "bug" right now is that network names with spaces in them aren't handled properly (they can't be part of a gconf key).
127 </p>
128
129
130
131
132 <h2>Source</h2>
133 <p>
134 Is available, get it with <code>git clone https://vcs.maemo.org/git/wifi-assistant</code> or 
135 <a href="https://garage.maemo.org/plugins/ggit/browse.php/?p=wifi-assistant">you could browse it online</a>. 
136 There's more info at the <a href="https://garage.maemo.org/scm/?group_id=1777">SCM page</a>.
137 </p>
138
139
140
141
142 <h2>License</h2>
143 <p>
144 This application is free to use, inspect, adapt and share, licensed under a BSD type license.
145 </p>
146
147
148
149
150 <h2>Thanks</h2>
151 <p>
152 To Lisa, Anton and Leia who support me (kind of) while I'm up late etc.   
153 </p>
154 <p>
155 A big thanks to Andrew Flegg (Jaffa) - the build files for this application are extremely similar 
156 to those used for the excellent anti-blue man syndrome application 
157 <a href='http://hermes.garage.maemo.org/'>Hermes</a>.
158 </p>
159
160
161
162
163 <h2>Donate</h2>
164 <div style='margin-right: 1em; float: left'>
165 <script type="text/javascript">
166         var flattr_url = 'http://wifi-assistant.garage.maemo.org';
167 </script>
168 <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
169 </div>
170 <div style='margin-right: 1em; float: left'>
171 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
172 <input type="hidden" name="cmd" value="_s-xclick">
173 <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
174 ">
175 <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
176 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
177 </form>
178 </div>
179
180 <p>
181 You could either simply donate to PayPal, or Flattr this project - either way: thanks for your support!
182 </p>
183
184
185
186
187
188 <h2>Ideas</h2>
189 <dl>
190 <dt>Detect login page when connected to new network</dt>
191 <dd>This is fairly easy to do - simply make a HTTP HEAD request for a known static resource on the web. 
192 If you get anything but a HTTP 200 in return, that network has a captive portal (or the connection was lost etc).</dd>
193
194 <dt>Detect URL needed to autologin</dt>
195 <dd>The best idea I have right now is to setup a local proxy. The way to operate this would be to:
196 <ol>
197 <li>"Open browser and record URLs" button clicked</li>
198 <li>a HTTP proxy is setup, the browser is setup to use that proxy</li>
199 <li>browser is launched</li>
200 <li>user logs in at the portal page</li>
201 <li>user switches to Wifi Assistant, clicks "Turn off URL recording"</li>
202 <li>proxy is shut down, browser (system) settings reverted to previous settings</li>
203 <li>user looks at list of recorded URLs</li>
204 <li>user selects URL to use when being connected to this network next time</li> 
205 </ol>
206 </dd>
207 </dl>
208
209 </body>
210 </html>