|
说的这么高大上,其实就是DDNS了。前提是你得有公网ip(说的就是你,移动),或者路由器支持ipv6首先你要有自己的域名(要钱的,新人的话第一年只要6块钱就能买一个xyz域名了)
接着登录DNSpod,添加一条解析记录,具体路径为登录--》域名解析--》添加域名--》添加记录
先随便添加一条,之后我们只需要要用api来更新它就可以了。
接着我们来左边的用户中心--》安全设置--》打开API Token并创建一个api token ,记下你的id和token,好,到现在为止我们就可以关闭网页了。
接下来的操作需要我们ssh连接到设备进行操作,首先我们要安装一个插件
- apt install update
- apt install jq curl -y
复制代码 安装好之后我们就可以调用腾讯的api来更新我们的域名解析了
先来说大致思路,后面会放上完整的脚本
第一步
获取domain id ,也就是你刚刚添加的域名的id,其中 token_id为刚才的id和token,id在前,token在后,中间用“,”隔开,形式如下
- id,token
- 即
- xxxxx,4caxxxxxxxxxxxxxxxxxd
复制代码 命令是这个
- curl -k 'https://dnsapi.cn/Domain.List' -d 'login_token=<token_id>&format=json' | jq .
复制代码
接着在返回的结果中找到你添加的域名对应的id,就是图上第一个箭头的所指的一串数字,把它记下来
第二步
我们根据上一步的domain id来找对应的record id,也就是解析记录,每一个ip地址都会解析到一个单独的网址上。我们需要用record id来确定它们之间的对应关系,其中token_id和domain_id分别是之前获取到的信息,填进去就行了
- curl -k 'https://dnsapi.cn/Record.List' -d 'login_token=<token_id>&format=json&domain_id=<domain_id>' | jq .
复制代码
这时候我们看返回的结果会有若干个记录,找到你刚刚随手添加的那一条记录,记下他对应的id,这个为record id。
好,目前我们已经有了
- token_id
- domain_id
- record_id
复制代码 有了这三项,我们就可以通过指令来更新ddns记录了
指令如下
- curl -s -X POST "https://dnsapi.cn/Record.Modify" -d "login_token=<token_id>&format=json&domain_id=<domain_id>&record_id=<record_id>&record_type=A&record_line=%e9%bb%98%e8%ae%a4&value=<ipaddress>&sub_domain=@"
复制代码 其中ipaddress需要通过其他方法来获得你的ipv4地址,可以在前面加一句
- address=$(curl http://ip.360.cn/IPShare/info | jq -r '.ip')
复制代码 来获取ip地址
下面是完成脚本,另存为一个ipreport文件并设置定时任务即可
|
评分
-
查看全部评分
|