找回密码
 立即注册
查看: 1351|回复: 4

一个基于DnsPod的动态域名解析脚本

[复制链接]

21

主题

86

回帖

902

积分

中级渣柚V2

积分
902
发表于 2019-9-28 14:09:49 | 显示全部楼层 |阅读模式
说的这么高大上,其实就是DDNS了。前提是你得有公网ip(说的就是你,移动),或者路由器支持ipv6首先你要有自己的域名(要钱的,新人的话第一年只要6块钱就能买一个xyz域名了)

接着登录DNSpod,添加一条解析记录,具体路径为登录--》域名解析--》添加域名--》添加记录


                               
登录/注册后可看大图

先随便添加一条,之后我们只需要要用api来更新它就可以了。
接着我们来左边的用户中心--》安全设置--》打开API Token并创建一个api token ,记下你的id和token,好,到现在为止我们就可以关闭网页了。

接下来的操作需要我们ssh连接到设备进行操作,首先我们要安装一个插件
  1. apt install update
  2. apt install jq curl -y
复制代码
安装好之后我们就可以调用腾讯的api来更新我们的域名解析了
先来说大致思路,后面会放上完整的脚本
第一步
获取domain id ,也就是你刚刚添加的域名的id,其中 token_id为刚才的id和token,id在前,token在后,中间用“,”隔开,形式如下
  1. id,token

  2. xxxxx,4caxxxxxxxxxxxxxxxxxd
复制代码
命令是这个
  1. 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分别是之前获取到的信息,填进去就行了
  1. curl -k 'https://dnsapi.cn/Record.List' -d 'login_token=<token_id>&format=json&domain_id=<domain_id>' | jq .
复制代码

                               
登录/注册后可看大图

这时候我们看返回的结果会有若干个记录,找到你刚刚随手添加的那一条记录,记下他对应的id,这个为record id。
好,目前我们已经有了
  1. token_id
  2. domain_id
  3. record_id
复制代码
有了这三项,我们就可以通过指令来更新ddns记录了
指令如下
  1. 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地址,可以在前面加一句
  1. address=$(curl http://ip.360.cn/IPShare/info | jq -r '.ip')
复制代码
来获取ip地址
下面是完成脚本,另存为一个ipreport文件并设置定时任务即可

添加的解析记录

添加的解析记录

dnsupdate.zip

672 Bytes, 下载次数: 12

评分

参与人数 2渣金 +5 经验值 +15 收起 理由
tinko + 5 + 5 赞一个!
jakc + 10 很给力!

查看全部评分

21

主题

86

回帖

902

积分

中级渣柚V2

积分
902
 楼主| 发表于 2019-9-28 14:11:17 | 显示全部楼层
怎么有的图片显示不出来

42

主题

394

回帖

1956

积分

中级渣柚V3

积分
1956
发表于 2019-9-29 16:16:37 | 显示全部楼层
有部分图挂了

2

主题

45

回帖

122

积分

初级渣柚V2

积分
122
发表于 2019-10-1 06:42:24 | 显示全部楼层
顶一个,支持楼主

1

主题

2

回帖

63

积分

初级渣柚V2

积分
63
发表于 2019-10-11 23:54:26 | 显示全部楼层
做DDNS的话,dnsapi有专门的DDNS语句,不用请求修改的语句。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2024-12-22 20:19 , Processed in 0.066774 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表