IP(v6)-Updater für RaspberryPI erstellen

Beitrag mit Hilfe von Benjamin Simonis erstellt.

Update-Script erstellen
Auf dem Raspberry einen neuen Ordner anlegen in dem das UpdateScript abgelegt wird.
Dann eine neue Datei mit dem Namen updater.py anlegen.

# Update your IPv6 IP on spdns.de easy and fast.
# Just add python /your/path/updater.py to your crontab.
#
# author: Benjamin Simonis
# version: 1.1
# mail: BenjaminSimonis@web.de

import json, urllib2, base64

def updateUrl(data):
        theJSON = json.loads(data)
        currentIp = theJSON["ipaddress"]

        user = "" # Enter here your spdns domain
        pw = "" # Enter here your generated Token
        updater = https://update.spdns.de/nic/update?hostname=&myip= # Replace ‘’ with your spdns domain.
        updater += currentIp

        request = urllib2.Request(updater)
        base64string = base64.encodestring('%s:%s' % (user, pw))
        request.add_header("Authorization", "Basic %s" % base64string)
        urllib2.urlopen(request)


def main():
        url = "http://meineipv6.de/mro.php?format=json"

        webUrl = urllib2.urlopen(url)
        if (webUrl.getcode() == 200):
                data = webUrl.read()
                updateUrl(data)
        else:
                print "Received Error Code"

if __name__ == "__main__":
        main()

Danach Test durchführen ob das Update-Script funktioniert,
dazu das Script mit dem Befehl

python updater.py

ausführen.

Wenn das Update funktioniert hat,
dann steht im bei SPDNS angelegten host nun die IP-Adresse eures PI(rotes Feld).
spdns4

Erstellen einen CronJobs
Nun sollte das Update-Script noch dem crontab hinzugefügt werden.
Eine genaue Anleitung wie das auf dem Raspberry funkioniert, findet sich auf dieser Seite.

Mit dem Kommando

sudo crontab -e

öffnen wir die Datei in der die Cronjobs auf den Raspberry verwaltet werden. Hier werden wir nun einen neuen Eintrag erstellen. Dieser soll unser oben erstelltes Update-Script bei Reboot und zusätzlich jede Stunde automatisch ausführen. Dazu fügen wir der nun geöffneten Datei die folgende Zeile hinzu: (genaue Beschreibung der Cronjob-Erstellung bitte dem Link oben folgen)

@reboot python /opt/ipv6updater/updater.py
00 5-23 * * * python /opt/ipv6updater/updater.py