McGill Wireless

Posted March 21, 2006 in Code

At McGill, our wireless network requires a web-based log-in. That is, the first web request results in an authentication web page being presented to the user. After the user types in a valid username and password, some voodoo is performed, and an authentication succeeded page is displayed.

There are two enormous annoyances:

  • No Internet is available over any port until the web page has been visited. I'm constantly frustrated: email, VNC, ssh... none work. I haven't looked into how feasible it is to write an if-up.d script to automate the log-in.
  • After typing in a web page and hitting Enter, the authentication web page intercepts; the original web page the user typed in is never presented. This is especially annoying because the URL of the authentication succeeded page actually contains the originally-typed web page as a GET parameter. Why don't they just use a simple HTTP redirect and save thounsands of students the trouble?

One day a flash hit me, and I realized I could solve the second problem (which I'll admit only exists because of the first, which is still annoying) in ten minutes, using an Epiphany extension. It had been a shameful while since I'd last written one, but my sample-python-location.py example was extremely close to what I wanted.

I just created the following in my ~/.gnome2/epiphany/extensions, and enabled the extension through the extensions manager:

redirect-mcgill-wireless.py:

redirect-mcgill-wireless.xml:



        Redirect McGill Wireless
        Redirects from McGill's wireless page
        Adam Hooper <adamh@densi.com>
        http://www.gnome.org/projects/epiphany/extensions.html
        1
        epiphany-extensions-1.6
        /opt/mozilla-1.7/share/locale
        
                redirect-mcgill-wireless
        
]]>