[HowTo] ddnss.de Prüf-/Update-Skript

Antworten
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1287
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 3 times

[HowTo] ddnss.de Prüf-/Update-Skript

Beitrag von fred_feuerstein »

Als Alternative zum bekannten aber kostenpflichtigen dyndns.com Anbieter gibt es viele auch kostenlose Anbieter.

http://www.ddnss.de ist bspw. ein deutscher Anbieter, der pro Account bis zu 5 Hosts kostenlos verwalten kann. Das dürfte für die meisten Leute vollkommen ausreichen.
Das Update kann man natürlich am bequemsten über die FritzBox (oder anderen Router) durchführen lassen.

In meinem Fall habe ich allerdings einen Haupt Host bei dyndns, der über meine FritzBox upgedatet wird und einen weiteren Account bei ddnss.de, welchen ich auch updaten möchte.

Dazu dient das folgende Skript:
(Das ursprüngliche Skript von der ddnss.de wurde dafür passend modifiziert)

Code: Alles auswählen

#!/bin/bash

###########################################
# ddnss.de - Updater                      #
# (Stand: 20.01.2016)                     #
###########################################

# Variablen
###########
# Authentifizierungs-Key eintragen:
KEYAUTH="dfjndfnjgdslfnglfdsglfdsmgldsfmgldfsmgldkmfgldkfmgldsmglfb96d19c3"
# Hostnamen (Url) eintragen:
HOSTNAME="xyz.ddnss.de" 
# lokaler Work Pfad (normalerweise /tmp) für Logs etc.
PFAD="/tmp"
# Intervall für die Prüfung auf geänderte IP-Adresse:
INTERVALL="600" # alle 10 Minuten prüfen

# optionale Variablen (nicht benötigt)
######################################
# ALLHOST="all" 
# USERNAME=""
# PASSWORD=""


# Ab hier keine Änderungen nötig:

while true; do

DATUM=`date +%Y-%m-%d\ %H:%M:%S`
IP=`wget -q -O - http://www.ddnss.de/meineip.php| grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'`
UPDIP=`cat $PFAD/updip.txt`
echo "Aktuelle IP=$UPDIP"
 
if [ "$IP" == "$UPDIP" ]; then
        echo "$DATUM - IP is gleich - KEIN UPDATE" >> $PFAD/log.txt
        echo "$DATUM - IP is gleich - KEIN UPDATE"
else
        echo "$DATUM -  Neue-IP: $IP / Alte-IP: $UPDIP - UPDATE!" >> $PFAD/log.txt
        echo "$DATUM -  Neue-IP: $IP / Alte-IP: $UPDIP - UPDATE!"
        echo $IP > $PFAD/updip.txt
        # Update-URL:
	wget -q -O - 'http://www.ddnss.de/upd.php?key='$KEYAUTH'&host='$HOSTNAME'' >> $PFAD/log.txt
	# Alternative Update-URL (im Falle der Nutzung von Username/Password und/oder bspw. AllHost!
	# wget -q -O - 'http://www.ddnss.de/upd.php?user='$USERNAME'&pwd='$PASSWORD'&host='$HOSTNAME'&host='$ALLHOST''>> $PFAD/log.txt
	echo " " >> $PFAD/log.txt
	echo "-------------------------------------------" >> $PFAD/log.txt
	echo " " >> $PFAD/log.txt
	echo "Update der IP beendet..."
fi

sleep $INTERVALL

done
Im Skript sind nur der Authentifizierungskey und der Hostname einzutragen. Geprüft wird alle 5 Minuten, ob sich die IP geändert hat. Evtl. kann der Pfad für die Log-Ausgaben noch angepasst werden. Auch das Prüfintervall.

gestartet wird es auf dem Raspi bspw. so:

Code: Alles auswählen

/var/skript/ddupdate.sh &
(natürlich mit angepasstem Pfad ;) )

Alternativ kann es auch in die rc.local eingefügt werden, damit es beim Raspi Neustart automatisch startet.

Es ist so in dieser Form auch auf der Coolstream lauffähig!

Viel Spaß damit.
Dateianhänge
ddupdate.zip
(962 Bytes) 141-mal heruntergeladen
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1287
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 3 times

Re: [HowTo] ddnss.de Prüf-/Update-Skript

Beitrag von fred_feuerstein »

ergänzend dazu (da mich ein User darauf angesprochen hat) noch eine kleine Anleitung, um das Skript auf der Coolstream laufen zu lassen und automatisch zu starten.

Dazu das Skript nach /var/tuxbox/plugins kopieren und Rechte auf 755 setzen.
Dann ein neues Skript erstellen mit folgendem Inhalt:

Code: Alles auswählen

#!/bin/sh

/var/tuxbox/plugins/ddupdate.sh &

Und dieses Skript unter /var/etc/init.d speichern mit dem Namen: S91ddupdate und auf Rechte 755 setzen.

Alternativ habe ich dieses Startskript mal angehängt.


Die weitere Alternative wäre generell, Inadyn zu nutzen. Das kann auch mit ddnss umgehen.
Dateianhänge
s99ddupdate.zip
(203 Bytes) 131-mal heruntergeladen
Antworten

Zurück zu „Raspberry Pi“