AutoCDN 是一个强大的 Cloudflare CDN IP 优选工具,旨在帮助用户自动筛选最快、最稳定的 Cloudflare 边缘节点 IP,并自动更新到您的 DNS 解析记录中。
本项目同时提供 现代化图形界面 (GUI) 和 命令行工具 (CLI),支持 Windows、Linux (AMD64/ARM64) 和 macOS 平台。
- 全自动测速:支持 TCP 延迟测速和下载速度测速,精准筛选优质 IP。
- 自动 DNS 更新:测速完成后,自动将最优 IP 更新到 Cloudflare 的 DNS 记录(支持 IPv4 和 IPv6)。
- 多平台支持:
- Windows: 提供原生 GUI 界面(基于 Wails + React)和 CLI 工具。
- Linux: 提供 CLI 工具,支持 x86_64 和 ARM64 (树莓派/电视盒子/VPS)。
- macOS: 提供 CLI 工具。
- 灵活配置:
- 支持多配置文件管理。
- CLI 模式支持通过命令行参数快速覆盖配置。
- GUI 模式提供可视化配置编辑器。
- IPv4 / IPv6 支持:自动识别 IP 文件类型并执行相应的测速和更新逻辑。
请确保您拥有 Cloudflare 的 API Key 和 Zone ID。
- API Key: 在 Cloudflare "My Profile" -> "API Tokens" 中创建。
- Zone ID: 在 Cloudflare 域名概览页面的右下角可以找到。
下载对应平台的构建产物(在 build/bin/ 目录下),并准备 config.yaml 和 IP 库文件(如 ip.txt)。
基本用法:
# 运行并指定配置文件
./AutoCDN-CLI -c config.yaml命令行参数说明:
| 参数 | 说明 | 默认值 |
|---|---|---|
-c |
指定配置文件路径 | config.yaml |
-f |
指定 IP 段文件路径 (覆盖配置) | (空) |
-n |
延迟测速协程数量 | 200 |
-t |
延迟测速次数 | 4 |
-tl |
平均延迟上限 (ms) | 9999 |
-tll |
平均延迟下限 (ms) | 0 |
-tlr |
丢包率上限 (0-1) | 1.0 |
-dn |
下载测速数量 (取延迟最低的前N个) | 10 |
-dt |
下载测速时间 (秒) | 10 |
-sl |
下载速度下限 (MB/s) | 0 |
-o |
结果输出文件路径 (CSV) | result.csv |
-dd |
禁用下载测速 (仅延迟测速) | false |
-allip |
对所有 IP 进行测速 | false |
示例:
# 使用 my_config.yaml 配置,并强制指定 ip.txt 文件,仅测速延迟低于 200ms 的 IP
./AutoCDN-CLI -c my_config.yaml -f ip.txt -tl 200直接运行 AutoCDN.exe。
- 在左侧侧边栏选择或新建配置文件。
- 在右侧编辑器中填入 Cloudflare 信息和测速参数。
- 点击 "保存" 按钮。
- 点击主界面的 "开始测速" 按钮即可。
如果您希望从源码自行构建,请确保已安装 Go 1.21+ 和 Node.js 16+。
git clone https://github.com/your-repo/AutoCDN.git
cd AutoCDN我们提供了方便的 NPM 脚本来管理不同平台的构建:
| 平台 | 构建命令 | 不仅输出目录 |
|---|---|---|
| Windows GUI | npm run build:gui:windows |
build/bin/AutoCDN.exe |
| Windows CLI | npm run build:cli:windows |
build/bin/AutoCDN-CLI.exe |
| Linux (AMD64) | npm run build:cli:linux |
build/bin/AutoCDN-CLI-Linux-amd64 |
| Linux (ARM64) | npm run build:cli:linux:arm64 |
build/bin/AutoCDN-CLI-Linux-arm64 |
| macOS (Intel) | npm run build:cli:mac |
build/bin/AutoCDN-CLI-Mac |
| 全部构建 | npm run build:all |
build/bin/ 下所有文件 |
如果您正在开发 GUI 界面:
npm run dev这将启动 Wails 开发服务器,支持热重载。
cloudflare:
api_key: "your_api_key"
email: "your_email@example.com"
zone_id: "your_zone_id"
domains:
- "cdn.example.com"
domainipv6s: [] # IPv6 域名列表
speed_test:
routines: 200 # 延迟测速并发数
ping_times: 4 # 每次 Ping 次数
test_count: 10 # 下载测速候选数量
download_time: 10 # 下载测速持续时间(秒)
tcp_port: 443 # 测速端口
speed_test_url: "https://speed.cloudflare.com/__down?bytes=50000000" # 测速文件地址
max_delay: 200 # 延迟上限 (ms)
min_speed: 5 # 速度下限 (MB/s)
ipv4_file: "ip.txt" # 默认 IPv4 库
ipv6_file: "ipv6.txt" # 默认 IPv6 库- 权限问题:在 Linux 上运行 CLI 工具前,请确保赋予可执行权限:
chmod +x AutoCDN-CLI-Linux-*。 - 404 错误:如果运行通过但提示 "404 Not Found",请检查
zone_id是否正确,且提供的 API Key 是否有权限操作该 Zone。 - IPv6 测速:若要测速 IPv6,请确保您的网络环境支持 IPv6,并指定包含 IPv6 地址的文件。
Powered by Wails, React & Go.