back to home

TimothyYe / godns

A dynamic DNS client tool that supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go.

1,743 stars
242 forks
18 issues
GoTypeScriptMakefile

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing TimothyYe/godns in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/TimothyYe/godns)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

[![Apache licensed][9]][10] [![Docker][3]][4] [![Go Report Card][11]][12] [![GoDoc][13]][14] [3]: https://img.shields.io/docker/image-size/timothyye/godns/latest [4]: https://hub.docker.com/r/timothyye/godns [9]: https://img.shields.io/badge/license-Apache-blue.svg [10]: LICENSE [11]: https://goreportcard.com/badge/github.com/timothyye/godns [12]: https://goreportcard.com/report/github.com/timothyye/godns [13]: https://godoc.org/github.com/TimothyYe/godns?status.svg [14]: https://godoc.org/github.com/TimothyYe/godns GoDNS is a dynamic DNS (DDNS) client tool. It is a rewrite in Go of my early DynDNS open-source project. 查看中文帮助文档 Hosted version If you want a managed DDNS service instead of self-hosting GoDNS yourself, try godns.app. It is a hosted option for users who want DDNS without running their own server, managing DNS manually, or even owning a domain in advance. Below is the built-in web panel of the open-source GoDNS project: • Supported DNS Providers • Supported Platforms • Pre-conditions • Installation • Usage • Configuration • Overview • Multi-Provider Support • Configuration file format • Dynamic loading of configuration • Configuration properties • Update root domain • Configuration examples • Cloudflare • DigitalOcean • DNSPod • Dreamhost • Dynv6 • Google Domains • AliDNS • DuckDNS • No-IP • HE.net • Scaleway • Linode • Strato • LoopiaSE • Infomaniak • Hetzner • OVH • Porkbun • Dynu • IONOS • TransIP • Notifications • Email • Telegram • Slack • Discord • Pushover • Bark • Ntfy • Webhook • Webhook with HTTP GET request • Webhook with HTTP POST request • Miscellaneous topics • IPv6 support • Network interface IP address • SOCKS5 proxy support • Display debug info • Obtain IP from RouterOS • Multiple API URLs • Recommended APIs • Web Panel • Running GoDNS • Manually • As a manual daemon • As a managed daemon (with upstart) • As a managed daemon (with systemd) • As a managed daemon (with procd) • As a Docker container • As a Windows service • Contributing • Setup the frontend development environment • Build the frontend • Run the frontend --- Supported DNS Providers | Provider | IPv4 support | IPv6 support | Root Domain | Subdomains | | ------------------------------------- | :----------------: | :----------------: | :----------------: | :----------------: | | [Cloudflare][cloudflare] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [DigitalOcean][digitalocean] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [Google Domains][google.domains] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [DNSPod][dnspod] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [Dynv6][dynv6] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [HE.net (Hurricane Electric)][he.net] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [AliDNS][alidns] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [DuckDNS][duckdns] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [Dreamhost][dreamhost] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [No-IP][no-ip] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [Scaleway][scaleway] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [Linode][linode] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [Strato][strato] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [LoopiaSE][loopiase] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [Infomaniak][infomaniak] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [Hetzner][hetzner] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [OVH][ovh] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [Porkbun][porkbun] | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [Dynu][dynu] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [IONOS][ionos] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | | [TransIP][transip] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | [cloudflare]: https://cloudflare.com [digitalocean]: https://digitalocean.com [google.domains]: https://domains.google [dnspod]: https://www.dnspod.cn [dynv6]: https://dynv6.com [he.net]: https://dns.he.net [alidns]: https://help.aliyun.com/product/29697.html [duckdns]: https://www.duckdns.org [dreamhost]: https://www.dreamhost.com [no-ip]: https://www.noip.com [scaleway]: https://www.scaleway.com/ [linode]: https://www.linode.com [strato]: https://strato.de [loopiase]: https://www.loopia.se/ [infomaniak]: https://www.infomaniak.com/ [hetzner]: https://hetzner.com/ [ovh]: https://www.ovh.com [porkbun]: https://porkbun.com/ [dynu]: https://www.dynu.com/ [ionos]: https://www.ionos.com/ [transip]: https://www.transip.net/ Tip: You can follow this issue to view the current status of DDNS for root domains. Supported Platforms • Linux • MacOS • ARM Linux (Raspberry Pi, etc.) • Windows • MIPS32 platform To compile binaries for MIPS (mips or mipsle), run: The binary can run on routers as well. Pre-conditions To use GoDNS, it is assumed: • You registered (now own) a domain • Domain was delegated to a supported DNS provider (i.e. it has nameserver records pointing at a supported provider) Alternatively, you can sign in to DuckDNS (with a social account) and get a subdomain on the duckdns.org domain for free. Installation Build GoDNS by running (from the root of the repository): You can also download a compiled binary from the releases. Usage Print usage/help by running: Configuration Overview • Make a copy of config_sample.json and name it as , or make a…