ddns-go
Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...
A background program that watches your internet connection for IP changes and automatically updates your domain DNS records, so a name like home.example.com always reaches your machine even as your IP changes.
DDNS-GO is a Dynamic DNS client. Dynamic DNS, often shortened to DDNS, is a small background program that watches your internet connection, notices when your public IP address changes (which happens automatically with most home broadband lines), and then tells your domain name provider to point your domain at the new address. The end result is that even though your IP keeps changing, a name like home.example.com always reaches your machine.
The program runs on Mac, Windows, and Linux, and supports several CPU architectures including ARM, x86, and RISC-V. It can keep many DNS providers in sync, including Aliyun, Tencent Cloud, Dnspod, Cloudflare, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo, Dynadot, DNSLA, Gcore, IBM NS1 Connect, and others, plus a generic Callback option. It can get the current IP from a public lookup service, a chosen network card, or a custom shell command, and can update several providers at once, handle multiple domains, multi-level subdomains, and both IPv4 and IPv6. By default it checks every five minutes.
You set everything up through a small built-in web page on port 9876, where you fill in provider credentials and the domains to keep updated, and you can also view the last fifty log entries. The README recommends running it behind an HTTPS reverse proxy such as Nginx if the web UI is exposed publicly. There is optional Webhook support, so DDNS-GO can ping a custom URL after each update — the README's examples cover Server酱, Bark, DingTalk, Feishu, Discord, Telegram, and WeChat. You'd use DDNS-GO when self-hosting on a residential connection. It is written in Go and distributed as binaries and a Docker image.
Where it fits
- Self-host a personal website or game server on a home broadband line where your public IP changes regularly.
- Keep a remote-access domain pointing at your home NAS or router without paying for a static IP.
- Receive a notification to Discord, Telegram, or Bark whenever your home public IP address changes.
- Update both IPv4 and IPv6 DNS records across multiple providers and subdomains from one lightweight tool.