
DDNS-GO
Keeps a domain name pointed at your home or office public IP, updating DNS records automatically.
- Stars
- 17.5k
- Forks
- 1.9k
- Licence
- MIT
- Language
- Go
- Last update
- 4 days ago
- Type
- App
What it is
DDNS-GO detects your current public IPv4 or IPv6 address and updates the matching DNS record with your domain provider. This helps when your home or office internet connection has a changing IP, so a domain name keeps reaching your machine. It is configured through a web page on your own computer.
- Point a subdomain at your home server so you can reach it from outside your network
- Keep IPv6 records updated alongside IPv4 records
- Send a notification (for example to a chat app via Webhook) when your public IP changes
- Run it in Docker on a home server or NAS and manage it through the browser
Great for
- People who self-host services at home and need a domain to follow a changing IP
- Users with a home network who want a simple web-based setup
- Owners of domains with one of the supported providers such as Aliyun, Tencent Cloud, Cloudflare, or DNSPod
- Users who want to run it as a background service on Mac, Windows, or Linux
Not ideal for
- Users whose DNS provider is not on the supported list, unless they can use the Callback option, since it requires writing custom request templates
- Users who do not control a public IP address (for example, behind carrier-grade NAT) since updates cannot reach them anyway
- Anyone who wants a hosted service with no local setup
How to get it
- 1
Download the app
Install as a service on Mac/Linux (after downloading and extracting from Releases)
sudo ./ddns-go -s installDocker run with host networking
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go - 2
Run it
- Download and extract the release for your system from the Releases page
- Run the install command for the service (sudo ./ddns-go -s install on Mac/Linux, or .\ddns-go.exe -s install on Windows as administrator)
- Open http://localhost:9876 in your browser to complete the initial configuration
- Enter your DNS provider credentials and domain names, then save
- 3
Get the most out of it
- Use the -f flag to change the sync interval in seconds (the default is 5 minutes)
- Use -cacheTimes to control how often the DNS provider is compared against the current IP
- Set up Webhook notifications to get alerts when an IP change succeeds or fails
- Use -c to point to a custom configuration file location
- Put the web interface behind a reverse proxy with HTTPS if you enable public access
Downloads
Strengths
- Supports many DNS providers listed in the README, including Chinese and international services
- Setup is done through a local web page and runs as a system service
- Released under the MIT license and actively maintained, with a recent push date
Trade-offs
- The README is written mainly in Chinese, and some configuration details point to external wiki pages
- The web interface is exposed on port 9876 by default, so the README recommends using HTTPS through a reverse proxy when enabling public access
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| ddns-go (this) | 17.5k | App | beginner | 4 days ago | People who self-host services at home and need a domain to follow a changing IP |
| FlareSolverr | 16.1k | App | intermediate | 12 days ago | Developers whose scripts are blocked by Cloudflare challenges on pages they are allowed to access |
| cloud-mail | 15.3k | App | intermediate | 11 days ago | People who want their own email service on a domain they control |
| hono | 32.8k | Library | beginner | 5 days ago | Developers writing TypeScript or JavaScript HTTP APIs |
| react-starter-kit | 23.7k | Learning resource | advanced | 4 days ago | Developers starting a SaaS-style web app who want a pre-built structure |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.