Wifi Assistant

(work in progress)
m (Reverted edits by 194.71.19.187 (Talk) to last revision by 106.66.169.95)
 
(23 intermediate revisions not shown)
Line 1: Line 1:
-
<h1>Wifi Jail Breakout Assistant</h1>  
+
[[Image:Wifi-assistant-icon.png]]
 +
This page is about the application known as Wifi Assistant.
 +
  'This page is about the application known as Wifi Assistant.
 +
This page is about the application known as Wifi Assistant.
 +
This page is about the application known as Wifi Assistant.
 +
This page is about the application known as Wifi Assistant.
 +
This page is about the application known as Wifi Assistant.
   
   
-
'''This page is being moved here from wifi-assistant.garage.maemo.org today, January 5th 2011'''
+
 
 +
 
 +
This application aims to help make life easier when connecting your'll
 +
 
 +
===Connected to network===
 +
 
   
   
-
+
When you're connected to a "new" network, you get this popup which asks you if you want to launch a browser. Simply press Yes or No to open a new browser window. The next time you connect to that network, the same action will be take (open or not open a browser window),  
-
<h2>About</h2>
+
-
<h3>What?</h3>
+
-
<p>
+
-
This application aims to help make life easier when connecting your Nokia N900 to wifi networks (WLAN) that
+
-
requires you to visit a captive portal (login) page before you can access the Internet.
+
-
</p>
+
-
+
-
<h3>Why?</h3>
+
-
<p>
+
-
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.
+
-
Nokia doesn't supply this feature and when asked for, it's out of scope for the N900.
+
-
</p>
+
-
+
-
+
-
+
-
+
-
+
-
<h2>How it works and Screenshots</h2>
+
-
<h3>Connected to network</h3>
+
-
<p>
+
-
When you're connected to a "new" network, you get this popup which asks you if you want to launch a browser.  
+
-
Simply press Yes or No to open a new browser window.
+
-
The next time you connect to that network, the same action will be take (open or not open a browser window),  
+
unless you untick the "Remember this decision" checkbox. (You'd get the same popup each time instead.)
unless you untick the "Remember this decision" checkbox. (You'd get the same popup each time instead.)
-
<div><img class='screenshot' src='gfx/screenshot-popup.jpg' /></div>
+
 
-
</p>
+
[[Image:wifi-assistant-screenshot-popup.jpg|frame|center|alt=Screenshot of Wifi Assistant popup|Wifi Assistant popup]]
 +
 
 +
===Network Settings=7==
   
   
-
<h3>Network Settings</h3>
+
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) you get a list of all the networks we've used and whether to launch a browser or not. You can change the settings by tapping the line you want to change.
-
<p>
+
 
-
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)  
+
[[Image:wifi-assistant-screenshot-launch-list.png|frame|center|alt=Screenshot of Wifi Assistant launch list|Launch list]]
-
you get a list of all the networks we've used and whether to launch a browser or not.
+
 
-
You can change the settings by tapping the line you want to change.
+
[[Image:wifi-assistant-screenshot-launch-settings.png|frame|center|alt=Screenshot of Wifi Assistant launch settings|Launch settings]]
-
<div><img class='screenshot' src='gfx/screenshot-launch-list.png' /></div>
+
[http://www.example.com link title]
-
<div><img class='screenshot' src='gfx/screenshot-launch-settings.png' /></div>
+
q1
-
</p>
+
 
 +
===Daemon Settings===
   
   
-
<h3>Daemon Settings</h3>
+
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 networks where you've selected "Yes" previously.  
-
<p>
+
 
-
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
+
[[Image:wifi-assistant-screenshot-daemon-settings.png|frame|center|alt=Screenshot of Wifi Assistant daemon settings|Daemon settings]]
-
networks where you've selected "Yes" previously.  
+
 
-
<div><img class='screenshot' src='gfx/screenshot-daemon-settings.png' /></div>
+
==Download and Install==
-
</p>
+
 
-
+
<div style="float:right">
-
+
<imagemap>
-
+
Image:ClickToInstall.png
-
+
desc none
-
<h2>Download and Install</h2>  
+
default [http://maemo.org/downloads/product/raw/Maemo5/wifi-assistant/?get_installfile Install]
-
<p>  
+
</imagemap>
-
Get the debian package file (wifi-assistant_X.X.X_all.deb) from
+
</div>
-
<a href="http://maemo.org/packages/view/wifi-assistant/">the Maemo.org packages site</a>  
+
 
-
If you download the file using your browser, the application manager will start and you'll be asked to install the pacakge.
+
The package is available in maemo.org [[Extras]]. It can be found under "Networking" in Application Manager, or [http://maemo.org/downloads/product/raw/Maemo5/wifi-assistant/?get_installfile directly installed] from [http://maemo.org/downloads/product/Maemo5/wifi-assistant/ maemo.org Downloads].
-
</p>  
+
 
-
<p>
+
===Alternative===
-
Eventually you'll be able to download Wifi Assistant from the Extras repository, provided by Nokia/Maemo.
+
 
-
</p>
+
-
<p>
+
-
If you want to use the terminal, the commands are (requires root shell (rootsh) and wget):
+
-
<pre class='cli'>
+
-
$ sudo gainroot
+
-
# wget https.....
+
-
# dpkg -i wifi-assistant_latest.deb
+
-
</pre>
+
-
</p>
+
-
+
-
<h3>Alternative</h3>
+
-
<p>
+
You could also get the latest version from
You could also get the latest version from
-
<a href="https://garage.maemo.org/projects/wifi-assistant">this projects' garage (home)</a>.
+
[https://garage.maemo.org/projects/wifi-assistant this projects' garage (home)]. This is where I put the packages I test myself. It should not differ at all from the ones built by the Maemo build site.
-
This is where I put the packages I test myself. It should not differ at all from the ones
+
 
-
built by the Maemo build site.
+
==Roadmap==
-
</p>  
+
 
 +
* <del>Daemon that launches browser</del>
 +
* <del>GUI app where you can change settings</del>
 +
* <del>Add and remove settings</del>
 +
* <del>Upload wifi-assistant to Extras, put up a note on maemo.org forum</del>
 +
* <del>Handle SSID/Network names with spaces in them</del>
 +
* Ability to specify URL to launch, per SSID/Network name (<del>add backend support</del>, add GUI for easy configuration)
 +
* Detect if the net is locked down or not (useful for networks which gives you one day access - you only want the browser launched once per day) 
 +
* <del>Have the network settings sorted alphabetically</del>
 +
* Daemon work:
 +
** Let the GUI app launch daemon if it's not running 
 +
** Change listenting to changes in gconf to using dbus (only if this consumes less power)
 +
* Implement Ideas (below)
 +
 
 +
==Bugs==
   
   
 +
Comes included from the start ...
   
   
 +
If you've found a bug I'd love to hear about it and have it fixed so the application improves! There are basically three way in which you can contribute:
   
   
 +
* Send me an email (fredrik&#64;wendt&#46;se)
 +
* Put up a post about it [http://talk.maemo.org/showpost.php?p=782524 on this thread] at talk.maemo.org (a forum)
 +
* Enter a bug or feature request in the [https://bugs.maemo.org/enter_bug.cgi?product=Wifi%20Assistant bug tracking system]
   
   
-
<a name='roadmap'><!-- #roadmap --></a>
 
-
<h2>Roadmap</h2>
 
-
<ul id='roadmap'>
 
-
<li class='done'>Daemon that launches browser</li>
 
-
<li class='done'>GUI app where you can change settings</li>
 
-
<li class='done'>Add and remove settings</li>
 
-
<li>Upload wifi-assistant to Extras, <span class='done'put up a note on maemo.org forum</span></li>
 
-
<li>Handles SSID/Network names with spaces in them</li>
 
-
<li>Ability to specify URL to launch, per SSID/Network name</li>
 
-
<li>Detect if the net is locked down or not
 
-
(useful for networks which gives you one day access - you only want the browser launched once per day)</li>
 
-
<li>Have the network settings sorted alphabetically</li>
 
-
<li>Daemon work:
 
-
<ul>
 
-
<li>Let the GUI app launch daemon if it's not running</li>
 
-
<li>Change listenting to changes in gconf to using dbus</li>
 
-
</ul>
 
-
</li>
 
-
<li>Implement Ideas (below)</li>
 
-
</ul>
 
-
 
-
 
-
 
-
 
-
<a name='bugs'><!-- #bugs --></a>
 
-
<h2>Bugs</h2>
 
-
<p>
 
-
Comes included from the start ...
 
-
</p>
 
-
<p>
 
-
If you've found a bug I'd love to hear about it and have it fixed so the application improves!
 
-
There are basically three way in which you can contribute:
 
-
</p>
 
-
<ul>
 
-
<li>Send me an email (fredrik&#64;wendt&#46;se)</li>
 
-
<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>
 
-
<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>
 
-
</ul>
 
-
<p>
 
Either way - your contribution is greatly appreciated!
Either way - your contribution is greatly appreciated!
-
</p>
+
 
-
<p>
+
==Source==
-
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).
+
 
-
</p>
+
-
+
-
+
-
+
-
+
-
<a name='source'><!-- #source --></a>
+
-
<h2>Source</h2>
+
-
<p>
+
It's all written in Python and the source is available for download - you can either get it with  
It's all written in Python and the source is available for download - you can either get it with  
-
<code>git clone https://vcs.maemo.org/git/wifi-assistant</code> or  
+
<pre>git clone https://vcs.maemo.org/git/wifi-assistant</pre> or  
-
<a href="https://garage.maemo.org/plugins/ggit/browse.php/?p=wifi-assistant">browse it online</a>.  
+
[https://garage.maemo.org/plugins/ggit/browse.php/?p=wifi-assistant browse it online].
-
There's more info at the <a href="https://garage.maemo.org/scm/?group_id=1777">SCM page</a>.
+
 
-
</p>
+
-
<p>
+
Contributions are of course very welcome!
Contributions are of course very welcome!
-
</p>
+
 
-
+
==License==
-
+
 
-
+
-
+
-
<a name='license'><!-- #license --></a>
+
-
<h2>License</h2>
+
-
<p>
+
This application is free to use, inspect, adapt and share, licensed under a BSD type license.
This application is free to use, inspect, adapt and share, licensed under a BSD type license.
-
</p>
+
 
 +
==Thanks==
   
   
-
 
-
 
-
 
-
<h2>Thanks</h2>
 
-
<p>
 
To Lisa, Anton and Leia who support me (kind of) while I'm up late etc.   
To Lisa, Anton and Leia who support me (kind of) while I'm up late etc.   
-
</p>
+
 
-
<p>
+
A big thanks to Andrew Flegg (Jaffa) - the build files for this application are extremely similar to those used to build the excellent anti "blue man syndrome" application [http://hermes.garage.maemo.org/ Hermes].
-
A big thanks to Andrew Flegg (Jaffa) - the build files for this application are extremely similar  
+
 
-
to those used to build the excellent anti "blue man syndrome" application  
+
==Donate==
-
<a href='http://hermes.garage.maemo.org/'>Hermes</a>.
+
 
-
</p>
+
-
+
-
+
-
+
-
+
-
<h2>Donate</h2>
+
-
<div style='margin-right: 1em; float: left'>
+
-
<script type="text/javascript">
+
-
var flattr_url = 'http://wifi-assistant.garage.maemo.org';
+
-
</script>
+
-
<script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
+
-
</div>
+
-
<div style='margin-right: 1em; float: left'>
+
-
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+
-
<input type="hidden" name="cmd" value="_s-xclick">
+
-
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
+
-
">
+
-
<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!">
+
-
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
+
-
</form>
+
-
</div>
+
-
+
-
<p>
+
You could either simply donate via PayPal, or Flattr this project - either way: thanks for your support!
You could either simply donate via PayPal, or Flattr this project - either way: thanks for your support!
-
</p>
+
 
-
+
[[Image:Flattr-badge-large.png|link=http://flattr.com/thing/41709/Wifi-Jail-Breakout-Assistant]] (if the link doesn't work, please use http://flattr.com/thing/41709/Wifi-Jail-Breakout-Assistant - MediaWiki awkwardness)
-
+
 
-
+
If you want me to directly implement a feature you can't live without - contact me and we'll see if I can find the time.
-
+
 
-
<a name='ideas'><!-- #ideas --></a>
+
==Ideas==
-
<h2>Ideas</h2>
+
 
-
<dl>
+
===Detect login page when connected to new network===
-
<dt>Detect login page when connected to new network</dt>
+
 
-
<dd>This is fairly easy to do - simply make a HTTP HEAD request for a known static resource on the web.  
+
This is fairly easy to do - simply make a HTTP HEAD request for a known static resource on the web. If you get anything but a HTTP 200 in return, that network has a captive portal (or the connection was lost etc), or maybe the server is down  (if it fails could try another one first, trying to avoid one in the same country/network route; or try )
-
If you get anything but a HTTP 200 in return, that network has a captive portal (or the connection was lost etc).</dd>
+
 
-
+
===Detect URL needed to autologin===
-
<dt>Detect URL needed to autologin</dt>
+
 
-
<dd>The best idea I have right now is to setup a local proxy. The way to operate this would be to:
+
The best idea I have right now is to setup a local proxy. The way to operate this would be to:
-
<ol>
+
* "Open browser and record URLs" button clicked
-
<li>"Open browser and record URLs" button clicked</li>
+
* a HTTP proxy is setup, the browser is setup to use that proxy
-
<li>a HTTP proxy is setup, the browser is setup to use that proxy</li>
+
* browser is launched
-
<li>browser is launched</li>
+
* user logs in at the portal page
-
<li>user logs in at the portal page</li>
+
* user switches to Wifi Assistant, clicks "Turn off URL recording"
-
<li>user switches to Wifi Assistant, clicks "Turn off URL recording"</li>
+
* proxy is shut down, browser (system) settings reverted to previous settings
-
<li>proxy is shut down, browser (system) settings reverted to previous settings</li>
+
* user looks at list of recorded URLs
-
<li>user looks at list of recorded URLs</li>
+
* user selects URL to use when being connected to this network next time
-
<li>user selects URL to use when being connected to this network next time</li>
+
 
-
</ol>
+
===Support WISPr for automated login===
-
</dd>
+
 
-
</dl>
+
Builds on "detect login page"; on connection to a WISPr-enabled SSID, make a GET request, follow the redirect, retrieve a login URL for the portal, submit login credentials.
-
+
 
-
+
Probably use existing python WISPr client, https://code.google.com/p/wisprclient/source/browse/wisprclient.py, this depends on python-beautifulsoup.
-
+
 
-
+
==More Screenshots==
-
<h2>More Screenshots</h2>
+
-
+
-
<p>These are not really needed to explain how the program works.</p>
+
   
   
-
<div><img class='screenshot' src='gfx/screenshot-menu.png' /></div>
+
These are not really needed to explain how the program works.
-
<div><img class='screenshot' src='gfx/screenshot-delete.png' /></div>
+
 
-
<div><img class='screenshot' src='gfx/screenshot-launch-settings-empty.png' /></div>
+
<gallery>
-
<div><img class='screenshot' src='gfx/screenshot-about.png' /></div>
+
Image:wifi-assistant-screenshot-menu.png|Menu
 +
Image:wifi-assistant-screenshot-delete.png|Delete
 +
Image:wifi-assistant-screenshot-launch-settings-empty.png|Launch settings
 +
Image:wifi-assistant-screenshot-about.png|About
 +
</gallery>
 +
 
 +
[[Category:Software]]

Latest revision as of 08:10, 18 July 2019

Image:Wifi-assistant-icon.png This page is about the application known as Wifi Assistant.

'This page is about the application known as Wifi Assistant.
This page is about the application known as Wifi Assistant.
This page is about the application known as Wifi Assistant.
This page is about the application known as Wifi Assistant.
This page is about the application known as Wifi Assistant.


This application aims to help make life easier when connecting your'll

Contents

[edit] Connected to network

When you're connected to a "new" network, you get this popup which asks you if you want to launch a browser. Simply press Yes or No to open a new browser window. The next time you connect to that network, the same action will be take (open or not open a browser window), unless you untick the "Remember this decision" checkbox. (You'd get the same popup each time instead.)

Screenshot of Wifi Assistant popup
Wifi Assistant popup

[edit] =Network Settings=7

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) you get a list of all the networks we've used and whether to launch a browser or not. You can change the settings by tapping the line you want to change.

Screenshot of Wifi Assistant launch list
Launch list
Screenshot of Wifi Assistant launch settings
Launch settings

link title q1

[edit] Daemon Settings

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 networks where you've selected "Yes" previously.

Screenshot of Wifi Assistant daemon settings
Daemon settings

[edit] Download and Install

The package is available in maemo.org Extras. It can be found under "Networking" in Application Manager, or directly installed from maemo.org Downloads.

[edit] Alternative

You could also get the latest version from this projects' garage (home). This is where I put the packages I test myself. It should not differ at all from the ones built by the Maemo build site.

[edit] Roadmap

  • Daemon that launches browser
  • GUI app where you can change settings
  • Add and remove settings
  • Upload wifi-assistant to Extras, put up a note on maemo.org forum
  • Handle SSID/Network names with spaces in them
  • Ability to specify URL to launch, per SSID/Network name (add backend support, add GUI for easy configuration)
  • Detect if the net is locked down or not (useful for networks which gives you one day access - you only want the browser launched once per day)
  • Have the network settings sorted alphabetically
  • Daemon work:
    • Let the GUI app launch daemon if it's not running
    • Change listenting to changes in gconf to using dbus (only if this consumes less power)
  • Implement Ideas (below)

[edit] Bugs

Comes included from the start ...

If you've found a bug I'd love to hear about it and have it fixed so the application improves! There are basically three way in which you can contribute:

Either way - your contribution is greatly appreciated!

[edit] Source

It's all written in Python and the source is available for download - you can either get it with

git clone https://vcs.maemo.org/git/wifi-assistant
or

browse it online.

Contributions are of course very welcome!

[edit] License

This application is free to use, inspect, adapt and share, licensed under a BSD type license.

[edit] Thanks

To Lisa, Anton and Leia who support me (kind of) while I'm up late etc.

A big thanks to Andrew Flegg (Jaffa) - the build files for this application are extremely similar to those used to build the excellent anti "blue man syndrome" application Hermes.

[edit] Donate

You could either simply donate via PayPal, or Flattr this project - either way: thanks for your support!

(if the link doesn't work, please use http://flattr.com/thing/41709/Wifi-Jail-Breakout-Assistant - MediaWiki awkwardness)

If you want me to directly implement a feature you can't live without - contact me and we'll see if I can find the time.

[edit] Ideas

[edit] Detect login page when connected to new network

This is fairly easy to do - simply make a HTTP HEAD request for a known static resource on the web. If you get anything but a HTTP 200 in return, that network has a captive portal (or the connection was lost etc), or maybe the server is down (if it fails could try another one first, trying to avoid one in the same country/network route; or try )

[edit] Detect URL needed to autologin

The best idea I have right now is to setup a local proxy. The way to operate this would be to:

  • "Open browser and record URLs" button clicked
  • a HTTP proxy is setup, the browser is setup to use that proxy
  • browser is launched
  • user logs in at the portal page
  • user switches to Wifi Assistant, clicks "Turn off URL recording"
  • proxy is shut down, browser (system) settings reverted to previous settings
  • user looks at list of recorded URLs
  • user selects URL to use when being connected to this network next time

[edit] Support WISPr for automated login

Builds on "detect login page"; on connection to a WISPr-enabled SSID, make a GET request, follow the redirect, retrieve a login URL for the portal, submit login credentials.

Probably use existing python WISPr client, https://code.google.com/p/wisprclient/source/browse/wisprclient.py, this depends on python-beautifulsoup.

[edit] More Screenshots

These are not really needed to explain how the program works.