{"name":"Cloudflare-DDNS: A Feature-Rich and Robust Cloudflare DDNS Updater","description":"Cloudflare-DDNS is a small, feature-rich, and robust Cloudflare DDNS updater written in Go. It automatically detects your machine's public IP addresses and updates DNS records using the Cloudflare API. This tool is ideal for self-hosting enthusiasts needing reliable dynamic DNS management.","github":"https://github.com/favonia/cloudflare-ddns","url":"https://osrepos.com/repo/favonia-cloudflare-ddns","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/favonia-cloudflare-ddns","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/favonia-cloudflare-ddns.md","json":"https://osrepos.com/repo/favonia-cloudflare-ddns.json","topics":["cloudflare","ddns","docker","golang","selfhosted","ipv6","dns","updater"],"keywords":["cloudflare","ddns","docker","golang","selfhosted","ipv6","dns","updater"],"stars":null,"summary":"Cloudflare-DDNS is a small, feature-rich, and robust Cloudflare DDNS updater written in Go. It automatically detects your machine's public IP addresses and updates DNS records using the Cloudflare API. This tool is ideal for self-hosting enthusiasts needing reliable dynamic DNS management.","content":"## Introduction\n\nCloudflare-DDNS is an efficient and robust dynamic DNS (DDNS) updater designed specifically for Cloudflare. Written in Go, this tool automatically detects your public IP addresses (both IPv4 and IPv6) and updates your Cloudflare DNS records. It's built with a small footprint and a strong focus on security and comprehensive domain support.\n\n## Installation\n\nThe easiest way to get started with Cloudflare-DDNS is by using Docker Compose. First, ensure you have Docker and Docker Compose installed on your system. You will need a Cloudflare API Token with appropriate permissions (Zone - DNS - Edit, and optionally Account - Account Filter Lists - Edit for WAF lists).\n\n### Step 1: Create your `docker-compose.yml` file\n\nyaml\nservices:\n  cloudflare-ddns:\n    image: favonia/cloudflare-ddns:latest\n    network_mode: host # Bypasses network isolation, makes IPv6 easier\n    restart: always # Restart the updater after reboot\n    environment:\n      - CLOUDFLARE_API_TOKEN=YOUR-CLOUDFLARE-API-TOKEN # Your Cloudflare API token\n      - DOMAINS=example.org,www.example.org # Your domains (separated by commas)\n      - PROXIED=true # Optional: Tell Cloudflare to cache webpages and hide your IP\n      # - IP6_PROVIDER=none # Optional: Add this line to disable IPv6 completely\n\n\n### Step 2: Run the container\n\nbash\ndocker-compose pull cloudflare-ddns\ndocker-compose up --detach --build cloudflare-ddns\n\n\n## Why Use Cloudflare-DDNS?\n\nCloudflare-DDNS stands out with its comprehensive features and robust design:\n\n*   **Efficiency**: The Docker image is less than 5 MB, it re-uses HTTP connections, and caches Cloudflare API responses to reduce usage.\n*   **Complete Domain Support**: It fully supports simple domains, internationalized domain names, and wildcard domains. You can also toggle IPv4 (`A` records) and IPv6 (`AAAA` records) for each domain.\n*   **Cloudflare-specific Features**: Toggle Cloudflare proxying, set comments for new DNS records, and maintain Cloudflare WAF lists of detected IP addresses.\n*   **Integration with Notification Services**: The updater can report to Healthchecks or Uptime Kuma, and actively send notifications via any service supported by the Shoutrrr library (emails, messaging platforms, webhooks).\n*   **Minimum Privacy Impact**: By default, public IP addresses are obtained via Cloudflare's debugging page, minimizing privacy concerns.\n*   **Attention to Security**: It uses only HTTPS or DNS over HTTPS for IP detection, making it harder to trick the updater. Docker images can be verified with `cosign`, and it relies on established open-source Go libraries.\n\n## Links\n\n*   **GitHub Repository**: [https://github.com/favonia/cloudflare-ddns](https://github.com/favonia/cloudflare-ddns)\n*   **Go Reference**: [https://pkg.go.dev/github.com/favonia/cloudflare-ddns/](https://pkg.go.dev/github.com/favonia/cloudflare-ddns/)\n*   **Docker Hub**: [https://hub.docker.com/r/favonia/cloudflare-ddns](https://hub.docker.com/r/favonia/cloudflare-ddns)","metrics":{"detailViews":6,"githubClicks":7},"dates":{"published":null,"modified":"2025-10-12T09:31:22.000Z"}}