Hey zusammen,
Ich habe mir für meine Diskstation ein Skript gebaut, mit dem ich mein DynDNS Update mache. Ausführen kann man es via Crontab. Das Skript prüft dann, ob sich die IPv6-Adresse geändert hat und updatet diese entsprechend.
#!/bin/bash
# Get public ipv6 address
ip=$(ip -6 addr list scope global $device | grep -v " fd" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)
USER=<USERNAME>
PASSWORD=<PASSWORD>
# Exiting if ip address is empty
if [ -z $ip ];then
echo "IP address is empty. Exiting!"
exit 1
fi
# Exiting if ip address is unchanged
if [ $(cat address.txt) == "$ip" ];then
echo "IP address is unchanged. Ending."
exit 0
fi
#Make request to dnshome and set new ipv6
RESPONSE=$(curl -6 --get --data-urlencode "u=$USER" --data-urlencode "p=$PASSWORD" --data-urlencode "ip6=$ip" https://dnshome.de/dyndns.php 2>&1)
#echo $RESPONSE
# Return with code 0 if everything is ok and everything is ok, if ip address is in response
if [[ $RESPONSE =~ $ip ]];then
echo "Finished. Everything is ok."
#save ip address to address.txt to prevent updates on unchanged ip
echo $ip > address.txt
exit 0
else
echo "Finished with errors!"
exit 1
fi
Im Tab "Einrichtung" auf der Webseite ist ja kein Skript aufgeführt bzw. die Aussage "Sollte sich im Forum ein solches Beispiel anfinden oder ein User sendet uns etwas zu, werden wir dies ggf. hier veröffentlichen.", daher dachte ich einfach, ich poste es hier mal.
Vielleicht gibt es ja noch andere Personen, die das auch brauchen können 😃
LG Emanuel