自动优选 Cloudflare IP 的 DDNS 工具详解

起因

在使用 Cloudflare CDN 的过程中,我们常常会遇到国内访问不稳定的问题。虽然 Cloudflare 提供了免费的 CDN 服务,但国内用户的访问体验并不总是理想。每次都需要手动测试速度、寻找最快的 IP 地址,并更新 DNS 记录,这一过程既繁琐又耗时。为了解决这一问题,我开发了一个自动化工具,能够自动完成这些任务。

功能介绍

  • 定时测速:自动运行 CloudflareSpeedTest 进行速度测试。
  • 自动更新 DNS:将测试出的最快 IP 地址通过 API 自动更新到域名 DNS 设置中。
  • 多域名支持:支持多个域名,包括 IPv4 和 IPv6。
  • 智能更新机制:只有当 IP 地址发生变化时才会更新,避免不必要的操作。
  • 通知功能:支持通过 Bark 或 Telegram 推送通知到手机,实时了解更新情况。

快速上手指南

Docker 三步走(推荐)
  1. 下载配置文件

    mkdir -p cfst-ddns/data && cd cfst-ddns
    curl -O https://raw.githubusercontent.com/lonelyman0108/cfst-ddns/main/docker-compose.yml
    curl -o data/config.sh https://raw.githubusercontent.com/lonelyman0108/cfst-ddns/main/config.example.sh
  2. 修改配置文件
    打开 data/config.sh 文件,填写你的 Cloudflare API Token 和域名信息。
  3. 启动服务

    docker-compose up -d

    默认情况下,该工具每 6 小时运行一次测速和更新。如需调整频率,可以修改 docker-compose.yml 文件中的 CRON_SCHEDULE 设置。

本地运行方式
  1. 克隆仓库

    git clone https://github.com/lonelyman0108/cfst-ddns.git
    cd cfst-ddns
  2. 安装依赖

    ./install.sh  # 自动下载测速工具
  3. 复制并配置

    cp config.example.sh config.sh
    vim config.sh  # 编辑配置文件
  4. 运行测试

    ./cfst_ddns.sh  # 运行一次测试

配置示例

# 必填:Cloudflare API
CF_API_TOKEN="your_token"
CF_ZONE_ID="your_zone_id"
CF_RECORD_NAMES="cdn.yourdomain.com"  # 支持多个域名,空格分隔

# 可选:测速参数
CFST_PARAMS="-n 200 -t 4 -sl 5"  # 默认参数即可

# 可选:通知设置
ENABLE_BARK="true"
BARK_KEY="your_key"

亮点

  1. 智能更新:只有在 IP 地址发生变化时才会进行更新,有效节省 API 调用次数。
  2. 调试友好:支持跳过测速,直接使用上次的结果,便于调试和测试。
  3. 多架构支持:支持 x86、ARM64、ARMv7 等多种架构,树莓派等设备也能运行。
  4. 日志清晰:每次执行完成后都会生成清晰的日志,方便查看和监控。

适用人群

  • 自建服务使用 Cloudflare CDN 并希望优化国内访问速度的用户。
  • 厌倦了手动测速和更新 DNS 的用户。
  • 拥有树莓派、NAS 或 VPS 并希望运行长期任务的用户。
  • 需要管理多个域名 DDNS 的用户。

获取链接

  • GitHub: cfst-ddns
  • Docker Hub: lonelyman0108/cfst-ddns:latest

结语

本工具基于 CloudflareSpeedTest 开发,感谢原作者的贡献。如果觉得这个工具对你有帮助,请给予一个 Star 支持一下。遇到问题欢迎在 GitHub 上提交 Issue。


本文由 AI 撰写,旨在为用户提供详尽的工具介绍和操作指南,帮助用户更好地利用该工具提升网络访问体验。

标签: none

评论已关闭