Automate Cloudflare Dynamic DNS with GhostlyDDns

Last Update 29/01/2026
Price
10 €Approximately £8.66

Privacy-focused .NET 10 CLI tool that keeps Cloudflare DNS records synchronised with your dynamic IP. Zero telemetry, YAML configuration, cross-platform support.

GhostlyDDns is a privacy-focused .NET 8 command line tool that keeps existing Cloudflare A and AAAA records synchronised with the public IP of your network edge. It forms part of the Ghostly Tools suite, providing developers, creators, and self-hosters with a reliable Cloudflare dynamic DNS automation solution without relying on managed services.

The runtime monitors your WAN address, detects IPv4 and IPv6 changes via multiple endpoints, and only contacts the Cloudflare API when updates are necessary. Serilog-based diagnostics, controlled exponential backoff, and consistent exit codes provide teams with the observability required for unattended operation.

GhostlyDDns, part of Ghostly Tools privacy-focused software by GhostlyInc, offers a lightweight automation layer for self-hosted networks requiring continuous Cloudflare accuracy without exposing credentials to external SaaS providers.

GhostlyDDns CLI synchronising Cloudflare DNS records with a dynamic IP
A privacy-focused CLI that maintains existing Cloudflare A and AAAA records in sync without relying on external services.

Editions and licensing

Select the GhostlyDDns version compatible with your operating system. Each Gumroad licence includes lifetime updates for all GhostlyDDns 1.x releases, and the same YAML configuration applies across editions.

Lifetime updates for all GhostlyDDns 1.x releases are included with every licence.

Feature highlights

Privacy-first operations

Run GhostlyDDns entirely on your own infrastructure with no telemetry, account binding, or external control planes.

Change-aware updates

Multi-endpoint IP discovery, in-memory caching, and disciplined backoff prevent unnecessary Cloudflare API calls.

Cross-platform deployment

Single-file .NET 8 binaries are available for Windows, Linux, and ARM64, allowing you to use the same configuration file across all platforms.

Use case examples

GhostlyDDns assists self-hosted teams, agencies, and remote workers in maintaining uptime by automating DNS updates when WAN addresses change.

  • Ensure homelab VPN gateways remain accessible after each ISP lease renewal without exposing routers to remote management.
  • Maintain white-label client portals on Cloudflare while operating the application stack from dynamic office connections.
  • Safeguard broadcasting setups or creative studios by keeping streaming ingest domains updated, even during mobile failover.
  • Support managed service providers managing multiple customer zones using a single lightweight automation agent.

CLI commands

The GhostlyDDns CLI offers specific commands for configuration scaffolding, dry runs, single executions, and continuous monitoring. Built-in help is accessible via various flags.

CLI
ghostly-ddns init-config [--path|--p|-p <path>]
ghostly-ddns dry --config|--c|-c <path>
ghostly-ddns once --config|--c|-c <path>
ghostly-ddns run --config|--c|-c <path>
ghostly-ddns --help | --h | -h
ghostly-ddns --version | --v | -v

Configuration schema

All runtime settings are contained in a single YAML file. Include the Cloudflare API token, polling interval, IP detection preferences, log retention, and records to maintain. GhostlyDDns validates the schema at startup and issues actionable warnings if values are missing.

YAML
cloudflare:
  api_token: CF_API_TOKEN

update:
  interval_seconds: 120

ip_detection:
  detect_ipv4: true
  detect_ipv6: false
  v4_endpoints:
    - https://api.ipify.org
    - https://ipv4.icanhazip.com
  v6_endpoints:
    - https://api6.ipify.org

logging:
  retention_days: 30

records:
  - name: home.example.com
    type: A
    proxied: true
    ttl: auto

Validation rules require an API token, at least one defined record, TTL values set to auto or above sixty, and each enabled detector to have at least one endpoint.

Logging and diagnostics

Serilog provides structured console output alongside rolling file logs stored in the logs directory. Retention defaults to thirty daily files but can be customised per deployment via the YAML configuration.

Log entries record detected IP addresses, skipped updates when no changes occur, Cloudflare status codes, and retry attempts triggered by the exponential backoff policy. These diagnostics ensure GhostlyDDns is production-ready for unattended operation.

Deployment playbooks

GhostlyDDns includes guidance for Linux systemd timers and Windows Task Scheduler templates, enabling teams to standardise automation within minutes.

Linux systemd service

Install the binary under /usr/local/bin, place the configuration in /etc/GhostlyDDns, and run the agent as a dedicated service account.

systemd
[Unit]
Description=GhostlyDDns updater
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ghostly-ddns run --config /etc/GhostlyDDns/config.yaml
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target

Linux systemd timer

Pair the timer with the service to schedule repeated executions and use exponential backoff during Cloudflare connectivity issues.

systemd
[Unit]
Description=GhostlyDDns schedule

[Timer]
OnUnitActiveSec=120
AccuracySec=1s
Unit=ghostly-ddns.service

[Install]
WantedBy=timers.target

Windows Task Scheduler

Import the official XML template or create a task with highest privileges that runs the command every few minutes and restarts on failure.

Task Scheduler
schtasks /Create ^
  /SC MINUTE /MO 5 ^
  /TN "GhostlyDDns" ^
  /TR "C:\\GhostlyDDns\\ghostly-ddns.exe run --config C:\\GhostlyDDns\\config.yaml" ^
  /RL HIGHEST ^
  /F
  • Program path C GhostlyDDns ghostly dash ddns.exe
  • Arguments run --config C GhostlyDDns config.yaml
  • Logs are written beside the executable in the logs directory

Frequently asked questions

Find quick answers on GhostlyDDns features, Cloudflare requirements, and best practices before deploying to production.

GhostlyDDns support insights

Next steps

Choose your preferred GhostlyDDns edition, download the binary from Gumroad, and deploy it alongside other Ghostly Tools privacy-focused utilities by GhostlyInc.

Explore these guides to improve your privacy-focused infrastructure and DNS management