Har sedan ett tag tillbaka börjat pendla med SJ. Med svart SJ Prio kort ingår Internet, men man måste gå igenom deras relativt omständiga inloggnings-process varje gång.
Följande kod fungerar rakt av på Ubuntu, men kan säkerligen modifieras för att fungera på dom flesta nix-relaterade OS.
Börja med att skapa ett script enligt nedan, som lämpligen döps till
sj.sh och lägg det i en lämplig katalog, tex
/usr/bin/.
#!/bin/bash
#Set these variables!
PRIOCARD="97522102XXXXXXXX";
CARDPASS="XXXX";
#There is normally no need to modify anything below...
URL="https://www.ombord.info/hotspot/hotspot.cgi";
AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142 Safari/535.19";
HOST="Host:www.ombord.info";
ORG="Origin:http://ombord.sj.se";
REF="Referer:http://ombord.sj.se";
POSTDATA="language=&username=$PRIOCARD&method=login&realm=sj_otp_prio_black&password=$CARDPASS";
curl -d $POSTDATA -A "$AGENT" -H "$HOST" -H "$ORG" -H "$REF" -c - $URL
Gör scriptet exekverbart (chmod +x /usr/bin/sj.sh).
Du kan nu testa att logga in om du sitter på ett tåg och är uppkopplad mot SJs trådlösa nät.
Kör /usr/bin/sj.sh och se om du blir inloggad.
Om det fungerade fint, kan vi nu automatisera det hela ännu mer.
Skapa ett script som lämpligen heter
66SJ i följande katalog
/etc/NetworkManager/dispatcher.d.
#!/bin/sh
IF=$1
STATUS=$2
MYIF="wlan0"
SJSCRIPT=/usr/bin/sj.sh
wait_for_process() {
PNAME=$1
PID=`/usr/bin/pgrep $PNAME`
while [ -z "$PID" ]; do
sleep 3;
PID=`/usr/bin/pgrep $PNAME`
done
}
sj_login() {
wait_for_process nm-applet
echo "Logging in to SJ"
$SJSCRIPT 2>&1
}
if [ "$IF" = "$MYIF" ] && [ "$STATUS" = "up" ]; then
ESSID="`iwconfig $IF 2>&1 | grep ESSID | sed -e's/.*ESSID:"\(.*\)"/\1/' -e's/ //g'`"
case "$ESSID" in
'SJ')
# Login to SJ...
sj_login
;;
esac
fi
Spara filen och ändra MYIF om ditt interface för wlan inte heter
wlan0.
Nu ska du bli automatiskt inloggad så fort du sätter på datorn på ett av SJs tåg med Internet.
Sen kan man reflektera över hur mycket det är värt. Själv har jag nästan ständigt mer tillförlitlig mottagning med Telenor, men det kan ju variera med olika sträckor.