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 ]