Skip to content

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
Step-by-step guide: how to use DDNS-GOInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Download the app

    Install as a service on Mac/Linux (after downloading and extracting from Releases)

    sudo ./ddns-go -s install

    Docker run with host networking

    docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
ddns-go (this)17.5kAppbeginner4 days agoPeople who self-host services at home and need a domain to follow a changing IP
FlareSolverr16.1kAppintermediate12 days agoDevelopers whose scripts are blocked by Cloudflare challenges on pages they are allowed to access
cloud-mail15.3kAppintermediate11 days agoPeople who want their own email service on a domain they control
hono32.8kLibrarybeginner5 days agoDevelopers writing TypeScript or JavaScript HTTP APIs
react-starter-kit23.7kLearning resourceadvanced4 days agoDevelopers 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.