60 lines
1.7 KiB
Bash
60 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# https://forum.netcup.de/netcup-anwendungen/ccp-customer-control-panel/p160313-fritzbox-ip-dns-update/#post160313
|
|
|
|
# Aufruf bei Boot:
|
|
# /volume1/homes/<user>/script/netcup_DDNS.sh start &
|
|
|
|
# Auslesen der DNS-IDs:
|
|
# Die IDs müssen unten dann für jede Domain und jeweils für IPv4 und IPv6 getrennt eingetragen werden
|
|
# /volume1/homes/<user>/script/netcup_api.sh -g example2.com
|
|
# /volume1/homes/<user>/script/netcup_api.sh -g sub.example.com
|
|
|
|
# Aufrufe:
|
|
# /volume1/homes/<user>/script/netcup_DDNS.sh start &
|
|
# /volume1/homes/<user>/script/netcup_DDNS.sh stop
|
|
|
|
domain1="sub.example.com"
|
|
domain2="example2.com"
|
|
domain3=""
|
|
|
|
start() {
|
|
# wait for system startup:
|
|
# sleep 60
|
|
|
|
current_ip=$(curl -s ifconfig.me)
|
|
|
|
while true; do
|
|
new_ip=$(curl -s ifconfig.me)
|
|
|
|
sleep 60
|
|
|
|
if [ "$current_ip" != "$new_ip" ]; then
|
|
# domain 1:
|
|
/volume1/homes/admin/script/netcup_api.sh -M 12345671 @ "$domain1" A "$new_ip"
|
|
/volume1/homes/admin/script/netcup_api.sh -M 12345672 @ "$domain1" AAAA $(curl -6 -q v6.ident.me)
|
|
|
|
# domain 2:
|
|
/volume1/homes/admin/script/netcup_api.sh -M 12345673 @ "$domain2" A "$new_ip"
|
|
/volume1/homes/admin/script/netcup_api.sh -M 12345674 @ "$domain2" AAAA $(curl -6 -q v6.ident.me)
|
|
|
|
# domain 3:
|
|
# …
|
|
|
|
current_ip=$new_ip
|
|
fi
|
|
done
|
|
}
|
|
|
|
stop() {
|
|
kill $(ps aux | grep -v "grep" | grep -E "/bin/bash .*/netcup_DDNS.sh" | awk -F' ' '{print $2}')
|
|
}
|
|
|
|
|
|
if [ "$1" = start ]; then
|
|
echo "start monitoring ..."
|
|
start
|
|
elif [ "$1" = stop ]; then
|
|
echo "stop monitoring ..."
|
|
stop
|
|
fi |