- Mitglied seit
- 04. Sep 2008
- Beiträge
- 2.341
- Punkte für Reaktionen
- 13
- Punkte
- 84
Nach nahezu 8 Monaten Programmierens kann ich euch nun die erste Public Beta des DDNS Updaters 2 freigeben. Ich habe mich in dieser Zeit oft gefragt, ob es zu Zeiten von DSM 5++ und dem eingebautem DDNS Client noch Sinn macht, einen weiteren 3rdparty DDNS Client zu entwickeln. Der DDNS Updater 1.xx war zu einer Zeit gefragt, als es noch keinen eingebauten DDNS gab und auch nur wenige Router benutzerdefinierte Aktualisierungsurls zuliessen. Die Konfigurierbarkeit für neue Protokolle und vor Allem die Benutzung von mehr als einem Host pro Anbieter liessen mich trotzdem weiter machen. Ob es dann den entsprechenden Anklang bei den Benutzern findet wird die Zeit zeigen. Ich habe auch schon darüber nachgedacht, meine WebGui ebenfalls für den eingebauten DDNS als eine Art Konfigurator anzupassen, zu einem Ergebnis bin ich allerdings noch nicht gekommen.
DDNS Updaters 2 ist eine komplette Neuentwicklung, der Daemon ddclient wird nicht mehr verwendet. Die weitere Benutzung von ddclient als Daemon wurde durch die fehlende IPv6 Unterstützung und der für meine Zwecke unverträglichen Konfigurationsmöglichkeit ausgeschlossen. Ausserdem benötigt man nun kein Init_3rdparty und iPKG Perl für die SSL-Unterstützung, das Synology Perl ist ausreichend. Besonderes Augenmerk habe ich auf eine hohe Konfigurierbarkeit gelegt, damit die Benutzer bei einem neuen Protokoll nicht jedes Mal im Forum nachfragen müssen
Es wird natürlich immer wieder Protokolle geben, welche sich nicht mit den vorhandenen Bordmitteln einrichten lassen. Für diese Fälle kann durch Hinzufügen eines in Perl geschriebenen Moduls die gewünschte Funktionalität erreicht werden, dazu später mehr.
Unterstützte Anbieter: 3322.org, afraid.org, all-inkl.com, changeip.com, cloudflare.com, direkt-domains.de, dnsexit.com, dnsmadeeasy.com, dnsomatic.com, dnspark.com, do.de, domopoli.de, domains.google.com, dslreports.com, dtdns.com, duckdns.org, dyn.com, dynu.com, dynv6.com, dyndns.za.net, easydns.com, einsweb.de, enomcentral.com, freedyn.de, gratisdns.de, gratisdns.dk, goip.de, joker.com, kontent.com, loopia.se, myonlineportal.net, namecheap.com, no-ip.com, nsupdate.info, opendns.com, ovh.com, regfish.de, selfhost.de, sitelutions.com, spdns.de, strato.com, twodns.de, udmedia.de, variomedia.de, xlhost.de, zoneedit.com
DDNS Updater 2: Anleitung - Instructions
Kurze Zusammenfassung, ich nenne sie "Highlights", der Funktionen:
Nach dem ersten Start gibt es 2 Szenarien:
Bei den folgenden Anbietern haben sich die benutzten Felder gegenüber dem DDNS Updater 1.xx verändert, speziell die Felder Hostname/Domain:
Die Hosts welche einen der oben genannten Anbieter verwenden sollten unbedingt nach Übernahme der alten Konfiguration überprüft werden, generell kann es aber nicht schaden, wenn alle übernommen Hosts einer Prüfung unterzogen werden. Auch müssen die übernommen Hosts erst aktiviert werden, damit eine Aktualisierung durchgeführt werden kann. Dies kann für einen/alle Hosts per Drag & Drop auf die Gruppe "Aktiv", sowie auch für einzelne Hosts im Dialog "Bearbeiten" durchgeführt werden.
Noch kurz etwas zu den oben erwähnten Modulen:
Am Anfang hatte ich vor, neu geschriebene Module zusammen mit den Anbieter- und Protokolleinstellungen in eine Datei zu exportieren. Damit hätte man per Community leicht neue Anbieter/Protokolle anbieten können, auch wenn die eingebauten Module das Protokoll nicht verstehen. Da dies für mich eine grosse Sicherheitslücke darstellt (jemand mit böswilliger Absicht könnte ein Schadprogramm als Modul tarnen und anbieten), welche ich mit einfachen Mitteln nicht schliessen kann, habe ich mich dagegen entschlossen. Es wird in Zukunft bestimmt das eine oder andere Update in Form von neuen Modulen und Anbietern/Protokollen von mir geben. Wer ein Modul selbst schreiben möchte, findet im Verzeichnis "/var/packages/ddnsupdater2/target/lib/DDNSUpdater/Module" eine Datei #example.pm, welche einige Informationen bezüglich der Erstellung, Einrichtung und Test eines Moduls beinhalten.
Nach Test und Fertigstellung kann man mich per Forum oder per PM kontaktieren, ich werde das Modul dann nach positiver Prüfung für die nächste Version einbauen. Mehr Informationen folgen dann im Thread DDNS-Updater-2-Neue-Anbieter-und-Protokolle-new-provider-and-protocols.
Debug-Mode aktivieren:
Hier kurz die Schritte, damit ihr mir im Falle eines Problems das debug.log erzeugen könnt.
Nun viel Spass beim Testen und wie immer...Alles auf eigenes Risiko!
DDNS Updaters 2 ist eine komplette Neuentwicklung, der Daemon ddclient wird nicht mehr verwendet. Die weitere Benutzung von ddclient als Daemon wurde durch die fehlende IPv6 Unterstützung und der für meine Zwecke unverträglichen Konfigurationsmöglichkeit ausgeschlossen. Ausserdem benötigt man nun kein Init_3rdparty und iPKG Perl für die SSL-Unterstützung, das Synology Perl ist ausreichend. Besonderes Augenmerk habe ich auf eine hohe Konfigurierbarkeit gelegt, damit die Benutzer bei einem neuen Protokoll nicht jedes Mal im Forum nachfragen müssen
Unterstützte Anbieter: 3322.org, afraid.org, all-inkl.com, changeip.com, cloudflare.com, direkt-domains.de, dnsexit.com, dnsmadeeasy.com, dnsomatic.com, dnspark.com, do.de, domopoli.de, domains.google.com, dslreports.com, dtdns.com, duckdns.org, dyn.com, dynu.com, dynv6.com, dyndns.za.net, easydns.com, einsweb.de, enomcentral.com, freedyn.de, gratisdns.de, gratisdns.dk, goip.de, joker.com, kontent.com, loopia.se, myonlineportal.net, namecheap.com, no-ip.com, nsupdate.info, opendns.com, ovh.com, regfish.de, selfhost.de, sitelutions.com, spdns.de, strato.com, twodns.de, udmedia.de, variomedia.de, xlhost.de, zoneedit.com
DDNS Updater 2: Anleitung - Instructions
Kurze Zusammenfassung, ich nenne sie "Highlights", der Funktionen:
- konfigurierbarer Benutzerdialog für das Hinzufügen und Bearbeiten von DDNS Hostnamen (gewünschte Felder und Bezeichnungen pro Anbieter)
- Gruppierung von Hosts per selbst zu erstellender Gruppen
- Aktiv und Inaktiv Setzen von Hosts
- Online/Offline-Modus per Gruppe aktivierbar, Offline-Methode konfigurierbar (pro Anbieter)
- minimales Aktualisierungsintervall, minimales Intervall bei Fehlern und maximales Intervall (Force Update) einstellbar (pro Anbieter), maximales Intervall (Force Update) auch pro Host
- Offline-Modus wenn die DS herunterfährt (pro Host konfigurierbar)
- Offline-Script (global und nur wenn die DS herunterfährt)
- Offline-IP (global und nur für Offline-Modus "mit eigener IP")
- Script nach Update (pro Host konfigurierbar)
- Gruppierung von Hosts mit gleichen Merkmalen (z.B. Login, IP) vor dem Update, minimiert Traffic und erhöht Geschwindigkeit (pro Anbieter konfigurierbar)
- konfigurierbare Anbieter
- konfigurierbare Protokolle
- konfigurierbare Url-Parameter (pro Protokoll)
- konfigurierbare Rückmeldecodes (für alle Protokolle)
- konfigurierbare IP-Überprüfungsaddressen und Ausschlussmuster (für alle Anbieter)
- IPv6 Unterstützung (DS Lite und Dual Stack)
- Auswahl der IP-Überprüfungsmethode (DSM intern oder extern über IP-Überprüfungsaddressen)
- Import/Export von Anbieten, Protokollen, IP-Überprüfungsaddressen und Rückmeldecodes oder Alles als Backup (ungepackt bei einzelnen Exports, gepackt als *.tgz bei Backup)
- Import der DDNS Updater 1.xx Konfiguration (ungepackt)
- Paketerstellung bestehend aus Anbietern, Protokollen, Rückgabecodes und IP-Überprüfungsurls zur Sicherung oder Weitergabe
- Sicherung und Wiederherstellung der Konfiguration über DSM Datensicherung & Replikation
- Einrichtungsassistent für Analyse einer Aktualisierungsurl, sowie das Hinzufügen von neuen Anbietern und Protokollen mit anschliessendem Test des möglichen Moduls
Nach dem ersten Start gibt es 2 Szenarien:
- kein DDNS Updater 1.xx installiert, "Einstellungen - Allgemein" bezüglich IP-Überprüfungsmethode und IP-System muss unbedingt konfiguriert und gesichert werden
- DDNS Updater 1.xx installiert, wird automatisch erkannt, per Migrationsassistent lässt sich die alte Konfiguration übernehmen, anschliessend muss unter "Einstellungen - Allgemein" bezüglich IP-Überprüfungsmethode und IP-System ebenfalls unbedingt konfiguriert und gesichert werden
Bei den folgenden Anbietern haben sich die benutzten Felder gegenüber dem DDNS Updater 1.xx verändert, speziell die Felder Hostname/Domain:
cloudflare, duckdns, easydns, einsweb, gratisdns.dk, kontent, namecheap, regfish, zoneedit
Die Hosts welche einen der oben genannten Anbieter verwenden sollten unbedingt nach Übernahme der alten Konfiguration überprüft werden, generell kann es aber nicht schaden, wenn alle übernommen Hosts einer Prüfung unterzogen werden. Auch müssen die übernommen Hosts erst aktiviert werden, damit eine Aktualisierung durchgeführt werden kann. Dies kann für einen/alle Hosts per Drag & Drop auf die Gruppe "Aktiv", sowie auch für einzelne Hosts im Dialog "Bearbeiten" durchgeführt werden.
Noch kurz etwas zu den oben erwähnten Modulen:
Am Anfang hatte ich vor, neu geschriebene Module zusammen mit den Anbieter- und Protokolleinstellungen in eine Datei zu exportieren. Damit hätte man per Community leicht neue Anbieter/Protokolle anbieten können, auch wenn die eingebauten Module das Protokoll nicht verstehen. Da dies für mich eine grosse Sicherheitslücke darstellt (jemand mit böswilliger Absicht könnte ein Schadprogramm als Modul tarnen und anbieten), welche ich mit einfachen Mitteln nicht schliessen kann, habe ich mich dagegen entschlossen. Es wird in Zukunft bestimmt das eine oder andere Update in Form von neuen Modulen und Anbietern/Protokollen von mir geben. Wer ein Modul selbst schreiben möchte, findet im Verzeichnis "/var/packages/ddnsupdater2/target/lib/DDNSUpdater/Module" eine Datei #example.pm, welche einige Informationen bezüglich der Erstellung, Einrichtung und Test eines Moduls beinhalten.
Nach Test und Fertigstellung kann man mich per Forum oder per PM kontaktieren, ich werde das Modul dann nach positiver Prüfung für die nächste Version einbauen. Mehr Informationen folgen dann im Thread DDNS-Updater-2-Neue-Anbieter-und-Protokolle-new-provider-and-protocols.
Debug-Mode aktivieren:
Hier kurz die Schritte, damit ihr mir im Falle eines Problems das debug.log erzeugen könnt.
- DDNS Updater stoppen
- In "Einstellungen - Allgemein" das "Debug-Log" aktivieren (mit dem aktivieren wird ein vorhandenes debug.log gelöscht!)
- DDNS Updater starten
- Aktionen durchführen welche zum Fehler führen (wenn nicht das Update selbst)
- DDNS Updater stoppen
- In "Einstellungen - Allgemein" den Button "Download" anwählen und das debug.log sichern, anschließend das "Debug-Log" deaktivieren.
- Automatische Aktualisierung der Anzeige nach Update funktioniert manchmal nicht zeitnah (teilweise verbessert in 2.0-127)
- Anonymisierung der debug.log wird noch nicht 100% durchgeführt, bitte beim Post eines debug.log's daran denken, die Datei zu untersuchen und ggf. noch Passagen manuell anymisieren.
- Modultest Assistent bricht bei Fehlern ab, das ist so gewollt, aber die Erstellung des Protokolls kann nicht fortgesetzt werden. Hier fehlt die Möglichkeit dies dennoch zu übernehmen (wenn man weiss was man tut) (mit 2.0-137)
- IPv6 (DS Lite und Dual Stack) konnte ich nicht testen, da müssen mir die Benutzer mit IPv6 bitte weiterhelfen/testen
- Offline-Script noch nicht möglich (mit 2.0-133)
- Script nach Update noch nicht möglich (mit 2.0-133)
- Online-Hilfe
Nun viel Spass beim Testen und wie immer...Alles auf eigenes Risiko!
Zuletzt bearbeitet: