实现阿里云域名的DDNS

目前现状与痛点

我们在使用ddns的时候会不会遇到这样的问题:路由器只支持指定的域名服务提供商或者是指定的域名,比如我的华为路由器就只支持花生壳:

我想看到这篇文章的小伙伴们应该都把域名注册到中国最大的域名注册服务商阿里云上,那么我们要怎么实现阿里云的DDNS呢?我们接着往下看

解决方案

当然我身为一个程序员,如果路由器不支持,我们就应该写一串代码让他支持。阿里云已经提供了相关的API让我们实现动态域名解析(DDNS),API的地址为:https://next.api.aliyun.com/api/Alidns/2015-01-09/UpdateDomainRecord:

我们可以在文档当中看到可以支持如java、typescript、go、php等一系列的语言的SDK,因为go语言有以下特点:

  • 直接生成对应操作系统的执行文件,如windows直接生成 .exe文件,不需要再去安装运行环境(如JDK等)就可以直接执行
  • 对系统占用低,甚至在你的树莓派上都能直接运行
  • 执行的效率比java、php等语言要高很多

虽然我是个java程序员,但是综合以上优点,我决定还是使用go语言来开发这个小程序

代码仓库

当然这个小程序我已经用go语言开发好了,且代码已经上传到github,代码仓库地址:https://github.com/xiaohh-me/greateme_ddns,同时我也编译好了三个操作系统的可执行文件,如图:

可以直接点击下载可执行文件:

  • Linux(x86-64):https://github.com/xiaohh-me/greateme_ddns/releases/download/v1.0.0/linux_ddns_x86-64-v1.0.0.tar.gz
  • MacOS(arm64):https://github.com/xiaohh-me/greateme_ddns/releases/download/v1.0.0/mac_ddns_arm64-v1.0.0.tar.gz
  • Windows(x86-64):https://github.com/xiaohh-me/greateme_ddns/releases/download/v1.0.0/windows_ddns_x86-64-v1.0.0.zip

其他系统或者是芯片架构需要自己搭建go语言环境自行编译获得可执行文件,编译代码的具体步骤在项目的README.md当中存在:

申请阿里云的AccessKey

来到阿里云首页并登陆你的阿里云账号,然后来到你的控制台,将鼠标放在头像上会出现一个菜单,然后点击 AccessKey管理

出现这个提示直接点击 继续使用AccessKey,当然你要为AccessKey设置权限的话就需要点击开始使用子用户AccessKey,这个比较麻烦所以在这里直接略过

点击创建AccessKey:

这里是敏感操作需要验证一下你的身份,任意选择一种即可:

验证成功后就生成了AccessKey和AccessKeySecret,我们需要将它记住:

确定需要DDNS的域名

我们直接搜索域名控制台:

然后点击域名列表可以查看到自己的所有二级域名:

本片文章就使用 yueyang.citygreateme.com 两个二级域名来做DDNS,确定两个三级域名:home.yueyang.cityhome.greateme.com 来做这个DDNS

修改配置文件

本片文章就以Windows操作系统为例,其他操作系统操作也大同小异,下载好可执行文件解压之后可以查看目录:

在conf文件夹下有一个 config.ini 的配置文件:

我们需要修改这个配置文件:

开始同步

接下来我们只需要执行 greateme_ddns.exe 这个可执行文件即可,可以查看执行后的控制台输出:

我们可以看到当前我的公网IP地址为 110.52.225.170 我们查询一下是不是这个:

通过在百度上面查询我的公网IP地址,发现的确是这个IP地址,我们再来查看阿里云的域名解析:

  • home.yueyang.city解析确定了没问题:

  • home.greateme.com解析确定了没问题:

接下来每十分钟就会同步一次域名解析

本篇文章到这里就结束了,代码已经开源放在了github上,如果觉得代码有啥可以优化的地方,欢迎PR

实现阿里云域名的DDNS相关推荐

  1. 【DDNS】Python实现阿里云域名DDNS

    第一步:拥有阿里云域名,设置阿里云域名管理账号 转载自:https://www.jianshu.com/p/b8e01206f58c 1.1 登录阿里云控制台 1.2 在产品与服务中搜"访问 ...

  2. python实现阿里云域名绑定动态IP

    一般家庭网络的公网IP都是不固定的,而我又想通过域名来访问自己服务器上的应用,也就是说:需要通过将域名绑定到动态IP上来实现这个需求.于是乎,我开始探索实现的技术方案.通过在网上查阅一系列的资料后,发 ...

  3. Python+阿里云DNS 搭建DDNS动态域名解析

    家用的动态公网IP在断电以及一段时间后会变化,现在家宽公网IP开网盘以及代理管得越来越严格,已经有检测到被封的案例 上海检测web封停 这让我这种挂种子的PT党(迫真)感到害怕 以前我把国外的免费域名 ...

  4. Python 3.x + 阿里云SDK 实现DDNS

    想找个现成的阿里云DDNS自动更新Python程序,找了一圈竟然没有一个好用的. 大部分问题都是需要阿里云的Github代码,也就是所谓的 aliyunsdkalidns ,其实根本没必要. 有一个倒 ...

  5. 如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?

    看前备注:作者也是小白,只是在自己的摸索中积攒了一点经验,分享给大家.不能保证100%的正确,欢迎大家讨论分享. 我的博客(会同步更新的):陌路遥的博客 文作者:陌路遥/欢迎转载 如何利用阿里云域名远 ...

  6. Github Pages+Hexo+阿里云域名绑定

    1.Github Pages Github Pages可以免费托管,所以把博客托管到github上. 首先,创建一个github仓库,仓库的命名格式为:yourusername.github.io,然 ...

  7. 阿里云域名备案时产品类型

    阿里云域名备案时产品类型怎么选?在阿里云进行域名备案,需要购买阿里云的服务器,并根据服务器种类来选择对应的产品验证方式. 比如,验证服务器为 ECS.轻量应用服务器.弹性 web 托管.建站市场的,产 ...

  8. 专访阿里云域名与网站业务总经理宋瑛桥:域名未来将更加个性化、生态化和规范化...

    杭州·云栖大会将于2016年10月13-16日在云栖小镇举办,在这场标签为互联网.创新.创业的云计算盛宴上,众多行业精英都将在这几天里分享超过450个演讲主题. 为了帮助大家进一步了解这场全球前言技术 ...

  9. 阿里云域名配置以及https证书(ssl证书)配置

    阿里云域名配置以及https证书配置 目录: 一.tomcat 配置https 二.nginx 配置多个域名 最近开发小程序,小程序开发使用的所有接口都必须是https的 然后申请了阿里云服务器 申请 ...

最新文章

  1. tf.cast() 张量数据类型转换
  2. overflow encountered in exp
  3. Python:colorlog的三个例子
  4. ssm影城项目_影场与属性访问器界面
  5. 操作系统之动态库和静态库
  6. 嵌入式nosql php,NoSQL 嵌入式数据库NeDB示例
  7. iOS使用shell脚本注入混淆内容
  8. mysql path密码忘记_mysql密码忘记
  9. 散户“大溃败”?GME连续5日暴跌80% 白银价格急转直下
  10. 扎克伯格13年前写的Facebook网站代码,你见过吗?
  11. zend framework入门教程实践
  12. 计算机显卡驱动不匹配,显卡驱动不兼容怎么办 显卡驱动降低旧版本方法
  13. html5简单在线绘图,html5实现一个简单的在线画板
  14. python平方和psum_python求和函数sum()详解
  15. 镜像翻转_98年“后浪”科学家,首次挑战图片翻转不变性假设,一作拿下CVPR最佳论文提名...
  16. 解决Web部署 svg/woff/woff2字体 404错误(转)
  17. 量化交易中N字型技术形态的实现,天勤,mindgo,python版同花顺,okex,huobi,binance等平台都可正常使用
  18. 奇异值分解(SVD)(2)
  19. MySQL(InnoDB剖析):---InnoDB关键特性(插入缓冲(Insert Buffer)、两次写(doublewrite)、自适应哈希索引(AHI)、异步IO(AIO)、刷新邻接页)
  20. Android项目实践(四)——音乐播放器APP

热门文章

  1. 【Oracle】LISTAGG 函数的用法
  2. oracle 发syslog,Syslog转发管理
  3. uniapp app端 无法获取offsetHeight
  4. OpenCV处理鼠标事件
  5. 【Linux世界的僵尸】
  6. 来自Google和波普艺术家的情人节祝福
  7. linux 挂载 cifs文件夹
  8. memmove函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )
  9. centos7搭建vulhub靶机教程
  10. [学习心得][Html]disabled属性的启用和禁止