1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Infos Monatliche DynDNS-Anmeldung per Script

Dieses Thema im Forum "Alles rund um Dyndns" wurde erstellt von mxer, 28. Mai 2013.

  1. mxer
    Offline

    mxer Moderator Digital Eliteboard Team

    Registriert:
    20. September 2008
    Beiträge:
    13.891
    Zustimmungen:
    6.216
    Punkte für Erfolge:
    113
    Sooo, wieder gebastelt.
    Von hier kam der Anschubs:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    Dort eingeklinkt und gelesen.
    Ergebnis: auf meinem Pogo läuft das Script :dance3:

    Auf dem Pogo muß erstmal für das Script die Funktion "curl" eingerichtet werden.
    Code:
    apt-get install curl
    Nach der Fertigstellung kann man das Script evtl. in /usr/script versenken. Bietet sich an, habe ich jedenfalls so gemacht.
    Das Script selber ist etwas modifiziert, erfüllt aber den gleichen Zweck.
    Code:
    #! /bin/bash
    # dyndnslogin
    # DynDNS Settings
    USERNAME="Username"
    PASSWORD="Passwort"
    
    # Variabeln
    PROGNAME=dyndnslogin
    COOKIE=/tmp/dyndnslogin_cookie
    OUTPUT=/tmp/dyndnslogin_output
    USERAGENT="Mozilla/5.0"
    
    # Main
    MULTIFORM=`curl -s -A $USERAGENT -c $COOKIE https://account.dyn.com \
      | 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" \
      https://account.dyn.com/
    
    if grep -E "Hi" $OUTPUT > /dev/null 2>&1
    then
      echo Login successful
      date >> /var/log/dyndns.log
    else
      echo Login failed
      FAILED="true"
    fi
    
    rm $COOKIE
    rm $OUTPUT
    
    if [ "$FAILED" = "true" ]
    then
      exit 1
    fi
    
    # EOF
    
    

    Nachdem Username und das PWD dafür eingetragen sind, kann man das schonmal testen.
    Es kam beim Original nur: Login failed - Weil dort die Abfrage stand: "Welcome.*$USERNAME", ist aber nicht mehr (?).

    Damit das überhaupt Sinn macht, einen neuen Cronjob erstellen.
    Als Zeit kann man ruhig wöchentlich nehmen, monatlich kann schon daneben gehen.

    Hinweis von vdrschlucke: nicht vergessen, dem Script die Attribute auf 755 zu geben!

    Habe das in meinen Crontabs hinzugefügt:
    55 23 * * 3 root /usr/script/dyndns.sh
    Somit wird das Script jeden Mittwoch um 23:55 Uhr ausgeführt.
    Bei "Login successfull" wird das Datum in ein File /var/log/dyndns.log geschrieben/ dort angehangen.

    Bin nämlich zu faul, jeden Client einzeln anzupassen, wenn DynDNS nicht mehr gehen würde.
    Und habe auch keine Lust, da mich monatlich einmal einzuklinken, damit der Account/ Hostname erhalten bleibt :dance3:

    Man beachte:
    [​IMG]
    Weitere Scripte zum Thema hier verlinkt:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    Variante B

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    Variante C

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    Variante D

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    Windows

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    mit Mail

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    in Phyton


    Mehr Spaß im Glas: für Dreams etc. gibts das Script auch seit heute.

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

     
    Zuletzt bearbeitet: 24. November 2013
    #1
  2. phantom

    Nervigen User Advertisement

  3. GreatJo
    Offline

    GreatJo Hacker

    Registriert:
    15. Januar 2011
    Beiträge:
    492
    Zustimmungen:
    200
    Punkte für Erfolge:
    43
    AW: Monatliche DynDNS-Anmeldung per Script

    Jetzt hieße es nur noch die FritzBox anbeter zufrieden zu stellen!
    Wie kann der Befehl curl, den die meisten Freetz-Images nicht zur Verfügung stellen,
    durch wget ersetzt werden?
    awk und grep ist an Board.

    Für Hilfe wäre ich dankbar.

    Gruß
     
    #2
  4. mxer
    Offline

    mxer Moderator Digital Eliteboard Team

    Registriert:
    20. September 2008
    Beiträge:
    13.891
    Zustimmungen:
    6.216
    Punkte für Erfolge:
    113
    AW: Monatliche DynDNS-Anmeldung per Script

    Müßte mit implementiert werden.
    Kann ich aber nicht sagen, ob das per Freetz geht.
    Mal rolu2 oder Gismotro anschubsen, die haben da mehr Plan, als ich.

    Mit wget geht das niht, da braucht man andere Parameter dahinter.
     
    #3
    GreatJo gefällt das.
  5. GreatJo
    Offline

    GreatJo Hacker

    Registriert:
    15. Januar 2011
    Beiträge:
    492
    Zustimmungen:
    200
    Punkte für Erfolge:
    43
    AW: Monatliche DynDNS-Anmeldung per Script

    Der Programmierer meint das ginge, aber ich vermute auch mit anderen Parametern.
    Bisher hat Emanuel dazu nichts mehr geschrieben.
    Wäre vll ein Fall für superhansi, der kennt sich damit aus.
    Wenn du was von rolu2 oder gismotro hörst lass es mich bitte wissen.

    Gruß
    GreatJo
     
    #4
  6. Gismotro
    Offline

    Gismotro Moderator Digital Eliteboard Team

    Registriert:
    22. Februar 2012
    Beiträge:
    7.057
    Zustimmungen:
    4.010
    Punkte für Erfolge:
    113
    Ort:
    Freetztown
    AW: Monatliche DynDNS-Anmeldung per Script

    Ich schau mir das mal an.

    Freetz kann CURL (Curl 7.30.0 (binary only))

    Ich bau mal ein Testimage
     
    Zuletzt bearbeitet: 29. Mai 2013
    #5
    un4given, szonic und mxer gefällt das.
  7. jachrima
    Offline

    jachrima Ist oft hier

    Registriert:
    27. Dezember 2008
    Beiträge:
    134
    Zustimmungen:
    42
    Punkte für Erfolge:
    28
    AW: Monatliche DynDNS-Anmeldung per Script

    Nur mal eine Frage dazu, wäre es auch möglich die cURL binary (mipsel) nachträglich auf den Stick zu kopieren und somit ein Neuflashen zu verhindern? Wenn ja, hat jemand eine cURL binary (mipsel Struktur für FB 7141, 7170, etc.) und kann diese hier zum Testen zur Verfügung stellen?

    Danke und Gruß,

    Jachrima
     
    #6
  8. Gismotro
    Offline

    Gismotro Moderator Digital Eliteboard Team

    Registriert:
    22. Februar 2012
    Beiträge:
    7.057
    Zustimmungen:
    4.010
    Punkte für Erfolge:
    113
    Ort:
    Freetztown
    AW: Monatliche DynDNS-Anmeldung per Script

    Vielleicht will es ja mal einer testen:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    Code:
    installing packages
      syslogd-cgi-0.2.3 ............    3.12 Kb
      inetd-0.2 ....................    2.88 Kb
      authorized-keys-0.1 ..........    2.28 Kb
      dropbear-2013.58 .............   73.27 Kb
      apache-1.3.42 ................  318.48 Kb
      apache2-2.4.4 ................  877.49 Kb
      avm-firewall-2.0.4_rc5 .......   15.88 Kb
      ccid-1.4.9 ...................   53.90 Kb
      [COLOR=#ff0000][B]curl-7.30.0 ..................  452.79 Kb[/B][/COLOR]
      dosfstools-3.0.16 ............   51.12 Kb
      e2fsprogs-1.42.7 .............  582.42 Kb
      haserl-0.9.29 ................    8.76 Kb
      ldd-0.1 ......................    4.17 Kb
      mod-1.0 ......................   99.05 Kb
      modcgi-0.3 ...................    3.41 Kb
      ntfs-2013.1.13 ...............  116.70 Kb
      opendd-0.7.9 .................   22.96 Kb
      openssh-6.2p1 ................   21.71 Kb
      pcsc-lite-1.8.8 ..............   50.82 Kb
      samba-3.0.37 .................  568.84 Kb
      vsftpd-3.0.2 .................   40.84 Kb
      wget-1.14 ....................  132.09 Kb
      tbflex-0.2.5 (addon) .........   35.91 Kb
    
     
    #7
    szonic gefällt das.
  9. xcop
    Offline

    xcop Ist gelegentlich hier

    Registriert:
    12. Oktober 2008
    Beiträge:
    36
    Zustimmungen:
    9
    Punkte für Erfolge:
    8
    AW: Monatliche DynDNS-Anmeldung per Script

    Hi,

    Ich hab das gerade mal auf nem debian ausprobiert.
    Läuft soweit.
    Wie kann ich aber den Erfolg testen?
    Sehe ich irgendwo auf der Seite von DynDNS einen lastlogon?
     
    #8
  10. GreatJo
    Offline

    GreatJo Hacker

    Registriert:
    15. Januar 2011
    Beiträge:
    492
    Zustimmungen:
    200
    Punkte für Erfolge:
    43
    AW: Monatliche DynDNS-Anmeldung per Script

    @Gismotro

    Ist das nur für die 7390 möglich, nicht für 7170?
    Vielleicht kannst du ja auch mal auf das Script selbst schauen.
    Man könnte es evtl. anpassen. Wäew dir sehr dankbar!

    Gruß
    GreatJo
     
    #9
  11. janni1
    Online

    janni1 Moderator Digital Eliteboard Team

    Registriert:
    3. Mai 2010
    Beiträge:
    4.945
    Zustimmungen:
    5.864
    Punkte für Erfolge:
    113
    AW: Monatliche DynDNS-Anmeldung per Script

    hi,
    hab hier mal was mit wget gebastelt
    Code:
    #! /bin/sh
    #ddnsweblogin
    #
    #settings
    USER="username"
    PASS="passwort"
    #
    #variables
    UA='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6'
    COOKIE=/tmp/ddnsweblogin_cookie
    OUTPUT=/tmp/ddnsweblogin_output
    PROG="ddnsweblogin"
    LOGFILE="/tmp/$PROG.log"
    
    MULTIFORM=$(wget -U "$UA" --save-cookies $COOKIE https://account.dyn.com/ -O - | grep -m1 multiform | tr '=' '\n' | tail -1 | cut -d "'" -f 2)
    wget -O $OUTPUT -U "$UA" --load-cookies $COOKIE --save-cookies $COOKIE --post-data "username=$USER&password=$PASS&iov_id&multiform=$MULTIFORM" https://account.dyn.com/
    
    TIMESTAMP=$(date +"%d.%m.%Y %H:%M:%S")
    
    if grep -E "Welcome.*$USER" $OUTPUT > /dev/null 2>&1
    then
      echo "$TIMESTAMP  Dyndns-Login successful" >> $LOGFILE
      echo Dyndns-Login successful
    else
      echo "$TIMESTAMP  Dyndns-Login failed" >> $LOGFILE
      echo Dyndns-Login failed
      FAILED="true"
     fi
     
     rm $COOKIE
     rm $OUTPUT
     
     if [ "$FAILED" = "true" ]
    then
      exit 1
    fi
    
    # EOF
    vieleicht hilft es ja dem ein oder anderen

    Gruß
    Janni1
     
    Zuletzt bearbeitet: 30. Mai 2013
    #10
    Pilot, cybergal2007, jensebub und 2 anderen gefällt das.
  12. GreatJo
    Offline

    GreatJo Hacker

    Registriert:
    15. Januar 2011
    Beiträge:
    492
    Zustimmungen:
    200
    Punkte für Erfolge:
    43
    AW: Monatliche DynDNS-Anmeldung per Script

    @janni

    Läuft bei mir nicht :(

    Gruß
     
    #11
  13. happyshare77
    Online

    happyshare77 Guest

    AW: Monatliche DynDNS-Anmeldung per Script

    Hi,

    hast Du die Datei "ausführbar" gemacht? -> chmod 755 Datei (bei Linux)

    Welche Fehlermeldung?
     
    #12
  14. janni1
    Online

    janni1 Moderator Digital Eliteboard Team

    Registriert:
    3. Mai 2010
    Beiträge:
    4.945
    Zustimmungen:
    5.864
    Punkte für Erfolge:
    113
    AW: Monatliche DynDNS-Anmeldung per Script

    was läuft denn nicht bzw. wie hast du versucht es zum Laufen zu bekommen?
    auf welchem Gerät soll das ganze den laufen bei dir?

    gruß
    janni1
     
    #13
  15. GreatJo
    Offline

    GreatJo Hacker

    Registriert:
    15. Januar 2011
    Beiträge:
    492
    Zustimmungen:
    200
    Punkte für Erfolge:
    43
    AW: Monatliche DynDNS-Anmeldung per Script

    Hallo

    Das Script soll auf einer FreetzBox 7170 laufen. Habe das Script - wie übrigens auch einige andere - mit WinSCP
    auf die Box transferiert und ihm die entsprechenden Rechte vergeben. Per Telnet habe ich dann das Script
    gestartet. Es meldet u.a. eine falsche Parametrierung von wget.
    root@fritz:/var/mod/root# sh /var/media/ftp/uStor01/tools/scripts/dynlogin.sh
    : not foundftp/uStor01/tools/scripts/dynlogin.sh: line 14:
    wget: unrecognized option `--save-cookies'
    BusyBox v1.18.4 (2011-04-28 23:37:45 CEST) multi-call binary.

    Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT][-T SEC] URL

    Retrieve files via HTTP or FTP

    Options:
    -s Spider mode - only check file existence
    -c Continue retrieval of aborted transfer
    -q Quiet
    -P DIR Save to DIR (default .)
    -T SEC Network read timeout is SEC seconds
    -O FILE Save to FILE ('-' for stdout)
    -U STR Use STR for User-Agent header
    -Y Use proxy ('on' or 'off')

    wget: unrecognized option `--load-cookies'
    BusyBox v1.18.4 (2011-04-28 23:37:45 CEST) multi-call binary.

    Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT][-T SEC] URL

    Retrieve files via HTTP or FTP

    Options:
    -s Spider mode - only check file existence
    -c Continue retrieval of aborted transfer
    -q Quiet
    -P DIR Save to DIR (default .)
    -T SEC Network read timeout is SEC seconds
    -O FILE Save to FILE ('-' for stdout)
    -U STR Use STR for User-Agent header
    -Y Use proxy ('on' or 'off')

    : not foundftp/uStor01/tools/scripts/dynlogin.sh: line 17:
    : not foundftp/uStor01/tools/scripts/dynlogin.sh: line 19:
    /var/media/ftp/uStor01/tools/scripts/dynlogin.sh: line 38: syntax error: unexpec
    ted end of file (expecting "then")
    Allerdings ist das Freetz Image schon betagt. Muss mich dann wohl schweren Herzens von ihm trennen.
    Bisher ist es nahezu Wartungsfrei gelaufen. Habe seit einiger Zeit eine zweite Fritz7170, an der ich jetzt ohne Zeitdruck
    arbeiten kann.
    Vielleicht denkt Gismotro ja an mich, ich habe ein entsprechendes Image
    bei ihm bestellt.

    Vielen Dank für euer Mühe
    GreatJo
     
    #14
  16. janni1
    Online

    janni1 Moderator Digital Eliteboard Team

    Registriert:
    3. Mai 2010
    Beiträge:
    4.945
    Zustimmungen:
    5.864
    Punkte für Erfolge:
    113
    AW: Monatliche DynDNS-Anmeldung per Script

    Hi,
    da scheint dem wget in deiner Busybox einiges zu fehlen.
    zB.
    Das scheint aber bei meiner Dream auch so zu sein, da fehlt es auch und geht somit auch nicht.
    Aber ohne die Cookies weiß ich nicht wie es geht, sorry.
    Vieleicht fällt ja jemanden anders noch was ein.

    Gruß
    janni1
     
    #15
    GreatJo gefällt das.

Diese Seite empfehlen