RouteOS 利用DNSPOD的API接口实现DDNS解析

作者 : 七界传说 发布时间: 2020-03-27 文章热度:3.77K 共1686个字,阅读需5分钟。

目 录

 

RouteOS 利用DNSPOD的API接口实现DDNS解析-七界传说丨关注分享网络、硬件、维护、游戏、主题、虚拟化、软件分享!

前言:

Token 的生成是完全独立于帐号密码的,即使 Token 丢失,黑客也不知道用户的帐号和密码,万一 Token 泄漏,用户只需要登录 DNSPod 后台,将有安全问题的 Token 删除即可,极大的提高了帐号安全性

DNSPOD的API申请地址:https://support.dnspod.cn/Kb/showarticle/tsid/227/

完整的请求地址为:https://www.dwhd.org/dnspod_v2.php?code=(API ID)&token=(API Token)&domain_id=(域名ID)&record_id=(解析ID)&sub_domain[域名解解析名]&record_type=[域名解析类型]&record_line=[域名解析线路]&value=[域名解析地址]

脚本说明:

1. 不存在的记录,不会自动添加,需要手动在DNSPOD添加记录,线路为默认,不支持单记录多线路解析。

2. 只支持IPv4,不支持IPv6

3. 脚本中需要自己修改的信息

pppoe,拨号连接的名称,如pppoe-out1

token,dnspod的token。id和token之间用半角逗号连接(英文状态下的逗号)

domain,域名

subdomain,主机记录

版本更新:

1.0 beta  by 2019/11/13

1. 测试版本,有任何问题请留言。

2. 为什么不加自动了添加域名之类的,因为一次添加永久有效,所以脚本中不添加自动了。节省ROS性能
欢迎进群交流12337701

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#PPPoE
:local pppoe "ADSL-PPPoE"

#DNSPOD token
:local token "xxxxx,xxxxxxxxxxxxxxxxxxx"

#域名
:local domain "myxzy.com"

#域名主机名
:local subdomain "www"

#以下不是专业人士请不要修改
#domain
:local dname ($subdomain.".".$domain)

#获取pppoe拨号ip
:local ipaddr [/ip address get [/ip address find interface=$pppoe] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]

#获取域名列表
:local record [/tool fetch url="https://dnsapi.cn/Record.List" http-data="login_token=$token&format=json&domain=$domain&sub_domain=$subdomain&record_type=A" as-value output=user]

#获取id和ip
:set record ($record->"data")
:set record [:pick $record [:find $record ""records":"] [:len $record]]
:local recordid [:pick $record ([:find $record ""id":""]+6) [:find $record "","ttl"]]
:local recordip [:pick $record ([:find $record ""value":""]+9) [:find $record "","en"]]

#更新ip地址
:if ($recordip!=$ipaddr) do={
/tool fetch url="https://dnsapi.cn/Record.Ddns" http-data="login_token=$token&format=json&domain=$domain&sub_domain=$subdomain&record_id=$recordid&record_line_id=0&value=$ipaddr"
:log info ("[".$dname."] ip update")
} else={
:log info ("[".$dname."] ip not update")
}

RouteOS 6.x

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。

1 评论

  1. 请教一下,如果域名是 abc.def.com,那脚本是不是
    :local domain “def.com”
    :local subdomain “abc”

发表评论

19
+1985天安全运行
主题分享
0
+0篇本周更新
更新我快乐

VIP免费下载全站资源

立即了解

本站支持IPv6访问 本站支持SSL安全访问

站点地图