海运的博客

ROS动态DNS更新IP到dyndns.org

发布时间:November 2, 2012 // 分类:ROS // No Comments

本脚本用于ROS更新IP至DDNS,适用于dyndns.org。

#https://www.haiyun.me
#设置变量
:local ddnsuser "onovps"
:local ddnspass "onovps"
:local ddnshost "onovps.dyndns.org"
:local ddnsinterface "pppoe-out1"

#设置IP变量
:global newip
:global lastip
:if ([ :typeof $lastip ] = nil ) do={ $lastip "0" }

#获取当前外网IP
:set newip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
#去掉IP的网段
:set newip [:pick $newip 0 [:find $newip "/"]]

#判断新旧IP是否相同
:if ([ :typeof $newip ] = nil ) do={
   :log info ("DynDNS: " . $ddnsinterface . "没有获取到外网IP")
} else={
  :if ($newip != $lastip) do={
    :log info ("DynDNS:" . $ddnsinterface . "更新IP为" . $newip)
    :local str "/nic/update?hostname=$ddnshost&myip=$newip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
    /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
    :delay 1
    :local str [/file find name="DynDNS.$ddnshost"];
    /file remove $str
#设置新IP为上次IP,供下次调用
    :global lastip $newip
  }
}

标签:ddns, ros, ros更新ddns

发表评论

分类
最新文章
最近回复
  • crowjin: 你确定这能过滤??不是所有请求都返回空地址::?
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了