WinOs.vip

网吧技术,我们的认真的!
QQ群:594362448
首页 » 未分类 » ROS-DDNS for noip 域名更新脚本

ROS-DDNS for noip 域名更新脚本

#定义 no.ip 相关设定,以下自行修改:

#============================================================
:local DDNSUser "no-ip帐号"
:local DDNSPassword "no-ip密码"
:local DDNSHost "申请的no-ip地址"

#============================================================
#以下程式如不了解,建议不要修改:

#------------------------------------------------------------

#定义 IP 变量
:local DDNSIP
:global DDNSLastIP

#定义变量默认值
:if ([ :typeof $DDNSLastIP ] = nil ) do={ $DDNSLastIP "0.0.0.0" }

#利用HTTP查询Public IP
/tool fetch address=checkip.dyndns.com src-path=/ mode=http dst-path=("PublicIP");
:delay 1;

#读取档案
:set DDNSIP [/file get PublicIP contents];
:set DDNSIP [:pick $DDNSIP 0 [:find $DDNSIP "</body>"]];
:set DDNSIP [:pick $DDNSIP ([:find $DDNSIP ":"]+2) 100];

#删除档案
/file remove PublicIP;

#判断是否要更新 IP
:if ([ :typeof $DDNSIP ] = nil ) do={
:log error ("DDNS no.ip: 网络未取得 IP 位址")
} else={
:if ($DDNSIP != $DDNSLastIP) do={

# 更新 DDNS IP
:local url "/nic/update?hostname=$DDNSHost&myip=$DDNSIP"
/tool fetch address=dynupdate.no-ip.com src-path=$url mode=http user=$DDNSUser password=$DDNSPassword dst-path=("DDNS_no_ip")
:delay 1

# 档案内容
:local filestr [ /file get "DDNS_no_ip" contents];

# 删除档案
:local filename [ /file find name="DDNS_no_ip"];
/file remove $filename

# 变更是否成功
:if ( [ :find $filestr "good"] = "0" || [ :find $filestr "nochg"] = "0" ) do={
:log warning ("DDNS no.ip: 网络更新 IP 位址 " . $DDNSIP)
:set DDNSLastIP $DDNSIP
} else={
:log error ("DDNS no.ip: 网络更新 IP 位址失败 " . $DDNSIP)
}
}
}
访脚本的主要功能是更新当前IP、DDNS更新回传信息等

方法如下:

1、在/System Script下添加如下脚本内容

脚本名称命名为noip

2、在/System Scheduler下添加一个脚本定时,名称为noip,内容为noip,执行时间为10分钟(时间可自定义)

注意:单线单拨可用

文章如无特别注明均为原创! 作者: admin, 转载或复制请以 超链接形式 并注明出处 Winos.vip
原文地址《 ROS-DDNS for noip 域名更新脚本》发布于2020-9-15

评论

游客

切换注册

登录

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册

sitemap