ddclient is a long-standing, Perl-based Dynamic DNS client that keeps DNS records updated when your public IP changes. It supports a wide roster of DNS providers and APIs, allowing both A and AAAA updates so IPv4 and IPv6 hosts remain reachable. The client can discover your current address via network interfaces or external check services, which is crucial for NAT’d home connections. It runs as a daemon or from cron, with configurable intervals, SSL/TLS for provider communication, and robust logging to aid troubleshooting. A single configuration file defines multiple hosts, credentials, and per-record options, making complex setups straightforward. In practice, ddclient turns dynamic residential or small-office internet links into stable hostnames for VPNs, home labs, and self-hosted services.
Features
- Automatically updates dynamic DNS entries when IP changes
- Supports a wide range of DDNS providers and common use cases
- Runs as a daemon or manual/automatic invocations supported
- Written in Perl, using curl for network transport
- Includes features like HTTPS support, MX, wildcard updates, abuse avoidance, retries, systemd integration, logging, and email alerts
- Configured via plain-text config, highly scriptable and extensible