由于api接口的改变,需要使用新的方法来做ddns的动态解析。
参考: https://www.dnspod.cn/docs/info.html
生成token
我的token如下:
名称:ddns2
ID:66170
Token:2b18bfb6e45fd3a7a602fa73c89f42f0
创建时间:2018-09-04 20:49:20
那么login_token=66170,2b18bfb6e45fd3a7a602fa73c89f42f0
获取domain list
curl -X POST https://dnsapi.cn/Domain.List -d ‘login_token=LOGIN_TOKEN&format=json’
记录dormanthink.cc的domain id为61220104
获取域名信息
curl -X POST https://dnsapi.cn/Domain.Info -d ‘login_token=LOGIN_TOKEN&format=json&domain_id=61220104’
显示“records”:”9″,
可以看到有9条记录
查看记录列表
curl -X POST https://dnsapi.cn/Record.List -d ‘login_token=LOGIN_TOKEN&format=json&domain_id=61220104
sub_domain=nextcloud&record_type=A&offset=0&length=3
显示nextcloud的record id为322550722
更新动态DNS记录
curl -X Prmat=json&domain_id=61220104&record_id=322550722&record_line=默认&sub_domain=nextcloud’
curl -X POST https://dnsapi.cn/Record.Ddns -d ‘login_token=66170,2b18bfb6e45fd3a7a602fa73c89f42f0&format=json&domain_id=61220104&record_id=322550722&record_line=默认&sub_domain=nextcloud‘
其中record_line=默认即可。
自动更新
建立ddns.sh文件
#!/bin/bash
curl -X POST https://dnsapi.cn/Record.Ddns -d ‘login_token=66170,2b18bfb6e45fd3a7a602fa73c89f42f0&format=json&domain_id=61220104&record_id=322550722&record_line=默认&sub_domain=nextcloud‘
添加可执行权限
sudo chmod +x ddns.sh
加入到rc.local中
Sudo vi /etc/rc.local
加入一行
/bin/bash /home/ubuntu/ddns.sh
加入到crontab中
sudo vi /etc/crontab
加入一行
20 * * * * root /bin/bash /home/ubuntu/ddns.sh
重启即可自动更新
在crontab中将原来的ddns.py注释掉
Done~
发表回复