我比较愚钝,用Java和部分脚本写的。
一个实时检测IP变化并更新DNS状态的工具,适用于在NameSilo购买的域名。代码我放github了,地址:html
目前运营商给家庭宽带的IP都是动态的,庆幸的是虽然IP地址不固定,可是倒是一个公网IP,因此咱们能够购买一个域名,使用动态域名解析技术将域名解析到宽带的IP。这样就能够在家搭建各类服务并经过访问固定的域名来访问,而无需租用昂贵的公网服务器。git
想实现这个目的,你须要一台一直运行的电脑来运行此程序,时刻检测宽带IP的变化。固然也须要本身解决路由器NAT映射的问题,但这不在本篇讨论。github
本程序经过访问 https://202020.ip138.com/ 获取家庭宽带的公网IP地址,经过 https://www.namesilo.com/api/ 来查询和更新DNS状态。shell
为了运行这个程序,你须要安装Java,推荐jdk11。首次运行以前你须要配置_conf.txt文件,填写你从NameSilo获取的api key,以及你的域名(不带前缀)。api
Linux则要作额外配置,首先要确保_conf.txt是Linux格式,不然脚本在拼接字符串时会出错。使用vi打开,而后:set fileformat=unix,最后退出保存。接着设置脚本权限 chmod 755 linux_runDDNS.sh
服务器
Windows :直接双击win_runDDNS.batdom
Linux :./linux_runDDNS.sh
curl
Windows :将vbs文件加入策略组工具
Linux :添加sh到服务,能够重定向输出到文件以检查服务运行状况。
都是用到了curl发送请求,把响应保存到文件中 ,再用脚本处理字符串。
Windows :https://www.v2ex.com/t/274392
Linux :https://github.com/pztop/namesilo_ddns
还有一个Windows powershell脚本实现的
https://www.ctrol.cn/post/freesource/domain-host/05-25-cartev-4719.html