基于Vert.x的DDNS解决方案。支持的DNS服务商 Alidns(阿里云) Dnspod(腾讯云) Cloudflare 华为云

Overview

vertx-ddns

自动获取设备公网 IPv4IPv6 地址或使用自定义的IP地址,并解析到对应的域名服务。

功能

  • 支持Mac、Windows、Linux系统,支持ARM、x86架构
  • 支持的域名服务商 Alidns(阿里云) Dnspod(腾讯云) Cloudflare 华为云
  • 支持接口/网卡获取IP
  • 支持以服务的方式运行
  • 默认间隔5分钟同步一次
  • 支持同时使用多个服务商解析(希望使用多个域名解析到您的IP)
  • 支持多个域名同时解析,公司必备
  • 支持多级域名
  • 支持域名自定义指向IP
  • 支持查询、自动创建、删除DNS服务商域名解析记录
  • 网页中配置,可设置 登录用户名和密码 / 禁止从公网访问
  • 支持Webhook,提供模版变量自定义消息内容
  • 支持24小时实时解析日志监控

系统中使用

  • ...

Docker中使用

docker镜像提供了ubuntu --- OpenJ9-16,debian:buster-slim --- OpenJ9-16alpine --- OpenJDK-16,三种基础镜像系统所对应JRE Runtime的程序镜像, 其中debian,alpine为基础的镜像经过jlink生成的极简JRE Runtime,大大减少了镜像体积, 使用OpenJ9有效减少运行内存占用。 三种镜像大小alpine < debian < ubuntu

  • 支持host模式,并且不需要再做端口映射(同时支持IPv4/IPv6)

  • 如果不挂载主机目录, 删除容器同时会删除配置

  • 在浏览器中打开http://主机IP:8081,修改你的配置,成功

    # 拉取镜像运行,并随系统重启
    docker run -d -p 8081:8080 --name vertx-ddns --restart=always zf1976/vertx-ddns:debian
  • [可选] 挂载主机目录, 删除容器后配置不会丢失。可替换 /root/.vertx_ddns 默认用户权限root, 配置文件为隐藏文件

    docker run -d -p 8081:8080 --name vertx-ddns --restart=always -v /your_path:/root/.vertx_ddns zf1976/vertx-ddns:debian

Webhook

  • 解析记录日志状态发生变化(成功失败、错误),回调提供的Webhook API

  • 消息内容支持模版变量,若消息内容为空或系统发送错误,则默认发送解析日志内容

    变量名 描述
    #provider DNS服务商 (DNS Provider)
    #sourceIp 原IP (Raw IP)
    #targetIp 变化IP (Update IP)
    #time 解析时间 (The resolution time)
    #status 解析状态:未改变 失败 成功 错误 (Status)
    #domain 域名 (Domain)
  • 示例

DNS Provider:#provider,Status:#status -----parser----> DNS Provider:ALIYUN, Status:2021-08-28 15:14:01

界面

  • 默认登录的用户名密码:vertx
  • Windows、macOS系统下Docker不支持Docker的host模式

License

MIT License

贡献

目前只有自己在维护这个项目。希望能有更多人加入 :)

感谢Jetbrains制作的IDE,以及免费的开源许可证。

You might also like...
Comments
  • phicomm-n1 小钢炮 Docker无法使用

    phicomm-n1 小钢炮 Docker无法使用

    System : Linux phicomm-n1 4.9.76 #1 SMP PREEMPT Thu Apr 11 20:39:46 CST 2019 aarch64 GNU/Linux System : Linux version 4.9.76 (hacklog@arch-8700k) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) ) #1 SMP PREEMPT Thu Apr 11 20:39:46 CST 2019 Docker : Docker version v18.09.2, build v18.09.2

    使用debian/ubuntu不改端口默认,一直提示在创建。

    debian改了默认端口均为8088,直接日志standard_init_linux.go:207: exec user process caused "exec format error"

    opened by Tamshen 5
  • Failed to start Vertx-DDNS Service

    Failed to start Vertx-DDNS Service

    [root@localhost ~]# sudo service vertx-ddns status Redirecting to /bin/systemctl status vertx-ddns.service ● vertx-ddns.service - Vertx-DDNS Service Loaded: loaded (/etc/systemd/system/vertx-ddns.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2022-11-18 15:25:44 CST; 2s ago Docs: https://github.com/gngpp/vertx-ddns/edit/main/README.md Process: 7108 ExecStart=/root/bin/java -server -Xms128m -Xmx128m -jar /root/vertx-ddns.jar 9090 (code=exited, status=203/EXEC) Main PID: 7108 (code=exited, status=203/EXEC)

    11月 18 15:25:44 localhost.localdomain systemd[1]: vertx-ddns.service: Service RestartSec=100ms expired, scheduling restart. 11月 18 15:25:44 localhost.localdomain systemd[1]: vertx-ddns.service: Scheduled restart job, restart counter is at 5. 11月 18 15:25:44 localhost.localdomain systemd[1]: Stopped Vertx-DDNS Service. 11月 18 15:25:44 localhost.localdomain systemd[1]: vertx-ddns.service: Start request repeated too quickly. 11月 18 15:25:44 localhost.localdomain systemd[1]: vertx-ddns.service: Failed with result 'exit-code'. 11月 18 15:25:44 localhost.localdomain systemd[1]: Failed to start Vertx-DDNS Service.

    查看状态是这个 为什么呀

    opened by mister91jiao 3
Owner
zf1976
I may be slow to respond.
zf1976
☁ Tencent Cloud IM Server SDK in Java | 腾讯云 IM 服务端 SDK Java 版

Tencent Cloud IM Server SDK in Java The Tencent Cloud IM Server SDK for Java enables Java developers to easily work with Tencent Cloud IM. Requirement

Doocs 64 Dec 23, 2022
Cloudflare DynDNS Updater to automatically update DNS records

Cloudflare & DynDNS Good for everyone who wants to use Cloudflare with their local ip but has a changing ip address. Config # Your cloudflare api toke

Tobias G 6 Aug 27, 2022
A JDBC driver for Cloudflare's D1 product, compatible with Jetbrains tools.

D1 JDBC Driver A JDBC driver for Cloudflare's D1 Database product! JDBC is the technology that drives popular database tools such as Jetbrains' databa

Isaac McFadyen 21 Dec 9, 2022