avatar

mdo

Hello

  • 首页
  • 知识库
  • 归档
  • 标签
  • 关于
主页 免费开源 DDNS 动态域名解析工具
文章

免费开源 DDNS 动态域名解析工具

发表于 2025-09-12 更新于 2025-09- 12
作者 mdo
7~10 分钟 阅读

ddns-go 功能特性

  • 自动获得你的公网 IPv4 或 IPv6 并解析到域名中
  • 支持 Mac、Windows、Linux 系统,支持 ARM、x86 架构
  • 支持的域名服务商 Alidns(阿里云) Dnspod(腾讯云) Cloudflare 华为云 Callback 百度云
  • 间隔 5 分钟同步一次
  • 支持多个域名同时解析,公司必备
  • 支持多级域名 (sysin)
  • 网页中配置,简单又方便,可设置 - 登录用户名和密码 / 禁止从公网访问
  • 网页中方便快速查看最近 50 条日志,不需要跑 docker 中查看
  • 支持 webhook 通知
  • 支持 TTL

Callback:通过自定义回调可支持更多的第三方DNS服务商

2. 使用说明

动态 DNS 解析,通常可能是用在家里的电脑,没有固定公网 IP,但是需要远程访问的场景。

2.1 下载并运行

  • 下载并解压 https://github.com/jeessy2/ddns-go/releases
  • 双击运行,程序自动打开 http://127.0.0.1:9876,修改你的配置,成功
  • [可选] 安装服务
    Mac/Linux: sudo ./ddns-go -s install
    Win(以管理员打开cmd): .ddns-go.exe -s install
    安装服务也支持 -l监听地址 -f同步间隔时间(秒) -c自定义配置文件路径
  • [可选] 服务卸载
    Mac/Linux: sudo ./ddns-go -s uninstall
    Win(以管理员打开cmd): .ddns-go.exe -s uninstall
  • [可选] 支持启动带参数 -l监听地址 -f同步间隔时间(秒) -c自定义配置文件路径。如:./ddns-go -l 127.0.0.1:9876 -f 600 -c /Users/name/ddns-go.yaml

运行后 Web 界面如下:

2.2 获取域名 API 访问凭据

根据你的域名所在服务商,打开页面,登录后,根据提示获取凭据,然后填写到 ddns-go 的配置页面中即可。

在软件页面点击对应 DNS 服务商,下面会有提示访问链接,可以直接打开对应服务商的 API 访问凭据页面。

例如:

  • Alidns(阿里云)

    https://ram.console.aliyun.com/manage/ak

    AccessKey ID

    AccessKey Secret

  • Dnspod(腾讯云)

    https://console.dnspod.cn/account/token

    ID

    Token

  • Cloudflare

    https://dash.cloudflare.com/profile/api-tokens

    Token

2.3 添加解析

在 IPv4 或者 IPv6(如果有)下,Domains 中填写 dns 解析条目即可。

示例:www.domain.com,也可以解析多条,一行一条,点击 “SAVE”,提示解析成功!

此时,回到域名解析服务商管理页面 (sysin),可以看到 dns 条目已经正确添加。

从日志可以看到,应用程序 5 分钟检查一次地址变化并同步地址解析。

2.4 配置文件

# macOS/Linux
~/.ddns_go_config.yaml

# Windows
%UserProfile%.ddns_go_config.yaml

可以看到软件使用 yaml 格式保存配置文件,配置参数也很直观。

3. 在 Docker 中运行

  • 不挂载主机目录, 删除容器同时会删除配置

    # host模式, 同时支持IPv4/IPv6, Liunx系统推荐
    docker run -d --name ddns-go --restart=always --net=host jeessy/ddns-go
    # 桥接模式, 只支持IPv4, Mac/Windows系统推荐
    docker run -d --name ddns-go --restart=always -p 9876:9876 jeessy/ddns-go
    
  • 在浏览器中打开http://主机IP:9876,修改你的配置,成功

  • [可选] 挂载主机目录, 删除容器后配置不会丢失。可替换 /opt/ddns-go 为主机目录, 配置文件为隐藏文件

docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go

  • [可选] 支持启动带参数 -l监听地址 -f间隔时间(秒)

docker run -d --name ddns-go --restart=always --net=host jeessy/ddns-go -l :9877 -f 600

4. 相关链接

  • DDNS-GO 的 Github 地址:点击查看
  • DDNS-GO 的下载地址:点击下载
知识库
许可协议:  CC BY 4.0
分享

相关文章

7月 21, 2026

think-orm 2.0.62 单独设置数据表字段缓存驱动和数据缓存驱动

think-cache 拥有强大的多通道(Multi-store)管理能力,但问题的根源在于 think-orm 底层的调用机制太死板。即使您在 think-cache 中配置了 file 和 redis 两个完全独立的通道,think-orm 默认也只会向您通过 Db::setCache() 注入

7月 1, 2026

WebSocket Server + 独立 RPC Server

从架构角度来说,它已经接近 think-swoole 能做到的极限了,但是我仍然不建议继续这样维护。 原因不是代码写法,而是 think-swoole 本身的事件模型。 第一处问题:addListener() 仍然共享 Worker 你的代码: $rpcServer = $server->addLi

6月 25, 2026

Linux | Reqable · API抓包调试 + API测试一站式工具

Reqable是什么? Reqable = Fiddler + Charles + Postman 极简的设计、极高的性能、丰富的功能、桌面手机多端平台。 多协议流量分析 基于经典的MITM中间人代理方案捕获和分析您的应用流量,自适应HTTP/HTTPS/SOCKS4/SOCKS5等多种代理协议,并

下一篇

Emby Premiere破解思路

上一篇

Vue中svg图片引入的两种方式

最近更新

  • 完美地解决 TP3 老系统数据的平滑读取
  • thinkphp3 redis序列化和反序列化
  • Table 空间极易发生哈希冲突并溢出
  • 将监控程序直接跑在云端
  • AI 驱动型 Facebook 群组关键词监控 Chrome 浏览器插件

热门标签

API CodeGeex Gitkraken Management Manticore Premiere Sublime Swoole ThinkPHP ThinkPHP5

目录

©2026 mdo. 保留部分权利。