由于api接口的改变,需要使用新的方法来做ddns的动态解析。
参考: https://www.dnspod.cn/docs/info.html
生成token
我的token如下:
名称:ddns2
ID:xxxxx
Token:2bxxxx
创建时间:2018-09-04 20:49:20
那么
login_token=ID,Token
获取domain list
curl -X POST https://dnsapi.cn/Domain.List -d ‘login_token=ID,Token&format=json’
可以看到dormanthink.cc的domain id为61220104,一共有17条records
查看记录列表
curl -X POST https://dnsapi.cn/Record.List -d ‘login_token= ID,Token&format=json&domain_id=61220104′
可以查看到
{“id”:“322550722”,“ttl”:“10”,“value”:“119.98.149.247”,“enabled”:“1”,“status”:“enabled”,“updated_on”:“2019-06-04 10:20:03”,“name”:“nextcloud”,“line”:“\u9ed8\u8ba4“,“line_id”:“0”,“type”:“A”,“weight”:null,“monitor_status”:“”,“remark”:“”,“use_aqb”:“no”,“mx”:“0”},
{“id”:“317419045”,“ttl”:“10”,“value”:“52.13.123.43”,“enabled”:“1”,“status”:“enabled”,“updated_on”:“2019-06-04 09:51:54”,“name”:“www”,“line”:“\u9ed8\u8ba4“,“line_id”:“0”,“type”:“A”,“weight”:null,“monitor_status”:“”,“remark”:“\u6709raspberry Pi2\u7684\u670d\u52a1\u5668\u81ea\u52a8\u66f4\u65b0“,“use_aqb”:“no”,“mx”:“0”},
nextcloud的id为322550722
www的id为317419045
记录类型都是A
更新动态DNS记录
curl -X POST https://dnsapi.cn/Record.Ddns -d ‘login_token=ID,Token&format=json&domain_id=61220104&record_id=317419045&record_line=默认&sub_domain=www’
返回successfully和ip地址。
其中record_line=默认即可。
自动更新
建立ddns.sh文件
#!/bin/bash
curl -X POST https://dnsapi.cn/Record.Ddns -d ‘login_token=ID,Token&format=json&domain_id=61220104&record_id=317419045&record_line=默认&sub_domain=www’
添加可执行权限
sudo chmod +x ddns.sh
加入到rc.local中
sudo vi /etc/rc.local
加入一行
/bin/bash /home/richard/ddns.sh
加入到crontab中
sudo vi /etc/crontab
加入一行,设置为每小时0和30分钟更新一次。
0,30 * * * * root /bin/bash /home/ubuntu/ddns.sh
重启即可自动更新
在crontab中将原来的ddns.py注释掉
Done~
回复 DNSPOD DDNS解析 – DormanthinkZ.W 取消回复