漫月 DDNS API

本站目前可提供AliDDNS API

AliDDNS API 可直接通过阿里云AccessKeyId和AccessKeySecret 直接操作域名解析,从而达到了DDNS动态域名解析效果,无需自建PHP服务器端。在路由器不支持AliDDNS或者效率低的情况下,使用本站AliDDNS API能得更高性能的解析速度。

需满足条件:

1. 域名购买在Aliyun阿里云且开启AccessKeyId和AccessKeySecret并正确授权域名操作的所有权限,AccessKeyId和AccessKeySecret权限不要多给只需要域名操作全部权限即可

2. 因该API没有权限新建域名解析,只能更改已存在的域名解析,所以需要预先新建好要作为DDNS的域名 如dsm.vas.ink A记录指向任意IP 如1.1.1.1

漫月记AliDDNS API地址

https://www.vas.ink/api/AliyunDDNS/

请求方式:POST/GET

请求限制:每分钟最大6次请求,也就是10秒一次,如果超出请求数会被限制60秒

通讯密钥

a7cc8678193ee9

通讯密钥:a7cc8678193ee9

参数示例(别名示例):https://www.vas.ink/api/AliyunDDNS/?domain=vas.ink&type=CNAME&sub=dsm&keyid=0VX3YaSnBW72yFPR&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C&sign=a7cc8678193ee9&custom=2&address=test.vas.ink

参数说明:

参数参数类型参数说明
domain字符串根域名如 vas.ink(不包含www)
type字符串记录类型大写如 A、NS、CNAME、AAAA
sub字符串主机记录 用于DDNS的子域名 如dsm 最终域名就是dsm.vas.ink
keyid字符串阿里云域名权限的AccessKeyId
keysecret字符串阿里云域名权限的AccessKeySecret
sign字符串直接使用密钥a7cc8678193ee9
custom整数1使用请求发起客户端的IP该选项type只能A或者AAAA 2自定义IP或地址
address字符串当custom=2 自定义IP或地址时 需要传,如果为custom=1 则不需要这个参数
注意:使用该API 需要有公网IP 城域IP或者内网IP的需要使用内网穿透

传参选项 custom=1 时 解析的IP为发起API请求的设备公网IP

当传参选项 custom=2时 需要增加一项传解析的IP地址。

以便适应各种环境,如:RouterOS、群晖DSM、各种有DDNS需求的NAS或者设备。

参数示例

场景1:群晖DSM有动态公网IP,由群晖计划任务发起一个curl请求来解析群晖所在的公网IP地址

API参数示例:https://www.vas.ink/api/AliyunDDNS/?domain=vas.ink&type=A&sub=dsm&keyid=0VX3YaSnBW72yFPR&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C&sign=a7cc8678193ee9&custom=1

群晖计划任务,每分钟中执行一次 注意culr &符号需要转义

curl https://www.vas.ink/api/AliyunDDNS/\?domain=vas.ink\&type=A\&sub=dsm\&keyid=0VX3YaSnBW72yFPR\&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C\&sign=a7cc8678193ee9\&custom=1

场景2:RouterOS有PCC均衡负载 有多个公网IP

注意:多个IP 则需要对应多个子域名,一个IP对应一个域名。该方法原理为预先制作好API链接,解析类形custom=2 使用自定义地址,RouterOS获取WANIP 赋值变量$ipadd,对应到自定义地址address=$ipadd参数上

IP1-API参数示例:https://www.vas.ink/api/AliyunDDNS/?domain=vas.ink&type=A&sub=dsm1&keyid=0VX3YaSnBW72yFPR&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C&sign=a7cc8678193ee9&custom=2&address=1.1.1.1

IP2-API参数示例:https://www.vas.ink/api/AliyunDDNS/?domain=vas.ink&type=A&sub=dsm2&keyid=0VX3YaSnBW72yFPR&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C&sign=a7cc8678193ee9&custom=2&address=2.2.2.2

RouterOS计划任务-线路1,每分钟中执行一次

#PPPoE-out
:local pppoe "pppoe-out1"

:local ipaddr [/ip address get [/ip address find interface=$pppoe] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]
:local result [/tool fetch url="https://www.vas.ink/api/AliyunDDNS/\?domain=vas.ink&type=A&sub=dsm1&keyid=0VX3YaSnBW72yFPR&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C&sign=a7cc8678193ee9&custom=2&address=$ipadd" as-value output=user];

RouterOS计划任务-线路2,每分钟中执行一次

#PPPoE-out
:local pppoe "pppoe-out2"

:local ipaddr [/ip address get [/ip address find interface=$pppoe] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]
:local result [/tool fetch url="https://www.vas.ink/api/AliyunDDNS/\?domain=vas.ink&type=A&sub=dsm1&keyid=0VX3YaSnBW72yFPR&keysecret=upqZxR3qoaLLpPvKqW5nFUdfG3YYbo9C&sign=a7cc8678193ee9&custom=2&address=$ipadd" as-value output=user];

使用协议:

本站提供的该API仅作为技术研究使用,不提供任何商业或其他目的用途。

该API在使用过程中,WebServer会通过HTTP日志间接或直接记录收集到您的AccessKeyId和AccessKeySecret,并非本站负责人意愿或故意收集。如您介意可以自行使用该项目代码自行搭建。

本站有义务妥善保管和定期清理API请求日志,但不排除非不抗拒因素如自然灾害、黑客攻击或其他未详尽的原因导致的API日志(AccessKeyId和AccessKeySecret)泄露,因此造成损失的本站不负任何责任。

在您使用该API获得服务的同时,代表您同意并遵循本协议。并且请遵守中华人民共和国互联网相关的法律法规与社会公德,请勿用于非法用途。

祝您使用愉快!

更新日志:

  • v1.0 初步支持公开API A记录 CNAME MX均无问题 
  • v2.0 AAAA解析支持,简化API请求