实现阿里云域名的DDNS

news/2024/11/24 14:02:39/

实现阿里云域名的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


http://www.ppmy.cn/news/384033.html

相关文章

MT41K512M16VRP-107 AIT:P内存颗粒D9ZWM

MT41K512M16VRP-107 AIT:P内存颗粒D9ZWM 美光宣布,联发科已经在最新的智能手机 5G 旗舰芯片组天玑 9000 上验证了美光的 LPDDR5X 内存。同时,美光也是首家对 LPDDR5X 内存取样和验证的半导体公司,首批 1α 工艺打造的 LPDDR5X 内存样品现已交…

MT6771 MFNR

MT6771 MFNR流程介绍 这是MFNR的流程,包含4个流程:before NR、MFP、MAR、After NREE。 N*lraw:输入的RAW图,在MT6771平台上,N在2~6之间 N*lbfbld:准备进行多帧融合的N张图像 lmfb:多帧融合后的图像 lmar:运动区域处理后的图像 loutput:经…

SpringBoot中事务失效的场景(含示例代码)

在使用SpringBoot的开发过程中,我们有时候会遇到明明加了事务但是却不生效的场景,今天就稍微整理一下。 场景一: 方法未被声明为事务:在Spring Boot中,事务是基于注解或XML配置的方式进行声明的。如果一个方法没有被…

锐龙r74800h和i710750h差距大吗 r74800h和i710750h对比

问起锐龙R7-4800H和酷睿i7-10750H,我觉得脱离了笔记本其他配件或者是笔记本用途,不太好单一去比较具体哪一个CPU更好。但是就目前我身边绝大部分朋友的需求来说,选择高端配置的用户,多数都是需要一台游戏本。 所以这里着重比较一下…

优思学院|质量管理六大思维陷阱【四】:抽样检查是最经济又能保证质量的方法吗?

在质量控制的过程中,一个常见的误解是认为抽样检查是最经济又能保证质量的方法。许多人认为进行百分之百的全数检查既浪费人力又时间不够。因此,他们倾向于采用抽样检查的方法,认为这样既符合经济成本,又能确保产品质量的水准。 …

一分钟了解物联存储柜的特点和功能

物联存储柜是一种智能存储柜,具有多种传感器和通信技术,集成物联网和云计算技术,通过自动化、智能化、网络化将传统存储柜与智能设备相结合,自动识别、存取物品,通过网络进行数据交互,实现远程监测和管理功…

MySQL查询优化大揭秘!看这些关键数据,让你的数据库速度飞起来!

大家好,我是小米,今天给大家分享一些关于MySQL查询优化的干货。在数据库开发和维护中,优化查询是至关重要的一环。通过合理的优化,我们可以让数据库的查询速度事半功倍。那么,在MySQL的查询计划中,有哪些关…

【饭谈】计算机专业刚毕业该何去何从?博主的亲身经历告诉你....

博主最近忙于在知乎上回答很多刚毕业大学生的问题,所以觉得关于入行确实应该好好聊一聊了。 其实博主和正在看文章的你一样,没什么背景,家庭条件在刚毕业时候可以说是极差,自己也没什么天赋,所以希望咱不要有距离感&a…