[Linux]自定义脚本实现DNSPod DDNS
OpenWrt 原生的 DDNS 并不支持 DNSPod,所以自行查了一下 DNSPod 的 API,自行写了一个shell脚本。
本脚本实现了简单的更新功能,体积极小,代码简单,可以用作参考来修改适合自己的脚本,后续我会根据需求再完善一下全部的功能。
实现步骤
脚本
首先新建一个shell文件,本文以 ddns_dnspod.sh
为例。将下面的代码复制到新建的shell脚本中。
1 |
|
将脚本中一些参数改为对应的内容:
- LOGIN_TOKEN:由DnsPod密钥提供,由
ID,Token
组合而成,用英文的逗号分割,原本的账号密码鉴定方式已经弃用。 - DOMAIN:根域名。
- SUB_DOMAIN:子域名。
- RECORD_TYPE:记录类型,ipv4用“A”,ipv6用“AAAA”。
- RECORD_ID:需要更改的域名对应的ID,可以利用下面代码查询。
1 | curl -X POST https://dnsapi.cn/Record.List -d 'login_token=${LOGIN_TOKEN}&format=json&domain=${DOMAIN}&sub_domain=${SUB_DOMAIN}' |
本脚本用的是ipv6类型的,使用ipv4的记得改为ipv4相应的代码和内容。脚本主要实现了域名IP的更新,没有加入新增功能,后续有时间的话会进一步更新这个脚本,大家可以用这个脚本来做一个参考修改。
设置定时任务
利用 OpenWrt 的 crontab
实现定时更新。
对脚本文件更改权限,我的脚本文件放在 /root/crontab/
中:
1 | cd /root/crontable/ |
然后进入在 OpenWrt 后台,选择 系统→计划任务
,输入下面语句:
1 | 0 2 * * * /root/crontable/ddns_dnspod.sh |
然后重启路由或者重启 cron
即可定时在每天凌晨2点执行一次脚本,想要其他时间可以按需更改。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果