added test for per SSID URL in GConf
[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 .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 <a name='roadmap'><!-- #roadmap --></a>
99 <h2>Roadmap</h2>
100 <ul id='roadmap'>
101         <li class='done'>Daemon that launches browser</li>
102         <li class='done'>GUI app where you can change settings</li>
103         <li class='done'>Add and remove settings</li>
104         <li>Upload wifi-assistant to Extras, <span class='done'put up a note on maemo.org forum</span></li>
105         <li>Handles SSID/Network names with spaces in them</li>
106         <li>Ability to specify URL to launch, per SSID/Network name</li>
107         <li>Detect if the net is locked down or not
108         (useful for networks which gives you one day access - you only want the browser launched once per day)</li>
109         <li>Have the network settings sorted alphabetically</li>
110         <li>Daemon work:
111                 <ul>
112                 <li>Let the GUI app launch daemon if it's not running</li>
113                 <li>Change listenting to changes in gconf to using dbus</li>
114                 </ul>
115         </li>
116         <li>Implement Ideas (below)</li>
117 </ul>
118
119
120
121
122 <a name='bugs'><!-- #bugs --></a>
123 <h2>Bugs</h2>
124 <p>
125 Comes included from the start ...
126 </p>
127 <p>
128 If you've found a bug I'd love to hear about it and have it fixed so the application improves!
129 There are basically three way in which you can contribute:
130 </p>
131 <ul>
132 <li>Send me an email (fredrik&#64;wendt&#46;se)</li>
133 <li>Put up a post about it <a href="http://talk.maemo.org/showpost.php?p=782524">on this thread</a> at talk.maemo.org (a forum)</li>
134 <li>Enter a bug or feature request in the <a href="https://bugs.maemo.org/enter_bug.cgi?product=Wifi%20Assistant">bug tracking system</a></li>
135 </ul>
136 <p>
137 Either way - your contribution is greatly appreciated!
138 </p>
139 <p>
140 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).
141 </p>
142
143
144
145
146 <a name='source'><!-- #source --></a>
147 <h2>Source</h2>
148 <p>
149 It's all written in Python and the source is available for download - you can either get it with 
150 <code>git clone https://vcs.maemo.org/git/wifi-assistant</code> or 
151 <a href="https://garage.maemo.org/plugins/ggit/browse.php/?p=wifi-assistant">browse it online</a>. 
152 There's more info at the <a href="https://garage.maemo.org/scm/?group_id=1777">SCM page</a>.
153 </p>
154 <p>
155 Contributions are of course very welcome!
156 </p>
157
158
159
160
161 <a name='license'><!-- #license --></a>
162 <h2>License</h2>
163 <p>
164 This application is free to use, inspect, adapt and share, licensed under a BSD type license.
165 </p>
166
167
168
169
170 <h2>Thanks</h2>
171 <p>
172 To Lisa, Anton and Leia who support me (kind of) while I'm up late etc.   
173 </p>
174 <p>
175 A big thanks to Andrew Flegg (Jaffa) - the build files for this application are extremely similar 
176 to those used to build the excellent anti "blue man syndrome" application 
177 <a href='http://hermes.garage.maemo.org/'>Hermes</a>.
178 </p>
179
180
181
182
183 <h2>Donate</h2>
184 <div style='margin-right: 1em; float: left'>
185 <script type="text/javascript">
186         var flattr_url = 'http://wifi-assistant.garage.maemo.org';
187 </script>
188 <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
189 </div>
190 <div style='margin-right: 1em; float: left'>
191 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
192 <input type="hidden" name="cmd" value="_s-xclick">
193 <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
194 ">
195 <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!">
196 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
197 </form>
198 </div>
199
200 <p>
201 You could either simply donate via PayPal, or Flattr this project - either way: thanks for your support!
202 </p>
203
204
205
206
207 <a name='ideas'><!-- #ideas --></a>
208 <h2>Ideas</h2>
209 <dl>
210 <dt>Detect login page when connected to new network</dt>
211 <dd>This is fairly easy to do - simply make a HTTP HEAD request for a known static resource on the web. 
212 If you get anything but a HTTP 200 in return, that network has a captive portal (or the connection was lost etc).</dd>
213
214 <dt>Detect URL needed to autologin</dt>
215 <dd>The best idea I have right now is to setup a local proxy. The way to operate this would be to:
216 <ol>
217 <li>"Open browser and record URLs" button clicked</li>
218 <li>a HTTP proxy is setup, the browser is setup to use that proxy</li>
219 <li>browser is launched</li>
220 <li>user logs in at the portal page</li>
221 <li>user switches to Wifi Assistant, clicks "Turn off URL recording"</li>
222 <li>proxy is shut down, browser (system) settings reverted to previous settings</li>
223 <li>user looks at list of recorded URLs</li>
224 <li>user selects URL to use when being connected to this network next time</li> 
225 </ol>
226 </dd>
227 </dl>
228
229
230
231
232 <h2>More Screenshots</h2>
233
234 <p>These are not really needed to explain how the program works.</p>
235
236 <div><img class='screenshot' src='gfx/screenshot-menu.png' /></div>
237 <div><img class='screenshot' src='gfx/screenshot-delete.png' /></div>
238 <div><img class='screenshot' src='gfx/screenshot-launch-settings-empty.png' /></div>
239 <div><img class='screenshot' src='gfx/screenshot-about.png' /></div>
240
241 </body>
242 </html>