Skip to content

一个功能异常强大的DDNS客户端,实现了如下功能:1、多厂商支持;2、实时感知配置文件变化 ;3、支持CNAME、A、AAAA等解析;4、适合大量域名解析

License

Notifications You must be signed in to change notification settings

storezhang/ddns

Repository files navigation

ddns

编译状态 Golang质量 版本 Docker镜像版本 仓库大小 Docker镜像大小 最后提交 授权协议 语言个数 最佳语言 星星个数

动态域名解析,特点如下:

  • 原生Docker支持
  • 极低的内存占用,大概20M左右的内存占用
  • 极低的CPU消耗,实测几十个域名解析也消耗不到0.1%的性能
  • 多域名厂商支持
    • 阿里云
    • 腾讯云
  • 配置文件监控
  • 多域名支持

如何使用

直接使用命令行执行

TAG="ccr.ccs.tencentyun.com/storezhang/ddns" && NAME="Ddns" && sudo docker pull ${TAG} && sudo docker stop ${NAME} ; sudo docker rm --force --volumes ${NAME} ; sudo docker run \
  \
  \
  \
  --volume=/主机目录:/config \
  --volume=/etc/localtime:/etc/localtime \
  \
  \
  \
  --env=UID=$(id -u 用户名) \
  --env=GID=$(id -g 用户名) \
  \
  \
  \
  --restart=always \
  --detach=true \
  --name=${NAME} \
  ${TAG} \
  \
  \
  \
&& sudo docker logs -f ${NAME}

配置

默认的配置文件如下

secrets:
  - ak: ${ALIYUN_AK}
    sk: ${ALIYUN_SK}
    # 目前只支持阿里云
    type: aliyun
    # 任意字符,如果有多个,后续和解析绑定
    # 可以不配置,有默认值,那样所有解析都使用本授权
    label: test-label

resolves:
  - name: ruijc.com
    # 绑定授权,可以不配置
    label: test-label
    types:
      - CNAME
    value: storezhang.ruijc.com
    subdomains:
      - test
  - name: ruijc.com
    types:
      - A
    subdomains:
      - test

配置文件可以使用${ENV}来加载环境变量

感谢Jetbrains

本项目通过Jetbrains开源许可IDE编写源代码,特此感谢 Jetbrains图标

About

一个功能异常强大的DDNS客户端,实现了如下功能:1、多厂商支持;2、实时感知配置文件变化 ;3、支持CNAME、A、AAAA等解析;4、适合大量域名解析

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published