CloudXNS DDNS on bash with curl
看到很多CloudXNS的DDNS客户端都是基于官方的Python SDK做的,于是根据官方的API文档撸了个bash下的一个轮子。
特点
- 系统需支持curl命令,适合在闪存容量小,不能安装Python的路由器上运行。
- 在CloudXNS申请API Key,只需要在脚本中填写API Key,不需要提供账号密码,绿色安全。
- 不像DNSPod那样繁琐,需要先通过客户端查询域名ID、记录ID,只需提供需要DDNS的域名。
用法
-
wget https://raw.githubusercontent.com/kuretru/CloudXNS-DDNS/master/CloudXNS-ddns.sh
-
在CloudXNS获得API Key后,将API Key、Secret Key填入脚本。
-
在CloudXNS添加需要DDNS的域名,并在脚本填写该域名。
domain="www.cloudxns.net."
-
设置好具有公网IP的网卡
interface="" #留空时,CloudXNS则会自动获取你的公网IP interface="ppp0" #tomato路由器使用ppp0作为网卡名 interface="pppoe-wan1" #OpenWRT路由器使用wan1作为网卡名
-
脚本会在执行过后自动在当前目录下生成名为cloudxns-ddns.log的日志文件,方便日后查看,如果不需要此功能,将最后一行注释即可。
#echo "${result} ${time} ${data}" >> $(cd `dirname $0`; pwd)/cloudxns-ddns.log
-
执行
sh CloudXNS-ddns.sh
。
路由器设置
tomato
在当WAN联机时事件中添加本脚本。
OpenWRT
- 方法1:安装ddns-scripts和luci-app-ddns,在DDNS服务下添加本脚本。
- 方法2:将99-ddns放至/etc/hotplug.d/iface下,网卡启动时将自动运行本脚本,注意修改脚本中网卡名和你放置脚本的路径。
LICENSE
GNU General Public License v3.0
📎
参考资料 - https://www.cloudxns.net/Support/detail/id/1361.html -- CloudXNS 官方 API 文档
- http://git.oschina.net/zhengwei804/DNSPodForNET -- DNSPodForNET