Cloudflare-DDNS: A Feature-Rich and Robust Cloudflare DDNS Updater

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Cloudflare-DDNS: A Feature-Rich and Robust Cloudflare DDNS Updater

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.

Repository Information

Analyzed by OSRepos on October 12, 2025

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

Cloudflare-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.

Installation

The 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).

Step 1: Create your docker-compose.yml file

services:
  cloudflare-ddns:
    image: favonia/cloudflare-ddns:latest
    network_mode: host # Bypasses network isolation, makes IPv6 easier
    restart: always # Restart the updater after reboot
    environment:
      - CLOUDFLARE_API_TOKEN=YOUR-CLOUDFLARE-API-TOKEN # Your Cloudflare API token
      - DOMAINS=example.org,www.example.org # Your domains (separated by commas)
      - PROXIED=true # Optional: Tell Cloudflare to cache webpages and hide your IP
      # - IP6_PROVIDER=none # Optional: Add this line to disable IPv6 completely

Step 2: Run the container

docker-compose pull cloudflare-ddns
docker-compose up --detach --build cloudflare-ddns

Why Use Cloudflare-DDNS?

Cloudflare-DDNS stands out with its comprehensive features and robust design:

  • Efficiency: The Docker image is less than 5 MB, it re-uses HTTP connections, and caches Cloudflare API responses to reduce usage.
  • 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.
  • Cloudflare-specific Features: Toggle Cloudflare proxying, set comments for new DNS records, and maintain Cloudflare WAF lists of detected IP addresses.
  • 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).
  • Minimum Privacy Impact: By default, public IP addresses are obtained via Cloudflare's debugging page, minimizing privacy concerns.
  • 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.

Links

Related repositories

Similar repositories that may be relevant next.

Source repository

Open the original repository on GitHub.

7 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️