04-04 更新,将历史 ip 保存在本地,不通过 api 获取(国内访问 Godaddy 太慢了)。
到 DNS 管理中新增一条 A 记录,“指向” 随便填;
到 https://developer.godaddy.com/keys 创建并记录 key 和 Secret;
创建 shell 脚本和本机记录文件,通过 GoDaddy 的 api 更新 ip 地址:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mydomain="填域名"
myhostname="填刚才那条A记录的名称"
gdapikey="填 key:secret 不要忘记中间冒号"
myip=`curl -s "https://api.ipify.org"`
oldip=$(tail -n 1 /path/iprecord.txt)
if ["$oldip" == "$myip"]; then
echo "Nothing happened."
exit 0
fi
echo "$myip" > /path/iprecord.txt
echo "IP has changed."
curl -s -X PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{\"data\": \"${myip}\"}]"
exit 0chmod 777 ,然后在本机上测试下;
进入路由器管理页面启用 SSH 服务;
sftp 连接路由器把脚本文件放到
/etc/storage
目录下;路由器管理界面 系统管理 -> 恢复/导出/上传设置 -> 保存 /etc/storage/ 内容到闪存,点击后没有反馈是正常的,右上角 log 里有执行情况;
路由器管理界面 系统管理 -> 服务 -> 计划任务:
1
2*/10 * * * * /etc/storage/yours.sh
每十分钟执行点击 应用本页设置 完成。