Folgendes Skript automatisiert das Login im Account von DynDNS.org.
Man muss nur noch den Usernamen und das Passwort eintragen:
#!/bin/bash ######################################################################## # # dyndnslogin # Automate login to prevent account expiration # ######################################################################## ######################################################################## # DynDNS Settings (default-value, overwrite with $1 and $2) DEFAULT_USERNAME="username" DEFAULT_PASSWORD="password" # Import settings from /etc/ddclient.conf if available DDCONF="/etc/ddclient.conf" if [ -r "$DDCONF" ] && grep -q "^server=members.dyndns.org" "$DDCONF" then DEFAULT_USERNAME="`awk -F= '/^login=/{ print $2 }' $DDCONF`" DEFAULT_PASSWORD="`awk -F= '/^password=/{ print $2 }' $DDCONF`" fi ######################################################################## # Variabeln USERNAME=${1:-$DEFAULT_USERNAME} PASSWORD=${2:-$DEFAULT_PASSWORD} PROGNAME=dyndnslogin COOKIE=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_cookie_XXXXX` OUTPUT=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_output_XXXXX` USERAGENT="Mozilla/5.0" ######################################################################## # Main MULTIFORM=`curl -s -A $USERAGENT -c $COOKIE <a href="https://account.dyn.com" target="blank">https://account.dyn.com</a> | awk -F' '/multiform/{ print $6 }'` curl -s --location -A "$USERAGENT" -b $COOKIE -c $COOKIE -o $OUTPUT --data "username=$USERNAME&password=$PASSWORD&iov_id=&submit=Log+in&multiform=$MULTIFORM" <a href="https://account.dyn.com/" target="blank">https://account.dyn.com/</a> if grep -i -E "(Welcome|Hi).*$USERNAME" $OUTPUT > /dev/null 2>&1 then echo Login successful else echo Login failed FAILED="true" fi rm $COOKIE rm $OUTPUT if [ "$FAILED" = "true" ] then exit 1 fi # EOF |
Nach dem Ausführen erhält man die Rückmeldung, ob das Login funktioniert hat oder nicht.
Dieser Code gibt es auch im [https://raw.github.com/mindfuckup/Scripts/master/dyndnslogin|Scripts Git Repository] von Emanuel Duss.
Automatisieren
Mit crontab -e bearbeitet man die Crontab und fügt dort folgende Zeile ein:
5 23 <em> </em> 0 /usr/local/bin/dyndnslogin |
Somit wird an jedem Sonntag um 23:05h ein Login im DynDNS.org Account gemacht.
Quelle: emanuelduss.ch – [http://emanuelduss.ch/2013/05/zwingender-monatlicher-login-bei-dyndns-org-automatisieren/|Zwingender monatlicher Login bei DynDNS.org automatisieren ]