45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Konfiguration
|
|
DYNDNS_ACCOUNT="356205"
|
|
PASSWORD="yaytVupov9"
|
|
HOSTNAME="cloud.schoedl.bayern"
|
|
UPDATE_URL_BASE="https://${DYNDNS_ACCOUNT}:${PASSWORD}@carol.selfhost.de/nic/update?hostname=${HOSTNAME}"
|
|
|
|
# Pfade zu den Dateien, in denen die letzte bekannte IP gespeichert wird
|
|
LAST_IP4_FILE="./last_ip4.txt"
|
|
LAST_IP6_FILE="./last_ip6.txt"
|
|
|
|
# --- IPv4 Prüfung und Update ---
|
|
CURRENT_IP4=$(curl -s -4 icanhazip.com)
|
|
LAST_IP4=""
|
|
|
|
if [ -f "$LAST_IP4_FILE" ]; then
|
|
LAST_IP4=$(cat "$LAST_IP4_FILE")
|
|
fi
|
|
|
|
if [ -n "$CURRENT_IP4" ] && [ "$CURRENT_IP4" != "$LAST_IP4" ]; then
|
|
echo "IPv4-Adresse hat sich geändert ($LAST_IP4 -> $CURRENT_IP4). Update wird gesendet."
|
|
curl -s "${UPDATE_URL_BASE}&myip=${CURRENT_IP4}"
|
|
echo "$CURRENT_IP4" > "$LAST_IP4_FILE"
|
|
else
|
|
echo "IPv4-Adresse unverändert oder Fehler bei der Ermittlung. Kein Update nötig."
|
|
fi
|
|
|
|
# --- IPv6 Prüfung und Update ---
|
|
CURRENT_IP6=$(curl -s -6 icanhazip.com)
|
|
LAST_IP6=""
|
|
|
|
if [ -f "$LAST_IP6_FILE" ]; then
|
|
LAST_IP6=$(cat "$LAST_IP6_FILE")
|
|
fi
|
|
|
|
if [ -n "$CURRENT_IP6" ] && [ "$CURRENT_IP6" != "$LAST_IP6" ]; then
|
|
echo "IPv6-Adresse hat sich geändert ($LAST_IP6 -> $CURRENT_IP6). Update wird gesendet."
|
|
curl -s "${UPDATE_URL_BASE}&myip6=${CURRENT_IP6}"
|
|
echo "$CURRENT_IP6" > "$LAST_IP6_FILE"
|
|
else
|
|
echo "IPv6-Adresse unverändert oder Fehler bei der Ermittlung. Kein Update nötig."
|
|
fi
|
|
|
|
echo "Skriptlauf abgeschlossen." |