mirror of
https://github.com/skoelle/dyndns-updater.git
synced 2026-09-17 16:10:25 +00:00
26 lines
898 B
Python
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
|