我们在使用ddns的时候会不会遇到这样的问题:路由器只支持指定的域名服务提供商或者是指定的域名,比如我的华为路由器就只支持花生壳:
我想看到这篇文章的小伙伴们应该都把域名注册到中国最大的域名注册服务商阿里云上,那么我们要怎么实现阿里云的DDNS呢?我们接着往下看
当然我身为一个程序员,如果路由器不支持,我们就应该写一串代码让他支持。阿里云已经提供了相关的API让我们实现动态域名解析(DDNS),API的地址为:https://next.api.aliyun.com/api/Alidns/2015-01-09/UpdateDomainRecord:
我们可以在文档当中看到可以支持如java、typescript、go、php等一系列的语言的SDK,因为go语言有以下特点:
虽然我是个java程序员,但是综合以上优点,我决定还是使用go语言来开发这个小程序
当然这个小程序我已经用go语言开发好了,且代码已经上传到github,代码仓库地址:https://github.com/xiaohh-me/greateme_ddns,同时我也编译好了三个操作系统的可执行文件,如图:
可以直接点击下载可执行文件:
其他系统或者是芯片架构需要自己搭建go语言环境自行编译获得可执行文件,编译代码的具体步骤在项目的README.md当中存在:
来到阿里云首页并登陆你的阿里云账号,然后来到你的控制台,将鼠标放在头像上会出现一个菜单,然后点击 AccessKey管理
出现这个提示直接点击 继续使用AccessKey
,当然你要为AccessKey设置权限的话就需要点击开始使用子用户AccessKey,这个比较麻烦所以在这里直接略过
验证成功后就生成了AccessKey和AccessKeySecret,我们需要将它记住:
本片文章就使用 yueyang.city
和 greateme.com
两个二级域名来做DDNS,确定两个三级域名:home.yueyang.city
和 home.greateme.com
来做这个DDNS
本片文章就以Windows操作系统为例,其他操作系统操作也大同小异,下载好可执行文件解压之后可以查看目录:
在conf文件夹下有一个 config.ini
的配置文件:
接下来我们只需要执行 greateme_ddns.exe
这个可执行文件即可,可以查看执行后的控制台输出:
我们可以看到当前我的公网IP地址为 110.52.225.170
我们查询一下是不是这个:
通过在百度上面查询我的公网IP地址,发现的确是这个IP地址,我们再来查看阿里云的域名解析:
接下来每十分钟就会同步一次域名解析
本篇文章到这里就结束了,代码已经开源放在了github上,如果觉得代码有啥可以优化的地方,欢迎PR