Blog WIFIonICE auto login
authorJoerg Jaspert <joerg@debian.org>
Thu, 23 Feb 2017 20:40:55 +0000 (21:40 +0100)
committerJoerg Jaspert <joerg@debian.org>
Thu, 23 Feb 2017 20:45:06 +0000 (21:45 +0100)
_posts/2017-02-23-automated-wifi-login.md [new file with mode: 0644]

diff --git a/_posts/2017-02-23-automated-wifi-login.md b/_posts/2017-02-23-automated-wifi-login.md
new file mode 100644 (file)
index 0000000..e234a46
--- /dev/null
@@ -0,0 +1,53 @@
+---
+layout: post
+title: "Automated wifi login"
+published: true
+categories:
+- tech
+tags:
+- wifi
+- network-manager
+- dispatcher.d
+- script
+- bash
+date: '2017-02-23 22:32:42 +0200'
+---
+If you have the _fortune_ to need to follow some silly "Login" button
+for some wifi, regularly, the following little script may help you
+avoid this idiotic (and useless) task.
+
+This example uses the _WIFIonICE_, the free wifi on german ICE trains,
+simply as I have it twice a day, and got annoyed by the pointless
+Login button. A friend pointed me at just wget-ting the login page, so
+I made Network-Manager do this for me. Should work for anything
+similar that doesn't need some elaborate webform filled out.
+
+{% highlight bash %}
+#!/bin/bash
+
+# (Some) docs at
+# https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/
+
+IFACE=${1:-"none"}
+ACTION=${2:-"up"}
+
+case ${ACTION} in
+    up)
+        CONID=${CONNECTION_ID:-$(iwconfig $IFACE | grep ESSID | cut -d":" -f2 | sed 's/^[^"]*"\|"[^"]*$//g')}
+        if [[ ${CONID} == WIFIonICE ]]; then
+            /usr/bin/timeout -k 20 15 /usr/bin/wget -q -O - http://www.wifionice.de/?login > /dev/null
+        fi
+        ;;
+    *)
+        # We are not interested in this
+        :
+        ;;
+esac
+{% endhighlight %}
+
+This script needs to be put into _/etc/NetworkManager/dispatcher.d_
+and made executable, owned by the root user. It will run on every
+connection change, thats why the ACTION is checked. The case may be a
+bit much here, but it could be easily extended to do a lot more.
+
+Yay, no more silly "Open this webpage and press login" crap.