A small, feature-rich, and robust Cloudflare DDNS updater written in Go. It automatically detects your public IP addresses and updates Cloudflare DNS records via the API. Supports both IPv4 (A) and IPv6 (AAAA) records, wildcard domains, internationalized domain names, and per-domain proxy toggling. Includes WAF list management for maintaining IP address lists across Cloudflare products. Uses only HTTPS or DNS over HTTPS for secure IP detection with minimum privacy impact. Integrates with Healthchecks.io, Uptime Kuma, and Shoutrrr for notifications. Ships as a lightweight Docker image with cosign verification, also deployable via Docker Compose, Kubernetes, Podman, or system services.
git clone https://github.com/favonia/cloudflare-ddns.git
docker run \
--network host \
-e CLOUDFLARE_API_TOKEN=YOUR-TOKEN \
-e DOMAINS=example.org,www.example.org \
-e PROXIED=true \
favonia/cloudflare-ddns:1