Files
2026-08-07 15:46:33 +02:00

26 lines
898 B
Python

# Copyright (c) 2026 Stefan Koelle (https://stefankoelle.de)
# Licensed under the MIT License. See LICENSE file in project root for details.
import logging
import requests
log = logging.getLogger("freedns")
def update(update_url: str, timeout: int = 15) -> bool:
if not update_url:
log.info("Kein FREEDNS_UPDATE_URL konfiguriert - FreeDNS-Update wird ausgelassen.")
return True
try:
resp = requests.get(update_url, timeout=timeout)
resp.raise_for_status()
answer = resp.text.strip()[:200]
if "has not changed" in answer:
log.info("FreeDNS Webhook Response: IP unveraendert, nichts zu updaten.")
else:
log.info("FreeDNS-Update aufgerufen, Antwort: %s", answer)
return True
except requests.RequestException as exc:
log.error("FreeDNS-Update fehlgeschlagen: %s", exc)
return False