# jeessy2/ddns-go

Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...

Repository: https://github.com/jeessy2/ddns-go
Canonical: https://ross.abutalabs.com/products/ddns-go
Language: Go
License: MIT
License Family: permissive
Topics: ddns, alidns, dnspod, cloudflare, baiduyun, porkbun, ddns-go
Last push: 2026-08-19T12:29:15+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 98, longevity 100
- inputs: {"age_days": 2198, "days_push": 14, "days_rel": 14, "gap_med": 8, "n_releases_24m": 54}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 17264, forks 1880 (observed 2026-08-28T04:11:17.894844+00:00)

## What it is
DDNS-GO is a self-hosted dynamic DNS (DDNS) tool written in Go that automatically detects your public IPv4/IPv6 address and updates DNS records across many providers like Cloudflare, Aliyun, Tencent Cloud, Dnspod, Huawei Cloud, GoDaddy, Namecheap, and more. It runs as a system service or Docker container, offers a web UI for configuration, supports multiple domains and providers simultaneously, and includes webhook notifications and TTL settings.

## Use cases
- keep my home server domain pointing to my changing public IP
- automatically update DNS records when my ISP changes my IPv4 or IPv6 address
- set up dynamic DNS for Cloudflare, Aliyun, or Tencent Cloud domains
- run a lightweight DDNS client on a router, NAS, or Raspberry Pi
- sync multiple domains across different DNS providers from one tool
- get notified via webhook when my public IP changes
- self-host a DDNS service with a web interface instead of a cron script
- update DNS records for a domain behind a NAT with a dynamic IP

## When to choose
- you need a simple, actively maintained DDNS client with a web UI and broad DNS provider support
- you want to run it as a system service or Docker container on Linux, macOS, Windows, ARM, or RISC-V
- you need to manage multiple domains and multiple DNS providers from a single tool
- you want webhook notifications and TTL control out of the box
- you prefer a Go binary with no heavy dependencies over shell-script DDNS solutions

## When to avoid
- your DNS provider is not among the supported list and you cannot use the generic Callback mode
- you need a full-featured DNS management platform rather than just dynamic IP record updates
- you cannot run a persistent service or container and only need a one-off DNS update
- you require enterprise-grade HA or clustering for DNS updates

## Facets
- artifact type: service
- maturity: active
- function: networking, webhook, self-hosted, developer-tools
- domain: networking, self-hosted, developer-tools
- platform: windows, cross-platform, cli
- tags: ddns, dynamic-dns, dns-provider-integrations, ipv6, web-ui, systemd-service, docker-deployment, cloudflare, aliyun, tencent-cloud, dnspod, huawei-cloud, godaddy, namecheap, porkbun, namesilo, callback-webhook, ip-detection, multi-domain, ttl-support, go-binary, arm-support, risc-v-support, reverse-proxy-friendly, log-viewer, scheduled-sync, multi-provider, custom-parameters, public-ip-tracking, domain-management, automation, linux, macos, docker, web-server

## Member repositories
- jeessy2/ddns-go (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:17.894844+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:03:26.580290+00:00, confidence not recorded.
  - readme: https://github.com/jeessy2/ddns-go (fetched 2026-08-28T04:11:17.894844+00:00, sha c47ac14650e8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
