实现阿里云域名的DDNS

news2024/11/29 4:33:21

实现阿里云域名的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.coloradmin.cn/o/646404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx安装与配置

Nginx安装与配置 一、简介二、安装三、功能与配置3.1、正向代理3.2、反向代理3.3、负责均衡3.4、ip_hash3.5、轮询3.6、加权轮询 四、nginx安全相关配置五、常用命令 一、简介 Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 Ngin…

Windows11 安装 CUDA/cuDNN+Pytorch

一、准备工作: 查看torch版本:进入python交互环境: >>>import torch >>>torch.__version__ 查看cuda版本:CMD窗口 nvcc --version 如果版本不一致,需要卸载再重装。 二、安装 Windows 安装 CU…

【裸机开发】指定外设根时钟配置实验(三)—— 寄存器分析篇(PERCLK_CLK_ROOT、IPG_CLK_ROOT)

前面已经完成了 PLL1 和 8 路 PFD 的初始化,至于其他 PLL 路,等实际需要的时候再初始化也不迟。接下来我们就挑选几个具体的外设时钟进行配置。 假设我们要初始化下面两个根时钟PERCLK_CLK_ROOT、IPG_CLK_ROOT。(中途可能还涉及到根时钟 AHB…

【01】如何在电脑上使用wink一键高清短视频

如何在电脑上使用wink一键高清优化短视频画质 文章目录 如何在电脑上使用wink一键高清优化短视频画质1.软件简介1.1痛点1.2解决方案 2.实际操作2.1准备工作2.1.1下载雷电模拟器2.1.2下载wink 2.2.安装软件2.2.1安装雷电模拟器2.2.2安装wink2.2.2.1在雷电模拟器中安装wink2.2.2.…

【操作系统】计算机操作系统知识点总结

文章目录 前言一、操作系统的概念与发展二、操作系统的结构与功能1、操作系统的结构2、操作系统的功能 三、进程管理1、进程2、进程的创建3、进程管理的实现4、进程控制块 四、内存管理1、内存2、内存管理3、内存管理的实现 五、文件系统1、文件系统2、文件系统的主要任务3、文…

微服务springcloud 03.Eureka实现高可用

01.运行时候项目图存在两个item service,和两个Eureka注册中心 02.在已有的项目中扩展service服务数量(item service的数量变成两个) 第一步:配置item service的启动参数 启动参数的优先级要高于yml文件的优先级 具体参数是&#…

两万字深入浅出yolov5+deepsort实现目标跟踪,含完整代码, yolov,卡尔曼滤波估计,ReID目标重识别,匈牙利匹配KM算法匹配

目录 一:前言 二:跟踪部分: ReID结构​编辑 第一帧(生成track) 第二帧 更新先验的预测值 状态矩阵的初始化 对预测值进行更新(矫正): 匹配完成,进行矫正的更新&…

CSC改派+延期|影像学医生赴英国伦敦国王学院从事访学研究

因美国拒签,又临近派出截止期限。为避免出国指标作废,Q医生希望获得英国高校的邀请函,以申请CSC的改派并延期。我们为其落实了世界名校-英国伦敦国王学院访问学者职位,导师的研究方向属前沿热点,具有广阔的发展前景。Q…

C++【二叉树进阶试题】

✨个人主页: 北 海 🎉所属专栏: C/C相关题解 🎃操作环境: Visual Studio 2019 版本 16.11.17 文章目录 606. 根据二叉树创建字符串102. 二叉树的层序遍历107. 二叉树的层序遍历 II236. 二叉树的最近公共祖先JZ36 二叉搜…

位姿估计 | 从目标特征点检测到目标体坐标系相对于相机坐标系的位姿估计过程

目录 引言技术流程1. PNP介绍2. ICP介绍a. 利用ICP求解目标相对相机的位姿b. 利用ICP求解相机帧间运动 引言 本文接着分享空间目标位姿跟踪和滤波算法中用到的一些常用内容,希望为后来者减少一些基础性内容的工作时间。以往分享总结见文章:位姿跟踪 | 相…

当你全力以赴世界也会为你让路,23级人大女王金融硕士准备中

当你全力以赴,世界也会为你让路,在申报人民大学与加拿大女王大学金融硕士(国际班)项目的路上你真的努力了吗? 记得曾经在知乎上看过一个问题“什么事情给你的生活带来什么改变”,下边有很多人回答说&#x…

【每日算法】【202. 快乐数】

☀️博客主页:CSDN博客主页 💨本文由 我是小狼君 原创,首发于 CSDN💢 🔥学习专栏推荐:面试汇总 ❗️游戏框架专栏推荐:游戏实用框架专栏 ⛅️点赞 👍 收藏 ⭐留言 📝&…

【Linux】—— 详解计算机体系结构

前言: 在之前,我们已经对Linux环境开发的基本工具进行了详细的学习。接下来,我们将要学习的第一大块便是关于计算机体系结构的知识!! 目录 前言 (一)冯诺依曼体系结构 基本介绍 木桶原理 …

SpringSecurity实现前后端分离登录授权详解

在介绍完SpringSecurity实现前后端分离认证之后,然后就是SpringSecurity授权,在阅读本文章之前可以先了解一下作者的上一篇文章SpringSecurity认证SpringSecurity实现前后端分离登录token认证详解_山河亦问安的博客-CSDN博客。 目录 1. 授权 1.1 权限系…

线程间的通信机制与生产者消费者案例

线程间的通信机制与生产者消费者案例 线程间通信 为什么要处理线程间通信: 当我们需要多个线程来共同完成一件任务,并且我们希望他们有规律的执行,那么多线程之间需要一些通信机制,可以协调他们的工作,以此实现多线…

中空百叶玻璃隔断怎么组装

以下是中空百叶玻璃隔断的组装步骤: 1. 准备材料:中空百叶玻璃、接头、U型槽、挂件、固定螺钉等。 2. 根据实际需要,将中空百叶玻璃按照尺寸进行切割。 3. 在地面上铺上一张软垫,将切好的玻璃放置在垫子上,然后在两侧标…

自动化部署工具 drone 部署文档 (使用于 vue java 部署 其他自行研究)

1.准备好docker环境 drone 官网 Drone CI – Automate Software Testing and Delivery 推荐使用宝塔傻瓜式一键安装宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 安装好docker环境之后开始部署容器 这里用到的git版本软件是gogs,其他自己研究 docker版的gogs和实…

Linux内存管理 —— 文件系统缓存和匿名页的交换

转自:https://www.cnblogs.com/wangshaowei/p/14089132.html 文件页 内存回收,也就是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Pag…

B045-jQuery案例实战BootStrap

目录 一、BootStrap概述二、BootStrap使用1.起步1.下载或放入BootStrap文件到本地工程里2.在html代码中引入1个css文件和两个js文件3.复制模板代码到本地html文件里会自动应用成bootStrap图样中的效果0.实战案例-环境准备0.实战案例-基本模板 2.布局容器3.栅格系统4.常用组件表…

echarts里type为custom,自定义配置renderItem为柱状形状

echarts里type为custom,自定义配置renderItem为柱状形状 echarts里type为custom,自定义配置renderItem为柱状形状 echarts里type为custom,自定义配置renderItem为柱状形状 主要功能:文本超过柱状形状就隐藏否则就显示,…