DynDNS Auto-Login

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 ]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.