Bash script om TV factuur te versturen naar bhaalu.
Geplaatst: 15 aug 2014, 13:57
Bij bhaalu had je vroeger de optie om uw provider login gegevens op te geven zodat zij automatisch uw abonnement konden controleren. Nu moet je elke maand uw factuur doorsturen in pdf formaat en dat vind ik onhandig.
Daarom heb ik een bash scriptje geschreven die mijn factuur ophaalt bij telenet en doorstuurt naar bhaalu via email. Dit script draait op mijn openwrt router en word maandelijks 1x uitgevoerd via een cronjob. Zo heb ik hier ook niet meer naar omkijken.
Dit script wil ik delen zodat jullie het ook kunnen gebruiken, verbeteren, uitbreiden of aanzetten tot andere ideeën
Voor het verzenden van de mail word gebruikt gemaakt van msmtp en mutt. Msmtp moet geconfigureerd worden om om mail te kunnen versturen en belangrijk daarbij is dat je je mail verstuurd vanaf het zelfde adres als je bhaalu account zodat de factuur gelinkt kan worden aan uw bhaalu account.
Dit is vrij basic login, download en verstuur mail. Fouttolerant is het nog niet (mijntelenet niet beschikbaar bijv.), daarvoor moeten nog extra controles toegevoegd worden.
Daarom heb ik een bash scriptje geschreven die mijn factuur ophaalt bij telenet en doorstuurt naar bhaalu via email. Dit script draait op mijn openwrt router en word maandelijks 1x uitgevoerd via een cronjob. Zo heb ik hier ook niet meer naar omkijken.
Dit script wil ik delen zodat jullie het ook kunnen gebruiken, verbeteren, uitbreiden of aanzetten tot andere ideeën

Voor het verzenden van de mail word gebruikt gemaakt van msmtp en mutt. Msmtp moet geconfigureerd worden om om mail te kunnen versturen en belangrijk daarbij is dat je je mail verstuurd vanaf het zelfde adres als je bhaalu account zodat de factuur gelinkt kan worden aan uw bhaalu account.
Dit is vrij basic login, download en verstuur mail. Fouttolerant is het nog niet (mijntelenet niet beschikbaar bijv.), daarvoor moeten nog extra controles toegevoegd worden.
Code: Selecteer alles
#!/bin/bash
USERNAME="telenet_login"
PASSWORD="telenet_passwoord"
TO="[email protected]"
UA='Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:34.0) Gecko/20100101 Firefox/34.0'
#login.
curl -s -k -A '$UA' -o /dev/null -c cookies -X POST \
-d "appid=mijntelenet_cms" \
-d "language=nl" \
-d "option.requestAuthCookie=false" \
-d "uid=$USERNAME" \
-d "pwd=$PASSWORD" \
-L https://www.telenet.be/sso/ext/signon.do
#Haal OTP token op.
nonce=$( curl -s -k -A '$UA' -b cookies -c cookies -L https://mijn.telenet.be/mijntelenet/billing/billingOverview.do | grep -o "[a-z0-9]\{64\}" )
#Zoek BillId laatste factuur.
billId=$(curl -s -k -A '$UA' -b cookies -c cookies \
-d "event=check" \
-d "valid=true" \
-d "nonce=$nonce" \
-d "goto=https://mijn.telenet.be/mijntelenet/billing/billingOverview.do" \
-L https://mijn.telenet.be/mijntelenet/session/sso.do | grep -o -m 1 "[0-9]\{9\}_[0-9]\{1\}" )
sleep 2
#Download laatste factuur.
curl -s -k -A '$UA' -o $billId.pdf -b cookies -d "billId=$billId" -L https://mijn.telenet.be/mijntelenet/billing/billingDocument.do
#Zend mail naar bhaalu.
echo "" | mutt -a "$billId.pdf" -- $TO
#Opkuis.
rm cookies $billId.pdf