jeessy2 / ddns-go
Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing jeessy2/ddns-go 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.
Repository Overview (README excerpt)
Crawler viewDDNS-GO 中文 | English 自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。 • 特性 • 系统中使用 • Docker中使用 • 使用IPv6 • Webhook • Callback • 界面 • 开发&自行编译 特性 • 支持Mac、Windows、Linux系统,支持ARM、x86、RISC-V架构 • 支持的域名服务商 • 支持接口/网卡/命令获取IP • 支持以服务的方式运行 • 默认间隔5分钟同步一次 • 支持同时配置多个DNS服务商 • 支持多个域名同时解析 • 支持多级域名 • 网页中配置,简单又方便,默认勾选 • 网页中方便快速查看最近50条日志 • 支持Webhook通知 • 支持TTL • 支持部分DNS服务商传递自定义参数,实现地域解析/多IP等功能 > [!NOTE] > 建议在启用公网访问时,使用 Nginx 等反向代理软件启用 HTTPS 访问,以保证安全性。FAQ 系统中使用 • 从 Releases 下载并解压 ddns-go • 安装服务 • Mac/Linux: • Win(以管理员打开cmd): • 配置 • 打开浏览器并访问 进行初始化配置 • [可选] 服务卸载 • Mac/Linux: • Win(以管理员打开cmd): • [可选] 支持安装带参数 • 监听地址 • 同步间隔时间(秒) • 间隔N次与服务商比对 • 自定义配置文件路径 • 不启动web服务 • 跳过证书验证 • 自定义 DNS 服务器 • 重置密码 • [可选] 参考示例 • 10分钟同步一次, 并指定了配置文件地址 • 每 10 秒检查一次本地 IP 变化, 每 30 分钟对比一下 IP 变化, 实现 IP 变化即时触发更新且不会被服务商限流, 如果使用接口获取IP, 需要注意接口限流 • 重置密码 Docker中使用 • 挂载主机目录, 使用docker host模式。可把 替换为你主机任意目录, 配置文件为隐藏文件 • 打开浏览器并访问 进行初始化配置 • [可选] 使用 镜像 • [可选] 支持启动带参数 监听地址 间隔时间(秒) • [可选] 不使用docker host模式 • [可选] 重置密码 使用IPv6 • 前提:你的电脑或终端能正常获取IPv6,并能正常访问IPv6 • Windows/Mac:推荐 系统中使用,Windows/Mac桌面版的docker不支持 • 群晖: • 套件中心下载docker并打开 • 注册表中搜索 并下载 • 映像 -> 选择 -> 启动 -> 高级设置 -> 网络中勾选 ,高级设置中勾选 • 在浏览器中打开 ,修改你的配置,成功 • Linux的x86或arm架构,推荐使用Docker的 模式。参考 Docker中使用 • 虚拟机中使用有可能正常获取IPv6,但不能正常访问IPv6 Webhook • 支持webhook, 域名更新成功或不成功时, 会回调填写的URL • 支持的变量 | 变量名 | 说明 | | ---- | ---- | | #{ipv4Addr} | 新的IPv4地址 | | #{ipv4Result} | IPv4地址更新结果: | | #{ipv4Domains} | IPv4的域名,多个以 分割 | | #{ipv6Addr} | 新的IPv6地址 | | #{ipv6Result} | IPv6地址更新结果: | | #{ipv6Domains} | IPv6的域名,多个以 分割 | • 如 RequestBody 为空则为 GET 请求,否则为 POST 请求 • Server酱 • Bark • 钉钉 • 钉钉电脑端 -> 群设置 -> 智能群助手 -> 添加机器人 -> 自定义 • 只勾选 , 输入的关键字必须包含在RequestBody的content中, 如: • URL中输入钉钉给你的 • RequestBody中输入 • 飞书 • 飞书电脑端 -> 群设置 -> 添加机器人 -> 自定义机器人 • 安全设置只勾选 , 输入的关键字必须包含在RequestBody的content中, 如: • URL中输入飞书给你的 • RequestBody中输入 • Telegram ddns-telegram-bot • plusplus 推送加 • 获取token • URL中输入 • RequestBody中输入 • Discord • Discord任意客户端 -> 伺服器 -> 频道设置 -> 整合 -> 查看Webhook -> 新Webhook -> 复制Webhook网址 • URL中输入Discord复制的 • RequestBody中输入 • 查看更多Webhook配置参考 Callback • 通过自定义回调可支持更多的第三方DNS服务商 • 配置的域名有几行, 就会回调几次 • 支持的变量 | 变量名 | 说明 | | ---- | ---- | | #{ip} | 新的IPv4/IPv6地址 | | #{domain} | 当前域名 | | #{recordType} | 记录类型 或 | | #{ttl} | TTL | • 如 RequestBody 为空则为 GET 请求,否则为 POST 请求 • Callback配置参考 界面 开发&自行编译 • 如果喜欢从源代码编译自己的版本,可以使用本项目提供的 Makefile 构建 • 使用 生成本地编译后的 可执行文件 • 使用 自行编译 Docker 镜像