Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Monatliche DynDNS-Anmeldung per Script

mxer

Best Member
Boardveteran
Registriert
20. September 2008
Beiträge
14.005
Reaktionspunkte
5.097
Punkte
113
Sooo, wieder gebastelt.
Von hier kam der Anschubs:

Dyndns-Account-wird-deaktiviert

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:
Moin,
... hier muss man potentiell auf die Ausgabe nach dem Login achten, ich werde z.B. mit "Hi <username>" begrüßt, sodass ich das "Welcome" abändern musste.
Du musst angemeldet sein, um Bilder zu sehen.

Weitere Scripte zum Thema hier verlinkt:
https://www.digital-eliteboard.com/...Script/page3&p=1860163&viewfull=1#post1860163 Variante B

https://www.digital-eliteboard.com/...Script/page9&p=1872428&viewfull=1#post1872428 Variante C

https://www.digital-eliteboard.com/...cript/page36&p=2049632&viewfull=1#post2049632 Variante D

https://www.digital-eliteboard.com/...cript/page19&p=1896973&viewfull=1#post1896973 Windows

https://www.digital-eliteboard.com/...cript/page22&p=1901262&viewfull=1#post1901262 mit Mail

https://www.digital-eliteboard.com/...cript/page27&p=1906985&viewfull=1#post1906985 in Phyton


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

Monatliche-DynDNS-Anmeldung-per-Script auch für Dreams


 
Zuletzt bearbeitet:
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ß
 
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.
 
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
 
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:
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
 
AW: Monatliche DynDNS-Anmeldung per Script

Vielleicht will es ja mal einer testen: Link ist nicht mehr aktiv.

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
 
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?
 
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
 
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:
AW: Monatliche DynDNS-Anmeldung per Script

@janni

Läuft bei mir nicht :(

Gruß
 
AW: Monatliche DynDNS-Anmeldung per Script

Hi,

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

Welche Fehlermeldung?
 
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
 
AW: Monatliche DynDNS-Anmeldung per Script

Hi,
da scheint dem wget in deiner Busybox einiges zu fehlen.
zB.
--load-cookies=DATEI Cookies vor der Sitzung aus der DATEI laden
--save-cookies=DATEI Cookies nach der Sitzung in der DATEI speichern
--keep-session-cookies Lade und speichere (nicht-permanente) Session-Cookies
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
 
Zurück
Oben