Hi:
更新你的ip到dnspod托管的域名
http://dnspod01.mrli888.cn:6080/dnspod/get/?name=你的域名&Token_id=xxx&Token=xxx
获取域名的IP(获取IP不依赖dns缓存)
获取IP: token,tokenID,name三个必选参数
http://dnspod01.mrli888.cn:6080/dnspod/post/?name=你的域名&Token_id=xxx&Token=xxx&ip=xx.xx.xx.xx
更新IP: token,tokenID,name ,ip 四个必选参数
2018-07-25 更新提交的IP 后台直接判断和域名的ip是不是一样,
ip一样的不执行提交更新操作,如果ip不一样 则更新域名ip为提交的IP地址
ros脚本:
点击获取脚本代码 域名不存在会自动添加 ttl=10秒 2018-07-08更新
#2018-07-08
#author:mrli
#email:541449269@qq.com
#功能:更新IP到dnspod托管的域名
#脚本在6.x 下执行
#Version:1.1
#dnspod申请的TokenID
:local TokenID "xxxx"
#dnspod申请的Token
:local Token "xxxx"
#需要更新的域名,域名必须在dnspod托管
:local DnsName "xx.xxx.com"
#更新域名IP的接口
:local Interface "pppoe-out1"
#########以下脚本代码, 不懂ros脚本,请不要随意修改#######################
:local url "http://dnspod01.mrli888.cn:6080/dnspod/"
:local localip
:set localip [/ip address get [find interface=$Interface] address ]
:set localip [:pick $localip 0 [find $localip /]]
/tool fetch url=($url ."post/\?name=$DnsName&Token_id=$TokenID&Token=$Token&ip=$localip" ) keep-result=no
:log info "ddns脚本执行完成..."
点击获取脚本代码 旧版
#2018-04-22
#author:mrli
#email:541449269@qq.com
#功能:更新IP到dnspod托管的域名或者获取域名的IP(获取IP不依赖dns缓存)
#脚本在6.x 下执行
#Version:1.0
#dnspod申请的TokenID
:local TokenID "xxxx"
#dnspod申请的Token
:local Token "xxxxx"
#需要更新的域名,域名必须在dnspod托管
:local name "xxxxx"
#功能开关更新IP:post | 获取IP: get
:local function "get"
#更新域名IP的接口
:local Interface "ether1"
#########以下脚本代码, 不懂ros脚本,请不要随意修改#######################
:local url "http://dnspod01.mrli888.cn:6080/dnspod/"
/tool fetch url=($url ."get/\?name=$name&Token_id=$TokenID&Token=$Token" ) dst-path=dnspod.log
:local GetIP [/file get dnspod.log contents ]
:if ($function = "post") do={
:local localip
:foreach i in=[/ip address find interface=$Interface ] do={
:set localip [/ip address get $i address ]}
:set localip [:pick $localip 0 [find $localip /]]
:if ($localip != $GetIP) do={
:if ([len [find $localip . ]] >= 1 && [len [find $GetIP . ]] >= 1 ) do={
/tool fetch url=($url ."post/\?name=$name&Token_id=$TokenID&Token=$Token&ip=$localip" ) dst-path=dnspod.log
:local GetIP [/file get dnspod.log contents ]
:log info ("更新成功,返回结果:".$GetIP) } else={
:log error ($Interface ."接口没有IP地址,获取域名错误 请检查...")
:log error ("参考结果:本地获取到的IP:" . $localip ." , 更新域名返回的结果:" . $GetIP )
}} else={:log info "本地接口IP和域名IP一样,不用更新"}} else={
:if ( [len [find $GetIP . ]] >= 1 ) do={
:log info ("域名".$name . "的IP是:" . $GetIP)} else={:log erro ("获取dnspod IP失败,参考结果:".$GetIP)}}
|