Am Dienstag, den 28.05.2013, 15:26 +0200 schrieb Sascha Reißner: > ..., hab ich mein Script etwas überarbeitet, ... aber nicht angehängt. Hier nun das Script: #!/bin/bash # source the configfile from ddclient for login and password . /etc/ddclient.conf 2> /dev/null if [ ${#login} -eq 0 ] ; then echo "no login set. aborted" exit 1 fi if [ ${#password} -eq 0 ] ; then echo "no password set. aborted" exit 1 fi cookies=`mktemp --tmpdir dyndns-cookie-XXXXXXXX` login_page=`mktemp --tmpdir dyndns-login-XXXXXXXX` account_page=`mktemp --tmpdir dyndns-account-XXXXXXXX` # get the login-page wget -q -O ${login_page} --save-cookies ${cookies} https://account.dyn.com/entrance/ # search the login-page for multiform-ID found=0 multi='' while read line; do if [ `egrep -c "<form id='login" <<< $line` -gt 0 ] ; then found=1; fi if [ `egrep -c "</form>" <<< $line` -gt 0 ]; then found=0; fi if [ `egrep -c "multiform" <<< $line` -gt 0 -a $found -eq 1 ]; then multi=`sed -e "s/.*value='\([[:alnum:]]*\)'.*/\1/" <<< $line` fi done < ${login_page} # login to dyndns wget -q -O ${account_page} --load-cookies ${cookies} --post-data="username=${login}&password=${password}&multiform=${multi}" https://account.dyn.com/entrance/ # look if login was successfully success=`grep -c -E "Welcome.*${login}" "${account_page}"` if [ ${success} -eq 0 ] ; then echo "an error occurred while login at dynDNS. aborted" exit 1 fi # logout from dyndns wget -q -O /dev/null --load-cookies ${cookies} https://account.dyn.com/entrance/?__logout=1 # clean up temp-files rm ${login_page} rm ${account_page} rm ${cookies} echo "dynDNS login successfully" exit 0 -- mfG Sascha Gar freundliche Gesellschaft leistet uns ein ferner Freund, wenn wir ihn glücklich wissen. -- Johann Wolfgang von Goethe (Torquato Tasso IV)
Attachment:
signature.asc
Description: This is a digitally signed message part