f8384cfbc7766d871da4144602bdf81936e37695
[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="http://maemo.org/packages/view/wifi-assistant/">the Maemo.org packages site</a>
73 If you download the file using your browser, the application manager will start and you'll be asked to install the pacakge.
74 </p>
75 <p>
76 Eventually you'll be able to download Wifi Assistant from the Extras repository, provided by Nokia/Maemo.
77 </p>
78 <p>
79 If you want to use the terminal, the commands are (requires root shell (rootsh) and wget):
80 <pre class='cli'>
81 $ sudo gainroot
82 # wget https.....
83 # dpkg -i wifi-assistant_latest.deb
84 </pre>
85 </p>
86
87 <h3>Alternative</h3>
88 <p>
89 You could also get the latest version from
90 <a href="https://garage.maemo.org/projects/wifi-assistant">this projects' garage (home)</a>.
91 This is where I put the packages I test myself. It should not differ at all from the ones
92 built by the Maemo build site.
93 </p> 
94
95
96
97
98 <h2>Roadmap</h2>
99 <ul id='roadmap'>
100         <li class='done'>Daemon that launches browser</li>
101         <li class='done'>GUI app where you can change settings</li>
102         <li>Add and remove settings</li>
103         <li>Handles SSID/Network names with spaces in them</li>
104         <li>Upload wifi-assistant to Extras, put up a note on maemo.org forum</li>
105         <li>Ability to specify URL to launch, per SSID/Network name</li>
106         <li>Detect if the net is locked down or not
107         (useful for networks which gives you one day access - you only want the browser launched once per day)</li>
108         <li>Have the network settings sorted alphabetically</li>
109         <li>Daemon work:
110                 <ul>
111                 <li>Let the GUI app launch daemon if it's not running</li>
112                 <li>Change listenting to changes in gconf to using dbus</li>
113                 </ul>
114         </li>
115         <li>Implement Ideas (below)</li>
116 </ul>
117
118
119
120
121 <h2>Bugs</h2>
122 <p>
123 Comes included from the start ...
124 </p>
125 <p>
126 There's no grand bug tracking system setup for this project. If the application doesn't work as expected, 
127 feel free to send me an e-mail, or post a message in 
128 <a href="https://garage.maemo.org/forum/forum.php?forum_id=6070">the forum</a>
129 here at garage.maemo.org.
130 </p>
131 <p>
132 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).
133 </p>
134
135
136
137
138 <h2>Source</h2>
139 <p>
140 Is available, get it with <code>git clone https://vcs.maemo.org/git/wifi-assistant</code> or 
141 <a href="https://garage.maemo.org/plugins/ggit/browse.php/?p=wifi-assistant">you could browse it online</a>. 
142 There's more info at the <a href="https://garage.maemo.org/scm/?group_id=1777">SCM page</a>.
143 </p>
144
145
146
147
148 <h2>License</h2>
149 <p>
150 This application is free to use, inspect, adapt and share, licensed under a BSD type license.
151 </p>
152
153
154
155
156 <h2>Thanks</h2>
157 <p>
158 To Lisa, Anton and Leia who support me (kind of) while I'm up late etc.   
159 </p>
160 <p>
161 A big thanks to Andrew Flegg (Jaffa) - the build files for this application are extremely similar 
162 to those used for the excellent anti-blue man syndrome application 
163 <a href='http://hermes.garage.maemo.org/'>Hermes</a>.
164 </p>
165
166
167
168
169 <h2>Donate</h2>
170 <div style='margin-right: 1em; float: left'>
171 <script type="text/javascript">
172         var flattr_url = 'http://wifi-assistant.garage.maemo.org';
173 </script>
174 <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
175 </div>
176 <div style='margin-right: 1em; float: left'>
177 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
178 <input type="hidden" name="cmd" value="_s-xclick">
179 <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHTwYJKoZIhvcNAQcEoIIHQDCCBzwCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYAecLpyRqOSiQZU0sqn0GBJ3CnQJPh9cqgJKKXM+uTu5DwdNz/14F5EsCQ4s6XzCwl/tqB0H4xFJtveuc4mMz1rNOd3IRQKUu26m8B2P39NE6Q7rM9y2YjlyesuorYCUi/NfrGDGjtVQ3BC+8+dK8mgn2poTgpN1/0WKVS4CmDASjELMAkGBSsOAwIaBQAwgcwGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIUq9/+YFJ//aAgagOW+juKo9KyYwSiePAEZ9EH2Q8f5SxQfQ81Hx+9i8S82ME+qH11YaCbsIBs3d42yCLUnvvHNxKzFnCD2AWxsOzrv81W53Zll+XgDsGFsws3jXw+hfb0b3ckLC7eDd2nEuiXeGGdRHHLGKRCV9xxbT0oPg8VbsgqNU0i9+wWUkgz5033bC6EtOkKTkURtt0CUvmUSAIc5XoU5DmYWHHAG/lYXR8BJOODKWgggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGoh11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjge4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUpIGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFSE+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHwYRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIyfmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMDA3MjgyMjU4NDlaMCMGCSqGSIb3DQEJBDEWBBQmttbZ4YJ0YIZ8ncTjD7ikKaAHkDANBgkqhkiG9w0BAQEFAASBgJKyukAmnWEaCFp9fQspvYBAW0xND52d/DaEJwuo8Yhbg4r03O8F0wk+Q7gn8zdcmQu77hcIe/Xf7vJtHPEdJfuivWfpWufuxX2nvlk/42QVqdsmvp0qDWUI/H23+uIqL3QcJrLmPqkc0jZKtCyI8uNl+uAfOzBAn3DvnHz/b7Qn-----END PKCS7-----
180 ">
181 <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!">
182 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
183 </form>
184 </div>
185
186 <p>
187 You could either simply donate to PayPal, or Flattr this project - either way: thanks for your support!
188 </p>
189
190
191
192
193
194 <h2>Ideas</h2>
195 <dl>
196 <dt>Detect login page when connected to new network</dt>
197 <dd>This is fairly easy to do - simply make a HTTP HEAD request for a known static resource on the web. 
198 If you get anything but a HTTP 200 in return, that network has a captive portal (or the connection was lost etc).</dd>
199
200 <dt>Detect URL needed to autologin</dt>
201 <dd>The best idea I have right now is to setup a local proxy. The way to operate this would be to:
202 <ol>
203 <li>"Open browser and record URLs" button clicked</li>
204 <li>a HTTP proxy is setup, the browser is setup to use that proxy</li>
205 <li>browser is launched</li>
206 <li>user logs in at the portal page</li>
207 <li>user switches to Wifi Assistant, clicks "Turn off URL recording"</li>
208 <li>proxy is shut down, browser (system) settings reverted to previous settings</li>
209 <li>user looks at list of recorded URLs</li>
210 <li>user selects URL to use when being connected to this network next time</li> 
211 </ol>
212 </dd>
213 </dl>
214
215 <h2>More Screenshots</h2>
216
217 <p>These are not really needed to explain how the program works.</p>
218
219 <div><img class='screenshot' src='gfx/screenshot-menu.png' /></div>
220 <div><img class='screenshot' src='gfx/screenshot-delete.png' /></div>
221 <div><img class='screenshot' src='gfx/screenshot-launch-settings-empty.png' /></div>
222 <div><img class='screenshot' src='gfx/screenshot-about.png' /></div>
223
224 </body>
225 </html>