一直使用 DNSPod 提供的域名服务,前阵子准备将自己服务器的更新脚本移动到主路由上(OpenWRT)。 本着不重复造轮子的原则,在网上搜索了一波,发现了一些可用的 Package。不过看起来多多少少都有点问题, 这里在下面先简要列举一下:

  • tencentcloud-openwrt-plugin-ddns: 官方插件,不过似乎很久没有更新了, 很多 Issue 也没有得到回复,看起来不是很可靠。
  • ddns-scripts_dnspod: 基于 ddns-scripts 的脚本,试了下确实可行,不过有几个问题:
    1. 代码内部实现比较简陋,没有遵守 ddns-scripts 中自定义脚本相对标准的写法(参考 dynamic_dns_updater.sh 脚本)。
    2. 使用 v2 版本的 API,由于 DNSPod 已被腾讯收购,而整个服务已经整合到腾讯云中,现在最新的 API 为 v3 版本, v2 已经标记为废弃,因此使用这版 API 存在一定的风险。
  • qcloud-ddns-docker: 使用 tccli, 且要部署 Docker,因此不想考虑。

基于上面各种方案的问题,因此决定自己为 ddns-scripts 写一个基于 v3 API 的脚本,因此有了如下项目:

FriesI23/ddns-scripts_tencent_cloud

项目地址:ddns-scripts_tencent_cloud

该脚本基于 ddns-scripts 项目,并且基于腾讯云 v3 API 进行编写,提供以下支持:

  • 同时支持 IPv4 / IPv6
  • 支持更新解析值 / 为新域名增加解析 (新增需保证查询主机名为被解析域名).

具体使用方法可以查看 README.md, 当然最简单的方法就是在 Releases 界面找到最新的 *.ipk* 上传到 OpenWRT 进行安装。

openwrt/package/ddns-scripts

该项目已同步提交到 openwrt/package/ddns-scripts 中, 如果你的 ddns-scripts 的 Build Number >=58,则可以通过在搜索 ddns-scripts-dnspod-v3 直接进行安装.

截止 2025/01/30 的相关提交 PR: