Openwrt Hotplug脚本实现ddns

最近在PVE中安装了OpenWrt,某些情况下群晖的DDNS无法更新dnspod的记录,所以想通过Openwrt来实现。如果是用koolshare就很简单酷软插件可以实现一切,但现在用的原版Openwrt,所以只能自己折腾。软件包里的ddns插件不支持dnspod,需要自己写代码。结果就搜到了OpenWrt Hotplug脚本 + Dnspod api 实现ms级延迟的DDNS记录更新,简单方便,先需要通过dnspod的api获取到domain_id和recode_id,然后建立/etc/hotplug.d/iface/30-dnspod.sh文件,内容如下

#!/bin/sh
# wan ifup
if [ $ACTION = "ifup" -a $INTERFACE = "wan" ]
then
    wget -q -O - --post-data="login_token=<login_token>&format=json&domain_id=<domain_id>&record_id=<record_id>&record_line_id=0&sub_domain=<sub_domain>"  https://dnsapi.cn/Record.Ddns --no-check-certificate  > /dev/null
fi

把上面<>里的内容换一下就OK了,现状唯一的问题是dnspod的api限制每小时5次更新,如果一小时内连续5次更换了ip就会被锁定一小时,一般情况下不会出现这种状况吧

Published by 阿飞 on
Tags: Openwrt, ddns, koolshare

暂无评论