#!/bin/sh # # ozforces.sh v 0.1 # # Bash script to look up OzForces ADSL connection data # OzForces is an Australian ISP, and the only interface is an HTTPS website # The script returns two lines: upload and download, in MB # # by Colin Verot colin@verot.net # # this script is free to use, just keep the copyright notice # # http://isp.ozforces.com/base/evw_radsession.jsp?showMB=yes&username=0395372723@ozforces.com.au&orgDn=o=OzForces,ou=Clients,o=DOT­V usr=myusername pwd=mypassword cookies="/tmp/$(basename $0).$RANDOM.txt" cookies2="/tmp/$(basename $0).$RANDOM.tmp" params="-s -b $cookies -c $cookies" # can add -v for debug, or remove -s for feedback agent="Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.1) Gecko/20060305 Firefox/1.5.0.1" # we log in, and get the key key=`curl $params -A "$agent" -d "EvwIspDn=o%3DOzForces%2Cou%3DClients%2Co%3DDOTV&username=$usr&password=$pwd" https://isp.ozforces.com/frameset.vps | grep -o 'CgiTree\?.*" name' | sed -e 's/CgiTree?//' -e 's/" name//'` # we load the splash page splash=`curl $params -A "$agent" -G -e https://isp.ozforces.com/frameset.vps -d "ispDn=o%3DOzForces%2Cou%3DClients%2Co%3DDOTV" https://isp.ozforces.com/splash.jsp` # we go through the menu tree=`curl $params -A "$agent" -e https://isp.ozforces.com/frameset.vps -G -d "$key" https://isp.ozforces.com/cgi-bin/CgiTree` tree=`curl $params -A "$agent" -G -d "$key+E2" https://isp.ozforces.com/cgi-bin/CgiTree` tree=`curl $params -A "$agent" -G -d "$key+E8" https://isp.ozforces.com/cgi-bin/CgiTree` frameright=`curl $params -A "$agent" -G -d "$key+V8" https://isp.ozforces.com/cgi-bin/CgiTree | grep -o 'location=".*";' | sed -e 's/location=//' -e 's/";//'` # we change the cookie's path sed -e 's/\//\/product\/extensions\/dialup\//g' < $cookies > $cookies2 && mv $cookies2 $cookies # we get the accounts page page=`curl $params -A "$agent" -G -e https://isp.ozforces.com/cgi-bin/CgiTree?$key+V8 -d "sessionkey=$key¤tTreeNodeId=8&parentTreeNodeId=2" https://isp.ozforces.com/product/extensions/dialup/installedConfig.vps` # we carry on in the menu frameright=`curl $params -A "$agent" -G -d "$key+V9" https://isp.ozforces.com/cgi-bin/CgiTree | grep -o 'location=".*";' | sed -e 's/location=//' -e 's/";//'` # we get the page at last page=`curl $params -A "$agent" -G -e https://isp.ozforces.com/cgi-bin/CgiTree?$key+V9 -d "sessionkey=$key¤tTreeNodeId=9&parentTreeNodeId=8" https://isp.ozforces.com/product/extensions/dialup/dialupAccount.vps` # we parse the page to get the data upload=`echo $page | grep -o 'Current Period: .* MB upload' | sed -e 's/Current Period: //' -e 's/ MB upload//'` download=`echo $page | grep -o 'upload, .* MB download' | sed -e 's/upload, //' -e 's/ MB download//'` echo $upload echo $download rm $cookies