[置顶]开源项目: DynDNS -- 2012.10.08更新

记得四月初的时候,俺写了篇文章,介绍了一个利用DNSPod的API与Shell脚本,实现DDNS的工具 (参考这里),试用了一段时间,感觉效果还不错。

鉴于DNSPod的开放性,以及完备的API,给第三方工具提供了很不错的开发平台。写上篇blog的时候,俺就提到过,要做一个ruby实现的DDNS脚本工具,两个月过去了,利用拼凑起来的时间,断断续续,这个工具算是成型了。在我的BT下载机跑过一段时间,效果令人满意!

打算把这个程序开源了,放在GitHub上,供广大BT爱好者使用。

项目地址:https://github.com/TimothyYe/DynDNS

下面简单介绍一下使用方法:

运行前,请确保你的机器已经配置了Ruby运行环境,关于如何安装Ruby,建议Google一下,这里推荐一篇靠谱的文章

首先,你得从DNSPod的官网,登陆到你的域名管理界面,添加一个用来进行DDNS解析的A记录,比如你的域名是abc.com,想用bt.abc.com来做DDNS解析,那么就添加一个名为abc的A记录吧!

然后,是从GitHub上获取代码,你可以通过网页下载的方式,如果你已经装有git工具,可以直接clone一个下来:

1
git clone git://github.com/TimothyYe/DynDNS.git

下载完毕后,进入DynDNS目录,修改Config.rb Config.yaml文件:

1
2
3
4
5
6
7
# Defination of static strings

login_email : "[email protected]"
login_password : "1234"

your_Domain : "abc.com"
your_SubDomain : "bt"

login__email:是你的DNSPod帐号 login__password:是你的DNSPod登陆密码

your__Domain:是你的域名,比如上面提到的abc.com your__SubDomain:是你新添加那个A记录,比如上面提到的“bt”

修改完毕后,保存文件,直接用如下命令运行即可:

1
ruby DynDNS.rb start

脚本大致工作流程:脚本在后台运行,每5分钟,获取一次你的公网IP,如果发现与A记录解析的IP不一致,就更新A记录的IP。

运行后,可以ping你的二级域名,检查IP是否已经更新为你当前的公网IP。

另外,还可以在当前目录中生成的logger.txt中,查看程序运行日志!

备注:目前脚本只支持单个域名以及单个A记录解析与更新的模式,以后会考虑加入多域名、多A记录解析的支持。

如果你想用Java版本的客户端,可以试试久酷兄开发的这款软件:JC-DDNS

支持原创技术分享,据说打赏我的人,都找到了女朋友!