timothymiller/cloudflare-ddns

🦀 Rust based dynamic DNS (DDNS) updater for Cloudflare

View on GitHub ↗Jump to charts ↓Open shareable report →

Summary Information

Updated 48 minutes ago
Added to GitGenius on September 15th, 2026
Created on September 29th, 2019
Open Issues & Pull Requests: 6 (+0)
GitHub issues: Enabled
Number of forks: 431
Total Stargazers: 4,513 (+0)
Total Subscribers: 18 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.0 hours
Mean response time: 85.0 days
90th percentile: 273.7 days
Tracked items: 52

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 74 days
Stale 30+ days: 2
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

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.