分享一个自己写的DNSPOD DDNS ipv6脚本
1、脚本分享
#!/bin/bash
DNSPOD_ID='你申请的DNSPOD ID'
# DNSPOD 域名ID
DNSPOD_PASSWORD='你的DNSPOD TOKEN'
# DNSPOD Token
RECORD_ID='域名RECORD_ID'
#DNSPOD TOKEN ID
SUB_DOMAIN='域名前缀'
# SUB DOMAIN
DOMAIN='域名后缀'
# DOMAIN
dns='2400:3200::1'
check_ipv6_connect(){
check_connect=$(ping6 -w 3 240c::6666 -c 1 | grep ttl)
if [ "$check_connect" == "" ]
then
echo "connect error"
sleep 2
systemctl restart networking
sleep 2
dhclient
exit 1
fi
}
source /etc/profile
check_ipv6_connect
ipv6ustc=$(dig @240C::6666 AAAA test6.ustc.edu.cn +short)
a=$(curl -s -H 'Host:test6.ustc.edu.cn' http://[$ipv6ustc]/backend/getIP.php | awk -F '"' '{print $4}')
b=$(curl -s -X POST https://dnsapi.cn/Record.Info -d 'login_token='$DNSPOD_ID','$DNSPOD_PASSWORD'&format=json&domain='$DOMAIN'&record_id='$RECORD_ID'' |awk -F '"' '{print $60}')
if [ "$a" != "$b" ]
then
curl -X POST https://dnsapi.cn/Record.Modify -d 'login_token='$DNSPOD_ID','$DNSPOD_PASSWORD'&format=json&domain='$DOMAIN'&record_id='$RECORD_ID'&sub_domain='$SUB_DOMAIN'&value='$a'&record_type=AAAA&record_line_id=0'
echo "changed"
else
echo "no change"
fi
echo "success"
2、参数说明
- DNSPOD_ID、DNSPOD_PASSWORD:点我进入DNSPOD密钥地址,创建密钥,如图所示:
这两个参数填上
- RECORD_ID获取需要你的打卡域名解析记录,如图所示
需要你使用先新建你的域名,例如blog.8086k.cn
接下来打开F12,并切换到network选项
按照图上方法操作
可以看到两条记录,点开,如下操作
添加上即可。
- SUB_DOMAIN:域名前缀 例如你的域名 blog.8086k.cn,那么SUB_DOMAIN就是blog
- DOMAIN:域名后缀 例如你的域名 blog.8086k.cn,那么DOMAIN就是8086k.cn
3、使用方法
放入到linux系统中,crontab中即可
*/1 * * * * /root/ipv6.sh