- ddns-script
- curl
如果你安装 ddns-script 在添加到供应商看到了 cloudflare 那就不需要本脚本了,如果没有看到那么接着往下看。
先把本脚本 cloudflare_ddns_update.sh
上传只 openwrt 的 /root
目录下面。
再从 Cloudflare 获取 Global API Key 备用(记作为 API_KEY),预先添加一个 A 记录,IP 随意写比如 127.0.0.1, 添加后点击看下面的 API 能够从 APIs 链接获取到 Zone id(记作为 API_ZONE_ID),然后需要通过 curl 获取 dns records 列表接口查看刚才新添加的 A 记录的 DNS Record id(记作为 API_DNS_RECORD_ID)
在 openwrt 的 ddns 添加出供应商选择 Custom,更新脚本填写 /root/cloudflare_ddns_update.sh
,
域名填写你的域名,用户名填写你的注册邮箱,密码填写 API_KEY,由于下面额外的参数没有搞懂怎么用,
API_ZONE_ID 和 API_DNS_RECORD_ID 获取的值需要填写在脚本对应的变量后面。填写完成后点击保存并应用。
最后点击启用并启动即可。你可以通过系统日志看到类似的日志就说明完成了!
Wed Aug 7 22:21:36 2019 user.notice ddns-scripts[19525]: cloudflare: PID '19525' started at 2019-08-07 22:21
Wed Aug 7 22:21:39 2019 daemon.err uhttpd[5445]: % Total % Received % Xferd Average Speed Time Time Time Current
Wed Aug 7 22:21:39 2019 daemon.err uhttpd[5445]: Dload Upload Total Spent Left Speed
Wed Aug 7 22:21:40 2019 daemon.err uhttpd[5445]:
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 326 0 250 100 76 201 61 0:00:01 0:00:01 --:--:-- 317
Wed Aug 7 22:21:41 2019 user.err ddns-scripts[19525]: Forced update successful - IP: 'xxx.xxx.xxx.xxx' send
223732 : Waiting 600 seconds (Check Interval)