Cloudflare DDNS is a dynamic DNS client that automatically updates DNS records on Cloudflare when your public IP address changes, enabling remote access to your home network via a custom domain without requiring a static IP.
The tool solves the problem of maintaining DNS records for devices behind ISPs that assign dynamic IP addresses. It detects your current public IP by querying one of several providers—Cloudflare Trace, Cloudflare DNS-over-HTTPS, ipify, a local network interface, a custom URL, or a static address—and updates the corresponding DNS records in Cloudflare. The approach is straightforward: run it as a scheduled service that periodically checks your IP and pushes updates to Cloudflare's API whenever a change is detected.
You should choose this tool if you need a lightweight, self-hosted DDNS solution for Cloudflare-managed domains. It suits home networks, small servers, and edge devices where resource efficiency matters. The project distinguishes itself through its minimal footprint: the Docker image is approximately 1.1 MB and uses around 3.5 MB of RAM at runtime, built as a fully static binary with zero runtime dependencies. It supports IPv4 and IPv6 dual-stack operation, multiple domains across different zones, wildcard records, and internationalized domain names. Additional capabilities include WAF IP list management, notifications via Discord, Slack, Telegram and other services, heartbeat monitoring through Healthchecks.io and Uptime Kuma, flexible cron-based scheduling, and dry-run mode for previewing changes. The tool includes safeguards such as filtering out Cloudflare anycast IPs and shared address space ranges, and it never deletes existing records if IP detection fails transiently.
The project maintains steady activity with regular commits addressing bug fixes and feature refinements. Development includes responsiveness to reported issues and incorporation of user feedback into updates. The codebase shows attention to edge cases and reliability concerns, particularly around preventing data loss during transient failures and handling various network configurations.