ddns-go is a dynamic DNS client that automatically detects your public IPv4 or IPv6 address and updates DNS records across multiple providers.
The tool solves the problem of maintaining DNS records for hosts with dynamic IP addresses. It works by periodically querying your public IP address through network interfaces, API endpoints, or custom commands, then synchronizing that address with your configured DNS provider. The default sync interval is five minutes, though this is configurable. The tool supports numerous DNS providers including Aliyun, Tencent Cloud, Dnspod, Cloudflare, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, and NameSilo, among others, and allows configuring multiple providers and domains simultaneously.
You should choose this tool if you need a lightweight, self-hosted DDNS solution that works across Mac, Windows, and Linux systems on various architectures including ARM and x86. It suits projects requiring multi-domain DNS updates or those needing to support multiple DNS providers in parallel. The tool includes a web interface for configuration, runs as a system service, supports TTL settings, and offers Webhook notifications. It also supports custom parameters for certain DNS providers to enable features like geographic routing or multi-IP resolution.
The maintainers respond to new issues and pull requests within hours. Work in the issue tracker centers on bug fixes, enhancements, and maintenance tasks marked with corresponding labels.