1 Star 0 Fork 54

Duke_yzl / ddns

forked from fastjrun / ddns 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.84 KB
一键复制 编辑 原始数据 按行查看 历史

基于阿里云SDK构建的DDNS

使用本工具可以随时检测本地的公网IP,和指定域名当前的解析IP,一旦发现不一致,就可以将域名解析到一个变化的公网IP上。本工具基于阿里云SDK,使用java开发。

本工具对于需要架设互联网服务但又苦于没有固定公网IP的童鞋使用,理论上本工具可以替代花生壳等动态域名服务。相比之前版本,最大区别是提供了页面配置阿里云SDK参数和需要解析的DDNS,并且支持多DDNS。

要求:域名托管在阿里云,阿里云开通access Key服务,相关服务器装jdk1.8及以上运行环境或者docker环境

#ddns-aliyun

使用方法

阿里云购买域名,并开通access Key服务

输入图片说明

下载源码并编译

git clone https://gitee.com/fastjrun/ddns.git
cd ddns
sh build.sh package_server

output目录下生成ddns.jar

部署

原生部署

将ddns.jar和ddns.sh部署到服务器同一目录下,比如/opt/ddns

cd /opt/ddns
# 采用后台部署方式
INIT=always nohup sh ddns.sh &
容器化部署

也可以通过docker镜像pi4k8s/ddns:3.0进行部署,这个镜像不仅可以在一般x86服务器使用,也可以在树莓派4B上直接使用

docker run -itd --name ddns -p 8080:8080 pi4k8s/ddns:3.0

使用

  • 配置阿里云api参数

http:{ip}:8080/config.html

输入图片说明

点击停止按钮可以停止调度任务。点击重启按钮可以以新设置的参数重新启动调度任务。

  • 配置ddns记录

http:{ip}:8080/ddns.html

输入图片说明

通过本页面可添加ddns记录,添加完记录后需要等一段时间才能生效,这里支持配置多条ddns记录。

  • IP变更记录

http:{ip}:8080/ip.html

输入图片说明

通过本页面可查看公网IP变更记录,可删除指定记录。另外后台启动了一个默认清理任务,每天执行一次,最多保留50条最新记录。

关于数据迁移

对于3.0版本用户,如果是基于docker启动,需要考虑数据迁移,数据库文件在容器路径为 /root/ddns-h2.mv.db

  • 从容器里cp到宿主机后,才可以删除当前容器
  • 以最新版本容器启动后,再将数据cp回容器
  • 重启容器后,通过h2的web控制台登录后新建ddns_ip_change_log表

http:{ip}:8080/h2-console

输入图片说明

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Duke_yzl/ddns.git
git@gitee.com:Duke_yzl/ddns.git
Duke_yzl
ddns
ddns
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891