A self-hosted dynamic DNS client with multi-provider support and a built-in web panel, written in Go.
GoDNS is a self-hosted dynamic DNS client that automatically updates DNS records when your public IP address changes. It solves the problem of hosting services from a dynamic IP, such as a home server, by ensuring your domain name always points to your current IP. Written in Go, it supports over 20 DNS providers and includes a built-in web panel for management.
Home lab enthusiasts, developers running self-hosted services from dynamic IPs, and anyone needing reliable DDNS without relying on proprietary services. It's ideal for Raspberry Pi users, homelab administrators, and those managing domains across multiple DNS providers.
Developers choose GoDNS for its extensive provider support, self-hosted flexibility, and built-in web interface. It offers a robust, open-source alternative to commercial DDNS services, with cross-platform compatibility and rich notification options.
A dynamic DNS client tool that supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports over 20 DNS providers including Cloudflare, DigitalOcean, and AliDNS, allowing centralized management of domains across different services in a single config file, as detailed in the provider table.
Includes a web UI for real-time monitoring and configuration tweaking without restarting, shown in the README screenshot with domain status and settings accessible via a local server.
Sends alerts via email, Telegram, Slack, Discord, and webhooks with customizable templates, ensuring instant updates on IP changes as per the configuration examples.
Updates both IPv4 and IPv6 records by fetching IPs from configurable online URLs or local network interfaces, with fallback options and round-robin support for reliability.
Several providers like Google Domains, DuckDNS, and Dynv6 cannot update root domains, limiting functionality for apex record management, as noted in the provider compatibility table.
Requires manual editing of JSON or YAML files with provider-specific API keys and domain settings, which can be error-prone and daunting for non-technical users despite the examples.
Lacks built-in clustering or automatic failover; if the GoDNS instance crashes, DNS updates stop until manual intervention, posing a single point of failure for critical services.