腾讯云域名实现自动化DDNS OpenWrt shell脚本

腾讯云域名实现自动化DDNS

腾讯云域名实现自动化DDNS脚本 OpenWrt linux

操作系统:OpenWrt
使用DDNS来实现静态IP的效果。

其他信息可参考文档腾讯云域名接口api文档
这里是修改域名的脚本,需要自己先添加一条域名解析
域名解析列表
云API秘钥信息
recordId获取
浏览器F12 点击network ,fillter 填写get 点击页面的域名解析
选择这条请求点击response 根据时间搜索,可以快递找到当前的recordId
在这里插入图片描述

在unix系统中,将以上脚本命名为ddns.sh置于/root目录下,然后在命令行中输入crontab -e,将文件末尾添加

*/10 * * * * sh /root/ddns.sh

然后保存即可。该脚本会每10分钟查询一次自己的公网IP,将解析记录修改

如果是直接使用openwrt拨号的话不需要查询自己的ip 脚本可以改成
ip=$(ifconfig pppoe-wan|grep “inet addr:”|awk ‘{print $2}’|tr -d “addr:”)

脚本:

#!/bin/bash
#/usr/bin/ddns
recordId='一般是数字'
domain='你的域名'
subDomain='你希望解析的子域名,例如nas.qq.com,则只输入nas'
sId='你的云API秘钥SecretId'
sKey='你的云API秘钥SecretKey'
signatureMethod='HmacSHA1'

region=bj
url="https://cns.api.qcloud.com/v2/index.php"
#获取ip
ip=$(curl -4 ip.sb)
action='RecordModify'
recordType='A'
recordLine='默认'
value=$ip
timestamp=`date +%s`
nonce=$timestamp'1'

src=`printf "GETcns.api.qcloud.com/v2/index.php?Action=%s&Nonce=%s&Region=%s&SecretId=%s&SignatureMethod=%s&Timestamp=%s&domain=%s&recordId=%s&recordLine=%s&recordType=%s&subDomain=%s&value=%s" $action $nonce $region $sId $signatureMethod $timestamp $domain $recordId $recordLine $recordType $subDomain $value`

#echo 'src: ' $src
signature=`echo -n $src|openssl dgst -sha1 -hmac $sKey -binary |base64`
#echo 'signature: ' $signature

params=`printf "Action=%s&Nonce=%s&Region=%s&SecretId=%s&SignatureMethod=%s&Timestamp=%s&domain=%s&recordId=%s&recordLine=%s&recordType=%s&subDomain=%s&value=%s" $action $nonce $region $sId $signatureMethod $timestamp $domain $recordId $recordLine $recordType $subDomain $value`

#echo 'params: ' $params

curl -G -d "$params" --data-urlencode "Signature=$signature" "$url"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值