dnspod动态域名

获取相关参数

1、token是在 用户中心 -> 安全设置 -> API Token处查看

2、domain_id和record_id需要调用api才能获取,参见:

https://www.dnspod.cn/docs/domains.html#domain-list

https://www.dnspod.cn/docs/records.html#record-list

shell代码

#!/bin/bash
newip=$(curl -s 'http://members.3322.org/dyndns/getip')
oldip=$(cat 'ip.txt')
nice_date=$(date "+%Y-%m-%d %H:%M:%S")

if [ "$newip" = "$oldip" ]; then
    echo "$nice_date nochange"
else
    echo ${newip} > ./ip.txt
	echo "$nice_date changed to ${newip}"
    curl -X POST https://dnsapi.cn/Record.Modify -d "login_token=TOKEN&format=json&domain_id=DOMAIN_ID&record_
id=RECORD_ID&sub_domain=@&value=$newip&record_type=RECORD_TYPE&record_line_id=0"
fi

定时获取

新建一个ip.txt文件保存上次获取的ip地址

touch ip.txt

设置定时,我的是每隔十分钟一次

crontab -e

0,10,20,30,40,50 * * * * sh /dnspod.sh

注意

token的格式是id,token不是单纯的token