DDNS-go 是基于 Golang 编写的,这是一种高效,强大且易于使用的编程语言,被广泛用于开发高性能的网络服务和应用。该项目的主要目标是为用户提供一个简单、高效且易于使用的动态 DNS 解决方案。DDNS-go 的设计理念是“简单和实用”。
它可以轻松地与各种 DNS 服务提供商(如阿里云,腾讯云,Cloudflare 等)进行集成,无需编写复杂的代码或进行繁琐的配置。此外,它还具有高度的可扩展性和灵活性,可以根据用户的特定需求进行定制和扩展。DDNS-go 的开源性质意味着任何人都可以查看和修改其源代码,使其更好地满足他们的需求。这种透明度和灵活性使 DDNS-go 成为动态 DNS 解决方案的理想选择。
项目地址: GitHub - jeessy2/ddns-go: 简单好用的DDNS。自动更新域名解析到公网IP(支持阿里云、腾讯云、Dnspod、Cloudflare、Callback、华为云、百度云、Porkbun、GoDaddy、Google Domain),目前已经获取 7K 的 Star ,支持 Docker、Linux、FreeBSD、macOS、Windows 操作系统安装。
说明: 基于前期构建的 traefik 网关,详见: 3102-Traefik 网关配置
在 docker-compose.yaml 文件中,会对重要的配置进行说明,因个人网络环境等不同,需要根据自身实际情况调整配置。
[root@demo ddns-go]# more > docker-compose.yml << \EOF version: "3" services: ddns-go: image: jeessy/ddns-go container_name: ddns-go restart: always ports: - 9876:9876 volumes: - /SSD/Dockerfile/ddns-go:/root networks: - traefik_net labels: - "traefik.enable=true" - "traefik.docker.network=traefik_net" - "traefik.http.routers.ddns-go.rule=Host(ddns-go.rockylinux.cn)" - "traefik.http.routers.ddns-go.entryPoints=websecure" - "traefik.http.routers.ddns-go.tls.certresolver=myresolver" - "traefik.http.routers.ddns-go.service=ddns-go" - "traefik.http.services.ddns-go.loadbalancer.server.port=9876" networks: traefik_net: external: true EOF [root@demo ddns-go]# docker-compose up -d |
DNS 服务商设置,主要用于设置您的 DNS 从哪些 DNS 服务提供商进行域名解析,需要设置对应 Token,对应 Token 需要具有更新 DNS 解析记录的权限。