Repolode
qdm12

qdm12/ddns-updater

一个轻量的自托管程序,定期为多家 DNS 服务商更新 A/AAAA 记录,并提供 Web 界面。

可替代:DynDNS

Star
3,258
Fork
286
未关闭 Issue
244
最近提交
上个月

这是什么?

DDNS Updater 用于让 DNS 的 A 和 AAAA 记录始终指向当前的公网 IP,适合家庭或办公网络使用动态 IP 的场景。它可以以单个二进制文件运行,也可以作为 Docker 或 Kubernetes 容器部署。程序按可配置的周期(默认 5 分钟)检查公网 IP,只有当记录解析结果与之不一致时才调用服务商 API 进行更新。

支持 Cloudflare、Namecheap、GoDaddy、Route53、DuckDNS、DigitalOcean、Hetzner 等大量 DNS 服务商,每家都有对应的配置说明。配置可写在 JSON 文件或单个环境变量中,Web 界面可查看各条记录的状态。更新结果可通过 Shoutrrr 发送通知,内置健康检查用于验证域名解析是否正确。

核心功能

  • 01支持数十家 DNS 服务商的 A 和 AAAA 记录更新。
  • 02提供 Web 界面查看记录状态,兼容桌面和移动端。
  • 03可作为无依赖的二进制程序运行,也提供多架构的 Docker 镜像。
  • 04当 DNS 解析结果已是当前 IP 时跳过 API 调用,减少请求频率限制问题。
  • 05通过 Shoutrrr 发送通知,并支持 healthchecks.io 心跳检测。

适用场景

  • 家庭服务器或自建服务在运营商变更公网 IP 后仍可通过域名访问。
  • 在 Docker 或 Kubernetes 集群中,为支持的服务商自动维护 DNS 记录。
  • 在树莓派等小型 ARM 设备上运行,定期更新域名记录。

快速上手

  1. 1

    使用 Go 安装程序

    go install github.com/qdm12/ddns-updater/cmd/ddns-updater@latest
  2. 2

    创建 data 目录并在其中编写 config.json 配置文件

  3. 3

    运行程序

    ./ddns-updater

使用前须知

  • 运行前需要编写包含 DNS 服务商凭据的 JSON 配置文件。

收录于专题

标签

常见问题

ddns-updater 是什么?
一个轻量的自托管程序,定期为多家 DNS 服务商更新 A/AAAA 记录,并提供 Web 界面。 DDNS Updater 用于让 DNS 的 A 和 AAAA 记录始终指向当前的公网 IP,适合家庭或办公网络使用动态 IP 的场景。它可以以单个二进制文件运行,也可以作为 Docker 或 Kubernetes 容器部署。程序按可配置的周期(默认 5 分钟)检查公网 IP,只有当记录解析结果与之不一致时才调用服务商 API 进行更新。
ddns-updater 可以免费使用吗?用的什么许可证?
ddns-updater 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
ddns-updater 还在维护吗?
半年内有更新。ddns-updater 最近一次提交是在 2026年9月16日。
ddns-updater 适合用来做什么?
家庭服务器或自建服务在运营商变更公网 IP 后仍可通过域名访问。 在 Docker 或 Kubernetes 集群中,为支持的服务商自动维护 DNS 记录。 在树莓派等小型 ARM 设备上运行,定期更新域名记录。
ddns-updater 怎么安装和运行?
使用 Go 安装程序: go install github.com/qdm12/ddns-updater/cmd/ddns-updater@latest 创建 data 目录并在其中编写 config.json 配置文件 运行程序: ./ddns-updater
在哪里获取 ddns-updater?
源代码和安装说明在 GitHub 上:https://github.com/qdm12/ddns-updater

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目