Ddclient

Ddclient is a Perl-based client that keeps dynamic DNS (DDNS) records in sync with your current public IP address.

  • Home Automation
  • Network Services
  • Tools & Utilities
Ddclient is a Perl-based client that keeps dynamic DNS (DDNS) records in sync with your current public IP address. It supports many DNS providers, including Cloudflare, deSEC, and DigitalOcean, and can fetch your public IP in several different ways, giving self-hosters a lightweight, provider-agnostic alternative to vendor-supplied DDNS tools.

Platform availability

Available on 4 of 9 platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS
  • Proxmox
  • Helm
  • Mac (not listed)
  • Windows (not listed)
  • Linux (not listed)

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

73/100 Good

Maintained
78last commit 113 days ago
Popular
713,560 GitHub stars
Easy to install
654 install platforms, install notes, Docker image
Light to run
No data

Based on 3 of 4 factors.

Availability: platform listings confirmed today, links checked 14 days ago

GitHub stars
3,560
Open issues
144
Last commit
2026-06-22
Latest release
v4.0.0
License
GPL-2.0
Activity
stale

Checked 4 days ago - source: GitHub (ddclient/ddclient)

Resources & Compatibility

ARM (e.g. Raspberry Pi) is supported.

Checked 14 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Pick your DNS provider protocol Set protocol, login/password or API keys, and your hostname in ddclient.conf; if any are missing or wrong, ddclient won’t update your DNS records. source
  • Keep API keys/passwords private If your provider uses API keys or a password, replace the examples and store the real values safely; leaking them lets someone change your DNS. source
  • Command-line settings override the file If you start ddclient with -protocol, -login, or -password, those command-line settings beat ddclient.conf; if your file looks right but updates fail, check for conflicting flags. source

Fetched 5 days ago - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

How do I make ddclient run as a daemon with a fixed update interval?

Edit /etc/default/ddclient and set run_daemon to the string true. Set daemon_interval to the number of seconds you want between dynamic DNS updates.

Why might ddclient not pick up an IP change made through a provider's web interface?

ddclient relies on its own cache to verify IP changes instead of querying DNS. This is intended to avoid problems caused by bad DNS servers or propagation delays.

Which common IP-fetching source can cause ddclient to record the wrong address?

The park-your-domain IP-fetching source can cause ddclient to set configured domains to 1.0.1.1.

Can ddclient update self-hosted DNS servers using RFC 2136?

Yes, ddclient supports RFC 2136 updates through protocol=nsupdate for services such as ISC BIND, Knot DNS, and Technitium DNS Server. DynV6 can also use protocol=dyndns2 or nsupdate.

What should I check before reporting a ddclient problem?

Check that the issue is not a duplicate and that it still occurs on the latest version of ddclient. Then create a GitHub issue if you need help or want to report a bug.

Answers sourced from ddclient.net, ddclient.net, github.com, www.reddit.com, www.redditmedia.com

Community

Collected 13 days ago - public community threads