一个轻量的自托管程序,定期为多家 DNS 服务商更新 A/AAAA 记录,并提供 Web 界面。
jeessy2/ddns-go
一款轻量的 Go 工具,自动获取公网 IPv4/IPv6 地址,并更新到多家域名服务商的解析记录。
- Star
- 17,526
- Fork
- 1,900
- 未关闭 Issue
- 16
- 最近提交
- 5天前
这是什么?
DDNS-GO 用于让域名始终指向公网 IP 会变化的家庭或办公网络。它可以通过网页接口、网卡或自定义命令获取当前的公网 IPv4 或 IPv6 地址,地址变化时自动更新对应的 DNS 解析记录。
支持阿里云、腾讯云、DNSPod、Cloudflare、华为云、百度云、Porkbun、GoDaddy、Namecheap 等多家域名服务商,未列出的服务商可通过 Callback 自定义回调接入。可以同时配置多个服务商,也能一次更新多个域名,包括多级子域名。配置在内置网页(默认端口 9876)中完成,并可查看最近 50 条日志。
程序支持 macOS、Windows 和 Linux,覆盖 ARM、x86 和 RISC-V 架构,可安装为系统服务,也可以用 Docker 部署。Webhook 功能可把更新结果推送到飞书、钉钉、Discord、Telegram 等渠道。
核心功能
- 01通过网页接口、网卡或命令获取公网 IPv4 和 IPv6 地址。
- 02支持多家域名服务商,并可通过 Callback 接入其他服务商。
- 03可同时配置多个服务商,并同时更新多个域名。
- 04在内置网页中完成配置,并查看最近日志。
- 05支持以系统服务方式运行在 macOS、Windows 和 Linux 上,也可用 Docker 部署。
- 06域名更新成功或失败时可触发 Webhook 通知。
适用场景
- 让域名指向公网 IP 不固定的家庭服务器或 NAS。
- 在没有固定公网 IP 的情况下远程访问自建服务。
- 在路由器、虚拟机或树莓派上保持 DNS 记录及时更新。
- 通过 Webhook 将 IP 变化通知推送到即时通讯工具。
快速上手
- 1
从 Releases 页面下载并解压 ddns-go
- 2
安装为系统服务(Mac/Linux)
sudo ./ddns-go -s install - 3
在浏览器中打开 http://localhost:9876 完成初始化配置
使用前须知
- 默认在 9876 端口提供网页配置,启用公网访问时建议使用带 HTTPS 的反向代理以保证安全。
收录于专题
标签
常见问题
- ddns-go 是什么?
- 一款轻量的 Go 工具,自动获取公网 IPv4/IPv6 地址,并更新到多家域名服务商的解析记录。 DDNS-GO 用于让域名始终指向公网 IP 会变化的家庭或办公网络。它可以通过网页接口、网卡或自定义命令获取当前的公网 IPv4 或 IPv6 地址,地址变化时自动更新对应的 DNS 解析记录。
- ddns-go 可以免费使用吗?用的什么许可证?
- ddns-go 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- ddns-go 还在维护吗?
- 活跃维护中。ddns-go 最近一次提交是在 2026年11月2日。
- ddns-go 适合用来做什么?
- 让域名指向公网 IP 不固定的家庭服务器或 NAS。 在没有固定公网 IP 的情况下远程访问自建服务。 在路由器、虚拟机或树莓派上保持 DNS 记录及时更新。 通过 Webhook 将 IP 变化通知推送到即时通讯工具。
- ddns-go 怎么安装和运行?
- 从 Releases 页面下载并解压 ddns-go 安装为系统服务(Mac/Linux): sudo ./ddns-go -s install 在浏览器中打开 http://localhost:9876 完成初始化配置
- 在哪里获取 ddns-go?
- 源代码和安装说明在 GitHub 上:https://github.com/jeessy2/ddns-go
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
自托管服务器控制面板,用于在 VPS 或独立服务器上部署网站应用、管理数据库、Docker 容器、DNS、备份与安全。
集成短链、临时邮箱、子域名管理、文件存储和开放 API 的一站式域名服务平台,可自部署。
自托管工具,根据 Docker 容器标签自动配置 Cloudflare Tunnel 路由、DNS 记录和 Access 策略。
面向家庭实验室和 NAS 的自托管网关,单个二进制集成 DDNS、端口转发、反向代理、证书和 WAF 等功能。
基于 etcd 实现多节点复制的 DNS、DHCP 与 TFTP 服务器,自带 Web 界面和广告拦截。