Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Login bei Dyn.com automatisieren

Tipp Internet Internet Domänen

Mitglied: colinardo

colinardo (Level 5) - Jetzt verbinden

22.05.2013, aktualisiert 03.08.2016, 17853 Aufrufe, 21 Kommentare, 9 Danke

Der Betreiber des kostenlosen DynDns-Dienstes hat ja bekanntlich seine kostenlosen Accounts mit einer weiteren Beschränkung versehen(Login mindestens alle 30 Tage). Für alle die den Betreiber noch nicht wechseln möchten oder können, hier eine Lösung um den Login zu automatisieren.

WICHTIGE INFORMATION: DYN.COM STELLT SEINE KOSTENLOSEN ACCOUNTS AM 7. MAI 2014 EIN ! DAS TOOL WIRD NICHT MEHR AKTUALISIERT!


Benutzt den u.s. AutoIT-Code, und kompiliert das Script.
Wichtiger Hinweis: Das Script ist eine Konsolenvariante und muss deshalb mit der passenden Option kompiliert werden. Wenn Ihr das Script im Editor 'Scite' kompiliert sollte die Option bereits durch die Angaben im Header des Scripts gesetzt sein. Wenn Ihr Aut2Exe benutzt muss in Dialog unten bei "Console?" ein Häkchen gesetzt werden, ansonsten seht ihr beim Ausführen des Scripts keine Konsolenausgaben.

Für alle die kein AutoIT installiert haben bzw. die eine fertige EXE haben wollen ---> Download hier
Der Aufruf erfolgt auf der Kommandozeile mit folgenden selbsterklärenden Parametern:
login.exe [username] [password]
Als Exit-Code gibt das Script bei einem Fehler eine 1 und bei Erfolg eine 0 zurück.

Funktioniert natürlich nur solange "Dyn.com" die Website nicht umstrukuriert. Werde aber bei Rückmeldung von euch den Code gerne aktualisieren
01.
#NoTrayIcon 
02.
; -------------ÄNDERUNGEN ------------- 
03.
; 01.03.2014 Login Status wurde nach dem Einloggen nicht mehr korrekt erkannt wegen Deutsch / Englisch-Anpassung der Seite 
04.
; 19.09.2013 Dyn.com Seite hat sich geändert (zusätzliche Form ist hinzugekommen, Prüfung auf die ersten 5 Buchstaben der ID der Form hinzugefügt 
05.
;-------------------------------------- 
06.
#Region ;**** Directives created by AutoIt3Wrapper_GUI **** 
07.
#AutoIt3Wrapper_outfile=login.exe 
08.
#AutoIt3Wrapper_Change2CUI=y 
09.
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** 
10.
#include <IE.au3> 
11.
if $Cmdline[0] = 2 then 
12.
	$username = $Cmdline[1] 
13.
	$password = $Cmdline[2] 
14.
Else 
15.
	ConsoleWrite(@CRLF & "Fehler in Parametern !   --> Info: " & @CRLF & "    login.exe [USERNAME] [PASSWORD]" & @CRLF) 
16.
	Exit 1 
17.
EndIf 
18.
ConsoleWrite("Login bei Dyn.com..." & @CRLF) 
19.
$objIE = _IECreate("https://de.account.dyn.com/entrance/",0,0,1) 
20.
if $objIE = 0 then 
21.
	ConsoleWriteError("Error: Internet-Explorer-Objekt kann nicht erstellt werden!") 
22.
	exit 1 
23.
EndIf 
24.
$arrForms = _IEFormGetCollection($objIE) 
25.
dim $loginForm 
26.
if @error <> 0 then 
27.
	ConsoleWriteError("Error: Login-Form kann nicht gefunden werden!") 
28.
	quitError() 
29.
Else 
30.
	for $oForm in $arrForms 
31.
		if StringLower(StringLeft($oForm.id,5)) = "login" then 
32.
			$loginForm = $oForm 
33.
		endif 
34.
	Next 
35.
 
36.
	if $loginForm = "" then 
37.
		ConsoleWriteError("Error: Login Form nicht gefunden!") 
38.
		quitError() 
39.
	endif 
40.
 
41.
EndIf 
42.
 
43.
$objUsername = _IEGetObjById($objIE,$loginForm.id & "_username") 
44.
$objPassword = _IEGetObjById($objIE,$loginForm.id & "_password") 
45.
$objSubmitBtn = _IEGetObjById($objIE,$loginForm.id & "_submit") 
46.
if $objUsername = 0 or $objPassword = 0 or $objSubmitBtn = 0 then 
47.
	ConsoleWriteError("Error: Mindestens ein benötigtes Steuerelement nicht gefunden!") 
48.
	quitError() 
49.
EndIf 
50.
 
51.
if _IEFormElementSetValue($objUsername,$username) = 1 and _IEFormElementSetValue($objPassword,$password) = 1 then 
52.
	_IEAction($objSubmitBtn,"Click") 
53.
	if _IELoadWait($objIE) = 1 then 
54.
		$links = _IELinkGetCollection($objIE) 
55.
		$loginSuccess = false 
56.
		for $l in $links 
57.
			if StringRegExp($l.innerHTML ,"Log Out|Ausloggen",0) then 
58.
				$loginSuccess = true 
59.
				ExitLoop 
60.
			Endif 
61.
		Next 
62.
 
63.
		if $loginSuccess then 
64.
			ConsoleWrite("Logout..." & @CRLF) 
65.
			_IENavigate($objIE,"https://de.account.dyn.com/entrance/?__logout=1",1) 
66.
			_IEQuit($objIE) 
67.
			ConsoleWrite("Fertig...") 
68.
			exit 0 
69.
		Else 
70.
			ConsoleWriteError("Error: Falscher Benutzername oder Kennwort!") 
71.
			quitError() 
72.
		EndIf 
73.
	Else 
74.
		Switch @error 
75.
			Case 6 
76.
				ConsoleWriteError("Error: Website Lade-Timeout!") 
77.
			Case Else 
78.
				ConsoleWriteError("Error: Website Ladefehler / Code: " & @error) 
79.
		EndSwitch 
80.
		quitError() 
81.
	Endif 
82.
Else 
83.
	ConsoleWriteError("Error: Benutzername oder Passwort konnten nicht gesetzt werden") 
84.
	quitError() 
85.
EndIf 
86.
 
87.
func quitError() 
88.
	_IEQuit($objIE) 
89.
	exit 1 
90.
EndFunc
Grüße @colinardo

Überarbeitungen:

Datum Änderungen
07.05.2014 -SUPPORTENDE- Dyn.com stellt kostenlose Accounts ein. Ende des Supports für den Updater.
01.03.2014 FIX - Login Status wurde nach dem Einloggen nicht mehr korrekt erkannt wegen Deutsch / Englisch-Anpassung der Seite
19.09.2013 Dyn.com Seite hat sich im HTML-Code ein wenig geändert, Code dahingehend korrigiert und login.exe upgedated.
Mitglied: Lochkartenstanzer
22.05.2013, aktualisiert um 13:03 Uhr
Und hier die Bourne-Again-Shell-Version

#!/usr/bin/env bash 
 
LOGIN="Lochkartenstanzer :-)" 
PASSWORD="ganz geheimes kennwort" 
#UA="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Version/0.0.0 Safari/0.0.0" 
 
COOKIES="/tmp/.dynsdns.cookies.txt" 
 
LOGINURL="https://account.dyn.com/entrance/" 
POSTURL="$LOGINURL" 
CHKURL="https://account.dyn.com/" 
 
(( DEBUG )) && DST="-" || DST="/dev/null" 
 
# Ensure no broken session caching... 
[[ -s "$COOKIES" ]] && rm "$COOKIES" 
 
(( DEBUG )) && echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..." 
curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL" 
(( DEBUG )) && echo >&2 "DEBUG: Fetching UID..." 
VALUE="$( curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | grep -m 1 "multiform" | cut -d"'" -f 6 )" 
(( DEBUG )) && echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..." 
curl -b $COOKIES -c $COOKIES -d "username=$LOGIN" -d "password=$PASSWORD" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL" 
(( DEBUG )) && echo >&2 "DEBUG: Response received - verifying result..." 
curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" --url "$CHKURL" | grep -q "<span>Welcome&nbsp;<b>$LOGIN</b></span>" && echo "Login successful" || echo >&2 "Login failed"
Copy-Pasted von http://blog.stuart.shelton.me/archives/1024 , auf das im Thread Batch für DYNDNS Konto Login per cURL verwiesen wurde.

Funktioniert unter linux und Windows (mit cygwin).

lks

PS: Benötigt natürlich die passenden packages wie curl & Co.
Bitte warten ..
Mitglied: 16568
22.05.2013 um 13:58 Uhr
Zitat von Lochkartenstanzer:
Und hier die Bourne-Again-Shell-Version

YMMD!


Lonesome Walker
Bitte warten ..
Mitglied: Grinsebert
22.05.2013 um 14:32 Uhr
Hey,
vielen Dank, genau sowas habe ich gesucht
geht einwandfrei

viele Grüße
Bitte warten ..
Mitglied: eagle2
23.05.2013, aktualisiert um 10:16 Uhr
Zitat von Lochkartenstanzer:
> curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" --url "$CHKURL" | grep -q 
> "<span>Welcome <b>$LOGIN</b></span>" && echo "Login successful" || 
> echo >&2 "Login failed" 
> 
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.

Vielen Dank für das Teilen des Scripts, erspart wirklich Arbeit ;)

Gruß,
Eagle2
Bitte warten ..
Mitglied: Lochkartenstanzer
23.05.2013 um 10:42 Uhr
Zitat von eagle2:
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.

Bei mir hat es mit Welcome funktioniert.

Vielen Dank für das Teilen des Scripts, erspart wirklich Arbeit ;)

Gern geschen. Aber das skript, ist, wie ich schon schrieb, nicht auf meinem Mist gewachsen.

lks
Bitte warten ..
Mitglied: ralfkausk
27.05.2013 um 11:30 Uhr
Hallo Lochkartenstanzer

Ich habe gerade versucht das auf meinem QNAP NAS zu starten.
Leider funktioniert das nicht weil grep den Parameter "-m" nicht kennt.
Gibt es dafür eine alternative Schreibweise?

Gruß Ralf
Bitte warten ..
Mitglied: Lochkartenstanzer
27.05.2013 um 12:05 Uhr
Zitat von ralfkausk:
Hallo Lochkartenstanzer

Ich habe gerade versucht das auf meinem QNAP NAS zu starten.
Leider funktioniert das nicht weil grep den Parameter "-m" nicht kennt.
Gibt es dafür eine alternative Schreibweise?

was sagt denn "man grep" auf Deinem QNAS? ich habe leider keien im zugriff, so daß ih nciht selber nachschauen kann.

was -m nachen soll ist:

       -m NUM, --max-count=NUM 
              Stop  reading  a file after NUM matching lines.  If the input is standard input 
              from a regular file, and NUM matching lines are output, grep ensures that the 
              standard input is positioned to just after the last matching line before exiting, 
              regardless of the presence of trailing context lines.  This enables a calling 
              process to resume a search.  When grep stops after  NUM  matching  lines, 
              it outputs any trailing context lines.  When the -c or --count option is also used, 
              grep does not output a count greater than NUM.  When the -v or --invert-match option 
              is also used, grep stops after outputting NUM non-matching lines.
lks
Bitte warten ..
Mitglied: hononnen
28.08.2013 um 21:37 Uhr
Hi *,

ich bekomme auf einem Win2008 R2 Small Business Server folgende Fehlermeldung:
=== ERROR
ERROR
ERROR
ERROR ===
Login bei Dyn.com...
--> IE.au3 V2.4-0 Warning from function _IEFormGetCollection, $_IEStatus_NoMatch

Error: Login-Form kann nicht gefunden werden!
=== ERROR
ERROR
ERROR
ERROR ===

kann mir hier einer Helfen?
Einstellungssache im IE?

Viele Grüße & Danke
Heiko
Bitte warten ..
Mitglied: colinardo
29.08.2013 um 08:37 Uhr
Hallo Heiko,
sehr wahrscheinlich ist auf deinem Server 2008 R2 noch die erweiterte Sicherheit des Internet Explorers aktiv, die verhindert das die Login-Seite von dyn.com aufgerufen werden kann und stattdessen der Standardhinweis dazu im Browser erscheint, wo das Script natürlich das Login-Formular nicht finden kann. Entweder du deaktivierst die erweitere Sicherheit im IE oder du fügst folgende Seiten als Ausnahme in den Sicherheitseinstellungen hinzu:
https://*.dyn.com/*
Auf einem meiner Testsysteme mit Server 2008 R2 und deaktivierter erweiterter Sicherheit funktioniert das Script problemlos.

Grüße Uwe
Bitte warten ..
Mitglied: hononnen
29.08.2013 um 09:37 Uhr
Hallo Uwe,

Die erweiterte IE Security ist aus... an das habe ich auch schon gedacht...
Und wenn man die Website im IE startet kommt noch nicht einmal irgend ein Popup/Hinweis/o.ä....

Es handelt sich allerdings um den IE10!

Auf einem Win2012 Server eines Bekannten läuft das Tool ja auch 1a mit IE10... argh... unlogisch.

VG
Heiko
Bitte warten ..
Mitglied: colinardo
19.09.2013 um 10:20 Uhr
Dyn.com Seite hat sich etwas im HTML-Code verändert, Code wurde deswegen korrigiert (s.o.) ...
Grüße Uwe
Bitte warten ..
Mitglied: 4dminUser
24.09.2013 um 17:42 Uhr
Hi
könntest du noch die login.exe aktualisieren?
Vielen Dank und Grüße
Tobias
Bitte warten ..
Mitglied: colinardo
24.09.2013 um 17:45 Uhr
Zitat von 4dminUser:
Hi
könntest du noch die login.exe aktualisieren?
hatte ich am 19.09 bereits gemacht !
Grüße Uwe
Bitte warten ..
Mitglied: 4dminUser
28.09.2013 um 20:31 Uhr
Sorry mein Fehler, habe die Datei Größe nicht direkt verglichen, sondern nur im Explorer geschaut (332KB).

Danke für deine Mühe
Tobias

neue Dateigröße 331 KB (339.423 bytes), alte 331 KB (339.319 bytes)
Bitte warten ..
Mitglied: ralfkausk
15.11.2013 um 10:43 Uhr
Hat das bash Skript schon jemand getestet?
Es läuft bei mir zwar inzwischen ohne Fehlermeldung, aber trotzdem bin ich von DynDns aufgefordert werden mich anzumelden damit mein Konto nicht gelöscht wird.

Gruß Ralf
Bitte warten ..
Mitglied: ralfkausk
15.11.2013, aktualisiert um 10:45 Uhr
@ Lochkartenstanzer:

hat sich erledigt.
Auf dem Gerät liegen mehrere grep's
Ich habe jetzt einen gefunden der den Parameter -m kennt
Danke schön
Bitte warten ..
Mitglied: colinardo
19.11.2013, aktualisiert um 19:08 Uhr
Zur Info für alle Nutzer von dyn.com
Folgende Benachrichtigung kam gerade von dyn.com per Mail rein:
Since enforcing our 30-day manual account login for free users, we heard requests that a single email reminder to log in just is not enough. You asked for it, so we delivered.  
 
Effective December 1, 2013, you will now receive a reminder email 15 days ahead of account expiration, in addition to an alert 5 days ahead of expiration -- both sent if you have not manually logged in within the last 30 days.
d.h. also, wenn Ihr die Benachrichtigungs-Mails in Zukunft zu vermeiden wollt sollte mind. alle 15 Tagen einloggt werden...

Grüße Uwe
Bitte warten ..
Mitglied: wonnobo
02.03.2014 um 19:48 Uhr
Könntest man ein Log ausgeben oder eine deutlichere Kennzeichnung,
wenn der Login nicht funktioniert hat? Das Fenster verschwindet ja relativ
schnell und nach einer Zeit schaut man nicht mehr genau hin.
Am liebsten wäre mir aber eine Logdatei.

Gruß
J
Bitte warten ..
Mitglied: colinardo
02.03.2014, aktualisiert um 19:59 Uhr
Zitat von wonnobo:
Am liebsten wäre mir aber eine Logdatei.
wozu gibt es wohl die Ausgabe des Errorlevels !?

Als Exit-Code gibt das Script bei einem Fehler eine 1 und bei Erfolg eine 0 zurück.
Bitte warten ..
Mitglied: wonnobo
02.03.2014 um 22:19 Uhr
Oha
Nettes Danke!
Bitte warten ..
Mitglied: colinardo
07.04.2014 um 16:55 Uhr
Wie zu erwarten war stellt Dyn.com seine kostenlosen Accounts in 30 Tagen ein:
http://www.administrator.de/contentid/234770

Grüße @colinardo
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows 10
Nonstop Login im Sperrbildschirm (4)

Frage von TiCar zum Thema Windows 10 ...

Server
gelöst Amazon-IP, Googlebot und wp-login (12)

Frage von NoWoPr zum Thema Server ...

PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

HTML
Captive Portal login Seite (2)

Frage von gansa28 zum Thema HTML ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...