Hallo, ich möchte ein Programm für meinen Raspberry Pi schreiben, das automatisch (z.B. jede Stunde) die IP meines Routers beim DynDNS Service meldet. Als DynDNS Service verwende ich übrigens selfhost.eu. So Soll der Pi dann immer von außer übers Internet erreichbar sein. Allerdings weiß ich nicht genau, wie ich das angehen soll... Bei selfhost finde ich auf Anhieb keine Doku zu dem Thema. Geht das über einfache HTTP Requests? Wie könnte sowas aussehen? Danke!
Google kaputt ? 1. Erstmal rausfinden welche update Protokolle selfhost unterstützt 2. Doku zum Protokoll raussuchen 3. Implementieren..
schau mal bei freedns.afraid.org, da ist dyndns kostenlos. Es gibt verschioedene Clients, man kann das aber auch z.B. in die crontab einfügen, so habe ich meine Netze (auch einen raspberry) ins Netz gebracht
Steht doch alles bei Selfhost: Frage: Was ist eine Update URL (Authentifizierung per GET)? (306843 Hits) ... (http://cms.selfhost.de/cgi-bin/selfhost?p=faq&show=59) Oder noch einfacher: http://cms.selfhost.de/cgi-bin/selfhost?p=cms&article=download
also eine Zeile in die crontab: 0 * * root wget -O - https://carol.selfhost.de/update?username=[Dyn-Account]&password=[Password] 2>&1 & macht immer zur vollen Stunde ein Update der IP-Nr., [Dyn-Account] und [Password] musst Du natürlich anpassen
uuups, da sind ein paar * verschwunden, es müssen nicht 2 * sein, sondern 4 * (getrennt durch ein Blank), also 0 * * root wget ...
huch, schon wieder, das schient die Forensoftware zu sein, letzter versuch:
1 | 0 * * * * root wget ... |
Linuxxer kennen die Datei /etc/crontab, damit kann man automatisiert Programme zu bestimmten Zeiten starten, siehe http://wiki.ubuntuusers.de/Cron, die crontab in /etc/crontab ist systemweit gültig. Für Dich ist also der Abschnitt "Die systemweite Cron-Tabelle /etc/crontab" wichtig. Das geht auch auf dem Raspberry, bei mir wird die IP-Nr. alle 5 Minuten aufgefrischt (beginnend mit Minute 1), meine crontab sieht so aus (meine Zugangsdaten zu freedns.afraid.org habe ich mit xxx überschrieben)
1 | # /etc/crontab: system-wide crontab |
2 | # Unlike any other crontab you don't have to run the `crontab' |
3 | # command to install the new version when you edit this file |
4 | # and files in /etc/cron.d. These files also have username fields, |
5 | # that none of the other crontabs do. |
6 | |
7 | SHELL=/bin/sh |
8 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
9 | |
10 | # m h dom mon dow user command |
11 | 1,6,11,16,21,26,31,36,41,46,51,56 * * * * root wget -O - http://freedns.afraid.org/dynamic/update.php?xxxxxxxxxxxxxxx 2>&1 & |
12 | 17 * * * * root cd / && run-parts --report /etc/cron.hourly |
13 | 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) |
14 | 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) |
15 | 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) |
16 | # |
Die Spalten bedeuten folgendes (getrennt durch mindestens 1 Leerzeichen oder <tab>) m = Minute h = Stunde dom = day of month dow = day of week user = benutzername, unter dem command gestartet wird command = Befehl, der abgearbeitet wird
Wow, danke für die Erklärung. Das klingt ja praktisch :-) Aber was genau soll denn als Dyn-Account benutzt werden? Da werde ich aus der Hilfe von Selfhost nicht ganz schlau... > Achtung, der Username ist nicht Ihre Kundennummer, sondern die Daten welche > Sie unter DynAccounten Details finden. Egal was ich da benutze, ich bekomme immer ein "badauth". Und noch eine zweite Frage: meine IP muss ich ja nicht angeben. Ich vermute mal selfhost nimmt dann einfach die, von der der HTTP-Request kam?
Da sicher auch der PI nicht direkt am Internet hängt, kann man den DynDNS-Prozess auch dem Router überlassen. Habe gerade heute zufällig drei mal ein kostenloses "myfritz"-Konto eingerichtet. Da doch recht viele Internetuser eine Fritzbox haben, ist damit sicher vielen geholfen. Nachdem man sich angemeldet und einmal eingeloggt hat, muss man aus der URL einen Teil extrahieren, dieser weist dann immer auf die heimische Fritzbox. Beispiel gesamt-URL: https://xbyr9mblcxy12zj6f.myfritz.net/myfritz#stay Wenn man daraus den Teil ausschneidet: xbyr9mblcxy12zj6f.myfritz.net ... so ist man immer "Zuhause"!
> Aber was genau soll denn als Dyn-Account benutzt werden? Da werde ich > aus der Hilfe von Selfhost nicht ganz schlau... Das kann ich Dir nicht sagen, da ich kein selfhost-Kunde bin. Die IP-Nr. holt sich selfhost wohl selbst.
Frank schrieb: > Da sicher auch der PI nicht direkt am Internet hängt, kann man den > DynDNS-Prozess auch dem Router überlassen. Mein Router beherrscht das leider nicht :-( ...-. schrieb: > Das kann ich Dir nicht sagen, da ich kein selfhost-Kunde bin. Gibt es denn hier einen, der es weiß? ;-) Danke so weit!
OK, ich hab's. Für das DynDNS gibt es nochmal extra Zugangsdaten. Die sind in der DyDNS Sektion von Selfhost unter "Details" zu finden. Jetzt nur noch mal schauen, obs auch mit dem Cron klappt... (hier gibt es ein Gnome-Tool, mit dem man das auch per GUI konfigurieren kann. Für Noobs wie mich vielleicht besser als das File von hand zu editieren) ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.