Java版阿里云/腾讯云域名动态映射DDNS到动态IPv4或IPv6

news2024/11/19 16:27:55

1 介绍

利用业余时间,整合了一下阿里云和腾讯云动态域名映射,并将其使用spring boot做了一下封装,正好可以把家里的闲置电脑和IP v6利用起来,具体使用方法如下,或者参考对应项目的readme文档

2 地址

aliyun-ddns:GitHub、腾讯云coding
tencent-ddns:GitHub、腾讯云coding

3 使用

具体可参考对应项目介绍,大体相差不大

3.1 申请access-key/access-secret

3.1.1 阿里云

https://console.aliyun.com/
这里出于安全考虑,可以使用子账号
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.1.2 腾讯云

https://console.dnspod.cn/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 项目运行配置

首先安装Java8,自行百度

阿里云为ddns.aliyun前缀,access-key-id / access-key-secret

腾讯云为ddns.tencent前缀,token-id / token

其余配置相同,并没有将两个平台合并成一个,是因为基本上域名都会只在一个平台

IPv4 和 IPv6 IP地址查询网址目前默认的 ipw.cn,可修改相应配置

项目打包以后,在jar包同级目录创建config文件夹,并编写 application.yml 配置文件

文件内容如下:

server:
  port: 8080 # 可选,默认8080

ddns:
  aliyun:
    ipv4-query-domain: https://4.ipw.cn # ipv4查询地址,默认 https://4.ipw.cn
    ipv6-query-domain: https://6.ipw.cn # ipv6查询地址,默认 https://6.ipw.cn
    access-key-id: access-key-id # key-id
    access-key-secret: access-key-secret # secret
    cron: 0 0/3 * * * ? # 默认每三分钟刷新一次
    domain:
      - domain-name: aliyun.asia # 顶级域名
        sub-domain-name: testv4 # 二级域名
        record-type: A # A表示IPv4,AAAA表示IPv6,默认 AAAA

也可以是 application.properties 文件

# 可选,默认8080
server.port=8080

# ipv4查询地址,默认 https://4.ipw.cn
ddns.aliyun.ipv4-query-domain=https://4.ipw.cn
# ipv6查询地址,默认 https://6.ipw.cn
ddns.aliyun.ipv6-query-domain=https://6.ipw.cn
# key-id
ddns.aliyun.access-key-id=access-key-id
# secret
ddns.aliyun.access-key-secret=access-key-secret
# 刷新频次,默认每三分钟刷新一次
ddns.aliyun.cron=0 0/3 * * * ?
# 顶级域名
ddns.aliyun.domain[0].domain-name=aliyun.asia
# 二级域名
ddns.aliyun.domain[0].sub-domain-name=testv4
# A表示IPv4,AAAA表示IPv6,默认 AAAA
ddns.aliyun.domain[0].record-type=A

启动会自动刷新一次,此后按照指定的刷新频次刷新,默认3分钟一次

可访问:http://{ip}:{port},即可查询列表,支持手动刷新

在这里插入图片描述
如果有多个域名,access-key-id / access-key-secret 自定义成一样的即可,暂不支持配置多个 access-key-id / access-key-secret

deploy文件夹下为打包好的jar包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/148945.html

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

相关文章

数据分析-深度学习 Day3

youtube课程地址:(实时更新)https://www.youtube.com/playlist?listPLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2Jwww.youtube.com/playlist?listPLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2JB站课程地址:李宏毅2021机器学习【week3】&#xff1a…

基于tensorflow框架bert的自然灾害描述文本分类详细教程

概述: 使用tensorflow框架: 预测给定的推文是否与真正的灾难有关。如果是这样,预测一个1。如果不是,预测一个0 数据展示:

Java之String概述、对象创建原理和常见面试题、String类常用API、案例

目录String、ArrayList前言String简单介绍Arraylist简单介绍String 概述String类的特点详解总结String类创建对象的两种方式两种方式有什么区别吗?总结String常见面试题String类常用API-字符串内容比较总结String类常用API-遍历、替换、截取、分割操作String案例验证…

内存管理(C/C++)

内存管理(C/C)C/C内存分布C语言中的动态内存管理方式C中动态内存管理new / delete 操作内置类型new 和 delete 操作自定义类型operator new 和 operator delete 函数operator new 和 operator delete 函数new 和 delete 的实现原理内置类型自定义类型定位…

【人工智能原理自学】激活函数:给机器注入灵魂

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔笔记来自B站UP主Ele实验室的《小白也能听懂的人工智能原理》。 🔔本文讲解激活函数:给机器注入灵魂,一起卷起来叭! 目录一、“分…

已解决pandas正确创建DataFrame对象的四种方法(通过list列表、dict字典、ndarray、Series对象创建)

已解决(pandas创建DataFrame对象失败)ValueError: 4 columns passed, passed data had 2 columns 文章目录报错代码报错翻译报错原因解决方法创建DataFrame对象的四种方法1. list列表构建DataFrame2. dict字典构建DataFrame3. ndarray创建DataFrame4. Se…

【MySQL】十一,存储引擎

查看存储引擎 查看mysql提供什么存储引擎 设置系统默认的存储引擎 查看默认的存储引擎 show variables like %storage_engine%; SELECT default_storage_engine;修改默认的存储引擎 如果在创建表的语句中没有显式指定表的存储引擎的话,那就会默认使用 InnoDB 作…

08、ThingsBoard使用msa构建镜像并上传到Harbor

1、概述 今天讲解如何使用thingsboard源码中的msa模块来构建镜像,首先我先说一下这个模块的作用,很多人都不明白msa是如何构建镜像的,msa下面创建了很多模块,每个模块都是一个应用,就像我们平时微服务一样可以独自启动,thingsboard是使用这些模块去其它模块拉取代码过来…

卷积神经网络 Convolutional Neural Network (CNN)

CNNObservation 1Observation 2Benefit of Convolutional LayerMultiple Convolutional LayersComparision of Two StoriesObservation 3Convolutional Layers PoolingApplication: Playing GoTo learn more ...仅供个人学习,不具参考价值! Image Class…

python代码运行速度有点慢 ? 教你使用多线程速度飞升

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 在我们爬取数据的时候,有时候它运行速度会非常慢 那么怎么解决呢? 这里给大家带来一个多线程的方法 我们用采集二手车来举例 环境使用: Python 3.8 Pycharm 模块使用: requests 数据请求模…

JVM类加载机制-让你明明白白的了解类的执行流程

一、类加载运行过程1.1 类加载到jvm的流程当我们使用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到jvm里。1.2 loadClass的类加载过程其中loadClass的类加载过程有如下几步:加载 >> 验证 >> 准备 >> 解析…

关于Visual Studio C++项目属性设置的说明

链接器—常规—输出文件 这里的输出文件指的是最终生成的exe文件 C/C–常规—附加包含目录 这里指的是需要include的一些头文件所在的 目录,可以提前在项目文件中建立好include文件,然后在这里设置,以后将一些自定义的include头文件放在这个…

Python之父强烈推荐,爬虫入门经典《python3网络爬虫开发实战》

实操性很强的一本工具书,由浅入深,深入浅出。前面从环境配置到爬虫原理、基本库和解析库的使用再到数据存储,一步步把基础打好,然后再分门别类介绍了Ajax、动态页、验证码、App的爬取、识别等,还讲解了代理使用、模拟登…

【Java】Spring中Aware接口的作用

Spring的几个aware接口的用法 ApplicationContextAware public interface ApplicationContextAware extends Aware {void setApplicationContext(ApplicationContext applicationContext) throws BeansException; }该接口仅有一个方法,用于设置Spring容器上下文。…

浅谈Springboot自动配置

目录 1.自动配置原理 2.自动配置案例 3.总结 1.自动配置原理 在一个Springboot程序中,我们只需要在main程序中使用springBootApplication注解即可标记为一个一个Springboot程序,然后使用 SpringApplication.run(TestMain.class,args) 代码即可创建…

多把锁,死锁,活锁,饥饿

目录 多把锁 多把锁的优缺点 活跃性 死锁 手写死锁 死锁的四个必要条件 定位死锁 jconsole运行命令 jps 定位进程 id,再用 jstack 定位死锁 死锁的三种场景 一个线程一把锁 两个线程两把锁 多个线程多把锁 解决死锁 活锁 饥饿 多把锁 现在有一个场…

Kali Linux ping扫描命令

1.命令介绍 kali的ping命令和centos linux的评命令许多参数都差不多,可以看一下我之前写的linuxping命令https://blog.csdn.net/qq_44652591/article/details/128439494 ping扫描是ping整个网络IP地址或单个IP,以查明它们是否活跃和响应的过程。ping也是…

用Kettle调用Restful API 接口

1 概述 kettle 中文名称叫水壶,是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。当然它也可以用来调用Restful API 来采集数据&#xff0c…

【安全硬件】Chap.6 IC和半导体产业的全球化;芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁: 硬件木马、IP盗版、逆向工程、侧信道攻击、伪造

【安全硬件】Chap.6 IC和半导体产业的全球化;芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁: 硬件木马、IP盗版、逆向工程、侧信道攻击、伪造背景1. IC和半导体产业的全球化2. 芯片生产猜疑链——Untrusted IC Supply Chain Threats可能会存在的安全…

我只是把握好了这3点,1个月后成功拿下大厂offer!

目录 一、写在前面二、技术广度的快速准备三、技术深度的快速准备四、基础功底的快速准备五、下篇预告 一、写在前面 春节过后,即将迎来的是一年一度的金三银四跳槽季。 假如你准备在金三银四跳槽的话,那么作为一个Java工程师,应该如何利…