[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4861":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},4861,"ddns-go","jeessy2\u002Fddns-go","jeessy2","Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...","",null,"Go",16914,1839,63,16,0,8,48,161,41,44.79,"MIT License",false,"master",true,[27,28,29,30,5,31,32],"alidns","baiduyun","cloudflare","ddns","dnspod","porkbun","2026-06-12 02:01:04","# DDNS-GO\n\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fjeessy2\u002Fddns-go.svg?logo=github&style=flat-square) ![GitHub release downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fjeessy2\u002Fddns-go\u002Ftotal?logo=github)](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Freleases\u002Flatest) [![Go version](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fgo-mod\u002Fgo-version\u002Fjeessy2\u002Fddns-go)](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fblob\u002Fmaster\u002Fgo.mod) [![](https:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fv6)](https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fv6) [![](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fimage-size\u002Fjeessy\u002Fddns-go)](https:\u002F\u002Fregistry.hub.docker.com\u002Fr\u002Fjeessy\u002Fddns-go) [![](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fjeessy\u002Fddns-go)](https:\u002F\u002Fregistry.hub.docker.com\u002Fr\u002Fjeessy\u002Fddns-go)\n\n中文 | [English](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fblob\u002Fmaster\u002FREADME_EN.md)\n\n自动获得你的公网 IPv4 或 IPv6 地址，并解析到对应的域名服务。\n\n- [DDNS-GO](#ddns-go)\n    - [特性](#特性)\n    - [系统中使用](#系统中使用)\n    - [Docker中使用](#docker中使用)\n    - [使用IPv6](#使用ipv6)\n    - [Webhook](#webhook)\n    - [Callback](#callback)\n    - [界面](#界面)\n    - [开发\\&自行编译](#开发自行编译)\n\n## 特性\n\n- 支持Mac、Windows、Linux系统，支持ARM、x86、RISC-V架构\n- 支持的域名服务商 `阿里云` `阿里云 ESA` `腾讯云` `Dnspod` `Cloudflare` `华为云` `Callback` `百度云` `Porkbun` `GoDaddy` `Namecheap` `NameSilo` `Dynadot` `DNSLA` `时代互联` `Eranet` `Tnethk` `Gcore` `EdgeOne` `IBM NS1 Connect` `雨云`\n- 支持接口\u002F网卡\u002F[命令](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fwiki\u002F通过命令获取IP参考)获取IP\n- 支持以服务的方式运行\n- 默认间隔5分钟同步一次\n- 支持同时配置多个DNS服务商\n- 支持多个域名同时解析\n- 支持多级域名\n- 网页中配置，简单又方便，默认勾选`禁止从公网访问`\n- 网页中方便快速查看最近50条日志\n- 支持Webhook通知\n- 支持TTL\n- 支持部分DNS服务商[传递自定义参数](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fwiki\u002F传递自定义参数)，实现地域解析\u002F多IP等功能\n\n> [!NOTE]\n> 建议在启用公网访问时，使用 Nginx 等反向代理软件启用 HTTPS 访问，以保证安全性。[FAQ](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fwiki\u002FFAQ)\n\n## 系统中使用\n\n- 从 [Releases](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Freleases) 下载并解压 ddns-go\n- 安装服务\n  - Mac\u002FLinux: `sudo .\u002Fddns-go -s install`\n  - Win(以管理员打开cmd): `.\\ddns-go.exe -s install`\n- 配置\n  - 打开浏览器并访问`http:\u002F\u002Flocalhost:9876`进行初始化配置\n- [可选] 服务卸载\n  - Mac\u002FLinux: `sudo .\u002Fddns-go -s uninstall`\n  - Win(以管理员打开cmd): `.\\ddns-go.exe -s uninstall`\n- [可选] 支持安装带参数\n  - `-l` 监听地址\n  - `-f` 同步间隔时间(秒)\n  - `-cacheTimes` 间隔N次与服务商比对\n  - `-c` 自定义配置文件路径\n  - `-noweb` 不启动web服务\n  - `-skipVerify` 跳过证书验证\n  - `-dns` 自定义 DNS 服务器\n  - `-resetPassword` 重置密码\n- [可选] 参考示例\n  - 10分钟同步一次, 并指定了配置文件地址\n    ```bash\n    .\u002Fddns-go -s install -f 600 -c \u002FUsers\u002Fname\u002F.ddns_go_config.yaml\n    ```\n  - 每 10 秒检查一次本地 IP 变化, 每 30 分钟对比一下 IP 变化, 实现 IP 变化即时触发更新且不会被服务商限流, 如果使用接口获取IP, 需要注意接口限流\n    ```bash\n    .\u002Fddns-go -s install -f 10 -cacheTimes 180\n    ```\n  - 重置密码\n    ```bash\n    .\u002Fddns-go -resetPassword 123456\n    .\u002Fddns-go -resetPassword 123456 -c \u002FUsers\u002Fname\u002F.ddns_go_config.yaml\n    ```\n\n## Docker中使用\n\n- 挂载主机目录, 使用docker host模式。可把 `\u002Fopt\u002Fddns-go` 替换为你主机任意目录, 配置文件为隐藏文件\n\n  ```bash\n  docker run -d --name ddns-go --restart=always --net=host -v \u002Fopt\u002Fddns-go:\u002Froot jeessy\u002Fddns-go\n  ```\n\n- 打开浏览器并访问`http:\u002F\u002FDocker主机IP:9876`进行初始化配置\n\n- [可选] 使用 `ghcr.io` 镜像\n\n  ```bash\n  docker run -d --name ddns-go --restart=always --net=host -v \u002Fopt\u002Fddns-go:\u002Froot ghcr.io\u002Fjeessy2\u002Fddns-go\n  ```\n\n- [可选] 支持启动带参数 `-l`监听地址 `-f`间隔时间(秒)\n\n  ```bash\n  docker run -d --name ddns-go --restart=always --net=host -v \u002Fopt\u002Fddns-go:\u002Froot jeessy\u002Fddns-go -l :9877 -f 600\n  ```\n\n- [可选] 不使用docker host模式\n\n  ```bash\n  docker run -d --name ddns-go --restart=always -p 9876:9876 -v \u002Fopt\u002Fddns-go:\u002Froot jeessy\u002Fddns-go\n  ```\n\n- [可选] 重置密码\n\n  ```bash\n  docker exec ddns-go .\u002Fddns-go -resetPassword 123456\n  docker restart ddns-go\n  ```\n\n## 使用IPv6\n\n- 前提：你的电脑或终端能正常获取IPv6，并能正常访问IPv6\n- Windows\u002FMac：推荐 [系统中使用](#系统中使用)，Windows\u002FMac桌面版的docker不支持`--net=host`\n- 群晖：\n  - 套件中心下载docker并打开\n  - 注册表中搜索`ddns-go`并下载\n  - 映像 -> 选择`jeessy\u002Fddns-go` -> 启动 -> 高级设置 -> 网络中勾选`使用与 Docker Host 相同的网络`，高级设置中勾选`启动自动重新启动`\n  - 在浏览器中打开`http:\u002F\u002F群晖IP:9876`，修改你的配置，成功\n- Linux的x86或arm架构，推荐使用Docker的`--net=host`模式。参考 [Docker中使用](#Docker中使用)\n- 虚拟机中使用有可能正常获取IPv6，但不能正常访问IPv6\n\n## Webhook\n\n- 支持webhook, 域名更新成功或不成功时, 会回调填写的URL\n- 支持的变量\n\n  | 变量名         | 说明                                     |\n  | -------------- | ---------------------------------------- |\n  | #{ipv4Addr}    | 新的IPv4地址                             |\n  | #{ipv4Result}  | IPv4地址更新结果: `未改变` `失败` `成功` |\n  | #{ipv4Domains} | IPv4的域名，多个以`,`分割                |\n  | #{ipv6Addr}    | 新的IPv6地址                             |\n  | #{ipv6Result}  | IPv6地址更新结果: `未改变` `失败` `成功` |\n  | #{ipv6Domains} | IPv6的域名，多个以`,`分割                |\n  | #{timestamp}   | 当前 UTC+0 时间戳（秒）                  |\n\n- 如 RequestBody 为空则为 GET 请求，否则为 POST 请求\n- \u003Cdetails>\u003Csummary>Server酱\u003C\u002Fsummary>\n\n  ```\n  https:\u002F\u002Fsctapi.ftqq.com\u002F[SendKey].send?title=你的公网IP变了&desp=主人IPv4变了#{ipv4Addr},域名更新结果:#{ipv4Result}\n  ```\n- \u003Cdetails>\u003Csummary>Bark\u003C\u002Fsummary>\n\n  ```\n  https:\u002F\u002Fapi.day.app\u002F[YOUR_KEY]\u002F主人IPv4变了#{ipv4Addr},域名更新结果:#{ipv4Result}\n  ```\n  \u003C\u002Fdetails>\n- \u003Cdetails>\u003Csummary>钉钉\u003C\u002Fsummary>\n\n  - 钉钉电脑端 -> 群设置 -> 智能群助手 -> 添加机器人 -> 自定义\n  - 只勾选 `自定义关键词`, 输入的关键字必须包含在RequestBody的content中, 如：`你的公网IP变了`\n  - URL中输入钉钉给你的 `Webhook地址`\n  - RequestBody中输入\n    ```json\n    {\n        \"msgtype\": \"markdown\",\n        \"markdown\": {\n            \"title\": \"你的公网IP变了\",\n            \"text\": \"#### 你的公网IP变了 \\n - IPv4地址：#{ipv4Addr} \\n - 域名更新结果：#{ipv4Result} \\n\"\n        }\n    }\n    ```\n  \u003C\u002Fdetails>\n- \u003Cdetails>\u003Csummary>飞书\u003C\u002Fsummary>\n\n  - 飞书电脑端 -> 群设置 -> 添加机器人 -> 自定义机器人\n  - 安全设置只勾选 `自定义关键词`, 输入的关键字必须包含在RequestBody的content中, 如：`你的公网IP变了`\n  - URL中输入飞书给你的 `Webhook地址`\n  - RequestBody中输入\n    ```json\n    {\n        \"msg_type\": \"post\",\n        \"content\": {\n            \"post\": {\n                \"zh_cn\": {\n                    \"title\": \"你的公网IP变了\",\n                    \"content\": [\n                        [\n                            {\n                                \"tag\": \"text\",\n                                \"text\": \"IPv4地址：#{ipv4Addr}\"\n                            }\n                        ],\n                        [\n                            {\n                                \"tag\": \"text\",\n                                \"text\": \"域名更新结果：#{ipv4Result}\"\n                            }\n                        ]\n                    ]\n                }\n            }\n        }\n    }\n    ```\n  \u003C\u002Fdetails>\n- \u003Cdetails>\u003Csummary>Telegram\u003C\u002Fsummary>\n\n  [ddns-telegram-bot](https:\u002F\u002Fgithub.com\u002FWingLim\u002Fddns-telegram-bot)\n  \u003C\u002Fdetails>\n- \u003Cdetails>\u003Csummary>plusplus 推送加\u003C\u002Fsummary>\n\n  - [获取token](https:\u002F\u002Fwww.pushplus.plus\u002Fpush1.html)\n  - URL中输入 `https:\u002F\u002Fwww.pushplus.plus\u002Fsend`\n  - RequestBody中输入\n    ```json\n    {\n        \"token\": \"your token\",\n        \"title\": \"你的公网IP变了\",\n        \"content\": \"你的公网IP变了 \\n - IPv4地址：#{ipv4Addr} \\n - 域名更新结果：#{ipv4Result} \\n\"\n    }\n    ```\n  \u003C\u002Fdetails>\n- \u003Cdetails>\u003Csummary>Discord\u003C\u002Fsummary>\n\n  - Discord任意客户端 -> 伺服器 -> 频道设置 -> 整合 -> 查看Webhook -> 新Webhook -> 复制Webhook网址\n  - URL中输入Discord复制的 `Webhook网址`\n  - RequestBody中输入\n    ```json\n    {\n        \"content\": \"域名 #{ipv4Domains} 动态解析 #{ipv4Result}.\",\n        \"embeds\": [\n            {\n                \"description\": \"#{ipv4Domains} 的动态解析 #{ipv4Result}, IP: #{ipv4Addr}\",\n                \"color\": 15258703,\n                \"author\": {\n                    \"name\": \"DDNS\"\n                },\n                \"footer\": {\n                    \"text\": \"DDNS #{ipv4Result}\"\n                }\n            }\n        ]\n    }\n    ```\n  \u003C\u002Fdetails>\n- \u003Cdetails>\u003Csummary>微信\u003C\u002Fsummary>\n\n  - 通过 [微信 ClawBot 协议](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@tencent-weixin\u002Fopenclaw-weixin) 推送消息到微信\n  - 需要先通过协议获取 $your_bot_token 和 $your_user_id，可参考 [1](https:\u002F\u002Fgithub.com\u002Fhao-ji-xing\u002Fopenclaw-weixin\u002Fblob\u002Fmain\u002Fweixin-bot-api.md)\n  - URL 中输入 `https:\u002F\u002Filinkai.weixin.qq.com\u002Filink\u002Fbot\u002Fsendmessage`\n  - RequestBody 中输入\n    ```json\n    {\n        \"msg\": {\n            \"from_user_id\": \"\",\n            \"to_user_id\": \"$your_user_id@im.wechat\",\n            \"client_id\": \"ddns-#{timestamp}\",\n            \"message_type\": 2,\n            \"message_state\": 2,\n            \"item_list\": [\n                {\n                    \"type\": 1,\n                    \"text_item\": {\n                        \"text\": \"📡 IPv4: #{ipv4Result}\\n   新地址: #{ipv4Addr}\\n   已绑定域名: #{ipv4Domains}\\n\\n📡 IPv6: #{ipv6Result}\\n   新地址: #{ipv6Addr}\\n   已绑定域名: #{ipv6Domains}\"\n                    }\n                }\n            ]\n        },\n        \"base_info\": {\n            \"channel_version\": \"2.1.7\"\n        }\n    }\n    ```\n  - Headers 中输入\n    ```\n    Content-Type: application\u002Fjson\n    AuthorizationType: ilink_bot_token\n    Authorization: Bearer $your_bot_token\n    iLink-App-Id: bot\n    iLink-App-ClientVersion: 131335\n    ```\n  \u003C\u002Fdetails>\n\n- [查看更多Webhook配置参考](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fissues\u002F327)\n\n## Callback\n\n- 通过自定义回调可支持更多的第三方DNS服务商\n- 配置的域名有几行, 就会回调几次\n- 支持的变量\n\n  | 变量名        | 说明                 |\n  | ------------- | -------------------- |\n  | #{ip}         | 新的IPv4\u002FIPv6地址    |\n  | #{domain}     | 当前域名             |\n  | #{recordType} | 记录类型 `A`或`AAAA` |\n  | #{ttl}        | TTL                  |\n- 如 RequestBody 为空则为 GET 请求，否则为 POST 请求\n- [Callback配置参考](https:\u002F\u002Fgithub.com\u002Fjeessy2\u002Fddns-go\u002Fwiki\u002FCallback配置参考)\n\n## 界面\n\n![screenshots](https:\u002F\u002Fraw.githubusercontent.com\u002Fjeessy2\u002Fddns-go\u002Fmaster\u002Fddns-web.png)\n\n## 开发&自行编译\n\n- 如果喜欢从源代码编译自己的版本，可以使用本项目提供的 Makefile 构建\n- 使用 `make build` 生成本地编译后的 `ddns-go` 可执行文件\n- 使用 `make build_docker_image` 自行编译 Docker 镜像\n","DDNS-GO 是一个简单易用的动态域名解析（DDNS）工具，支持多种主流域名服务商如阿里云、腾讯云、Dnspod、Cloudflare 等。该项目使用 Go 语言开发，具备跨平台特性，支持 Mac、Windows 和 Linux 操作系统及 ARM、x86 和 RISC-V 架构。其核心功能包括自动获取并更新公网 IPv4 或 IPv6 地址至指定域名服务，支持通过命令行或网页界面配置，能够同时管理多个域名和DNS服务商，并提供Webhook通知等高级选项。适合需要频繁变更IP地址但希望保持域名不变的各种网络应用场景，例如个人网站托管、远程访问设备等。",2,"2026-06-11 03:01:10","top_language"]