| # | Name | Job | Time | Last Modified | |
|---|---|---|---|---|---|
| 1. | totolab.desec.io | DOMAIN="totolab.dedyn.io"; SUB="*"; TOKEN="6KcUM719mLQy8CTcYB8BCjjW6yZE"; LOG=""; ERR=""; L="${LOG:-/dev/stdout}"; E="${ERR:-/dev/stderr}"; HOST="${SUB:+$SUB.}${DOMAIN}"; ENCHOST="${HOST//\*/%2A}"; CUR=$(curl -fsS https://checkip.dedyn.io 2>> "$E"); if [ -z "$CUR" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] Failed to fetch WAN IP" >> "$E"; else DNS=$(dig +short "$HOST" @ns1.desec.io 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | head -n1); [ -z "$DNS" ] && DNS=$(getent ahostsv4 "$HOST" 2>/dev/null | awk 'NR==1{print $1}'); DNS="${DNS:-NONE}"; DEC="none"; [ "$CUR" != "$DNS" ] && DEC="changed"; H=$(date '+\%H' | tr -d '\\ '); M=$(date '+\%M' | tr -d '\\ '); [ "$DEC" = "none" ] && [ $(( 10#${H:-0} % 6 )) -eq 0 ] && [ $(( 10#${M:-0} )) -lt 5 ] && DEC="forced"; if [ "$DEC" = "none" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: none] Host: $HOST | DNS IP: $DNS | Current IP: $CUR" >> "$L"; else if curl -fS "https://update.dedyn.io/?hostname=$ENCHOST" -u "$HOST:$TOKEN" 2>> "$E" > /dev/null; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: $DEC] Host: $HOST | DNS IP: $DNS | Current IP: $CUR" >> "$L"; else echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] deSEC update call failed for $HOST" >> "$E"; fi; fi; fi | 5 * * * * | an hour ago | Run now Edit Disable |
| 2. | FreeMyIP update | DOMAIN="totolab.dedyn.io"; SUB="*"; TTL="3600"; TOKEN="viYBjKFZwaBwd5GFGSz9ZToTxyPm"; LOG="/var/log/desec_update.log"; ERR="/var/log/desec_err.log"; HOST="${SUB:+$SUB.}${DOMAIN}"; CUR=$(curl -fsS https://checkip.dedyn.io 2>> "$ERR"); if [ -z "$CUR" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] Failed to fetch WAN IP" >> "$ERR"; else OLD=$(cat /tmp/desec_ip 2>/dev/null || echo "NONE"); DEC="none"; [ "$CUR" != "$OLD" ] && DEC="changed"; [ "$DEC" = "none" ] && { [ -n "$(find /tmp/desec_ip -mmin +360 2>/dev/null)" ] || [ "$OLD" = "NONE" ]; } && DEC="forced"; if [ "$DEC" = "none" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: none] Host: $HOST | Prior IP: $OLD | Current IP: $CUR" >> "$LOG"; else if curl -fsS "https://update.dedyn.io/?hostname=$HOST&ttl=$TTL" -u "$HOST:$TOKEN" 2>> "$ERR" > /dev/null; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: $DEC] Host: $HOST | Prior IP: $OLD | Current IP: $CUR | TTL: $TTL" >> "$LOG" && echo "$CUR" > /tmp/desec_ip; else echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] deSEC update call failed for $HOST" >> "$ERR"; fi; fi; fi | 5 * * * * | 4 days ago | Enable |