一个功能强大的跨平台Cloudflare测速工具,支持全球97个数据中心机场码映射,提供常规测速和优选反代功能。
当前版本:v2.2.3
- 全球97个数据中心 - 支持完整的Cloudflare机场码映射
- 智能测速 - 自动下载最新IP列表,支持自定义参数
- 结果分析 - 生成详细的CSV格式测速报告
- IPv4/IPv6支持 - 支持IPv4和IPv6地址测速
- 一键测速 - 简单输入3个参数即可开始测试
- 全自动模式 - 无需选择地区,自动测试所有IP
- 适合新手 - 专为新手设计,操作简单
- CSV文件处理 - 从测速结果中提取最优IP
- 反代列表生成 - 自动生成
ips_ports.txt反代配置 - 多格式支持 - 兼容各种CSV文件格式
- Cloudflare Workers API - 支持上报到Cloudflare Workers API
- GitHub仓库上传 - 支持上传到GitHub公开仓库
- 批量上传 - 支持批量上传优选IP结果
- 自动格式化 - 自动格式化IP列表(包含注释)
- 命令行模式 - 支持命令行参数运行
- 自动化脚本 - 适合集成到自动化流程
- 参数配置 - 支持所有功能的命令行参数配置
- 自动检测环境 - 自动检测Linux和OpenWrt系统
- Cron任务设置 - 支持设置Cron定时任务
- 智能检测 - 自动检测是否已有类似任务
- 灵活管理 - 支持清理现有任务或继续添加
- 使用绝对路径 - 自动使用绝对路径,确保定时任务正确执行
- Docker镜像 - 提供官方Docker镜像,开箱即用
- Docker Compose - 支持Docker Compose一键部署
- 数据持久化 - 支持挂载数据目录,保存测速结果
- 多架构支持 - 支持amd64和arm64架构
- 环境隔离 - 容器化运行,环境干净整洁
| 平台 | 架构 | 状态 |
|---|---|---|
| Windows | x64 | 完全支持 |
| Windows | ARM64 | 完全支持 |
| macOS | Intel | 完全支持 |
| macOS | Apple Silicon | 完全支持 |
| Linux | x64 | 完全支持 |
| Linux | ARM64 | 完全支持 |
# 克隆项目
git clone https://github.com/byJoey/yx-tools.git
cd yx-tools
# 安装依赖
pip install -r requirements.txt
# 运行程序(交互式模式)
python3 cloudflare_speedtest.py# 克隆项目
git clone https://github.com/byJoey/yx-tools.git
cd yx-tools
# 安装依赖
pip install -r requirements.txt
# 运行程序(命令行模式)
python3 cloudflare_speedtest.py --mode beginner --count 10 --speed 1 --delay 1000
# 查看帮助
python3 cloudflare_speedtest.py --help从 Releases 页面下载对应平台的可执行文件:
CloudflareSpeedTest-windows-amd64.exe- Windows x64CloudflareSpeedTest-macos-amd64- macOS IntelCloudflareSpeedTest-macos-arm64- macOS Apple SiliconCloudflareSpeedTest-linux-amd64- Linux x64CloudflareSpeedTest-linux-arm64- Linux ARM64
# 拉取最新镜像
docker pull ghcr.io/byjoey/yx-tools:latest
# 运行容器(交互模式 - 前台运行)
# 如果设置了定时任务,容器会自动保持运行
docker run -it --name cloudflare-speedtest \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest
# 运行容器(交互模式 - 后台运行,退出终端不中断)
# 推荐方式:先后台运行,再进入容器设置
docker run -d --name cloudflare-speedtest \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest
# 然后进入容器设置定时任务
docker exec -it cloudflare-speedtest python3 /app/cloudflare_speedtest.py
# 运行容器(命令行模式)
docker run -it --rm \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
ghcr.io/byjoey/yx-tools:latest \
--mode beginner --count 10 --speed 1 --delay 1000
# 拉取特定版本
docker pull ghcr.io/byjoey/yx-tools:v2.2.3
# 查看所有可用标签
# 访问: https://github.com/byJoey/yx-tools/pkgs/container/yx-tools# 克隆项目
git clone https://github.com/byJoey/yx-tools.git
cd yx-tools
# 创建数据目录
mkdir -p data config
# 使用Docker Compose运行(交互模式)
docker-compose run --rm cloudflare-speedtest
# 使用Docker Compose运行(命令行模式)
docker-compose run --rm cloudflare-speedtest --mode beginner --count 10 --speed 1 --delay 1000# 克隆项目
git clone https://github.com/byJoey/yx-tools.git
cd yx-tools
# 构建镜像
docker build -t cloudflare-speedtest:latest .
# 运行容器(交互模式)
docker run -it --rm \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
cloudflare-speedtest:latest
# 运行容器(命令行模式)
docker run -it --rm \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
cloudflare-speedtest:latest \
--mode beginner --count 10 --speed 1 --delay 1000
# 后台运行并设置定时任务
docker run -d --name cloudflare-speedtest \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
cloudflare-speedtest:latest \
--mode beginner --count 10 --speed 1 --delay 1000容器内已集成cron服务,支持在容器内设置定时任务,定时任务会自动持久化到 /app/config/crontab 文件,容器重启后会自动恢复。
方法一:交互模式设置(推荐)
方式A:前台运行(使用 -it)
# 1. 前台运行容器(交互模式)
docker run -it --name cloudflare-speedtest \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest
# 2. 在交互模式中选择设置定时任务
# 3. 设置完成后,定时任务会自动保存到 ./config/crontab
# 4. 容器会保持运行,定时任务会按计划执行
# 5. 使用 Ctrl+P, Ctrl+Q 分离容器(不停止容器)
# 6. 或者直接关闭终端,容器会继续运行(因为设置了 --restart unless-stopped)
# 7. 即使容器重启,定时任务也会自动恢复方式B:后台运行(使用 -d,推荐)
# 1. 后台运行容器
docker run -d --name cloudflare-speedtest \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest
# 2. 进入容器设置定时任务(交互模式)
docker exec -it cloudflare-speedtest python3 /app/cloudflare_speedtest.py
# 3. 在交互模式中选择设置定时任务
# 4. 设置完成后,定时任务会自动保存到 ./config/crontab
# 5. 容器会保持运行,定时任务会按计划执行
# 6. 退出终端不影响容器运行
# 7. 即使容器重启,定时任务也会自动恢复方法二:使用环境变量自动设置
在 docker-compose.yml 中配置:
environment:
- CRON_SCHEDULE=0 2 * * * # 每天凌晨2点
- CRON_COMMAND=python3 /app/cloudflare_speedtest.py --mode beginner --count 10 --speed 1 --delay 1000或使用Docker命令:
docker run -d --name cloudflare-speedtest \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
-e CRON_SCHEDULE="0 2 * * *" \
-e CRON_COMMAND="python3 /app/cloudflare_speedtest.py --mode beginner --count 10 --speed 1 --delay 1000" \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest方法三:手动编辑crontab
# 进入容器
docker exec -it cloudflare-speedtest bash
# 编辑crontab
crontab -e
# 查看定时任务
crontab -l
# 退出容器后,定时任务会自动保存Cron时间格式示例:
0 2 * * *- 每天凌晨2点0 */6 * * *- 每6小时*/30 * * * *- 每30分钟0 3 * * 1- 每周一凌晨3点
定时任务持久化说明:
- ✅ 定时任务自动保存到
./config/crontab文件 - ✅ 容器重启后自动恢复定时任务
- ✅ 每5分钟自动保存一次,确保不丢失
- ✅ 退出终端不影响容器运行(使用
-d后台运行)
- 预构建镜像:可直接从 GitHub Container Registry 拉取,无需本地构建
- 镜像地址:
ghcr.io/byjoey/yx-tools:latest - 定时任务:容器内已集成cron服务,支持在容器内设置定时任务(容器需24小时运行)
- 定时任务持久化:定时任务自动保存到
./config/crontab,容器重启后自动恢复 - 后台运行:使用
-d参数后台运行,退出终端不影响容器运行 - 数据持久化:结果文件会保存在
./data目录中 - 配置文件:配置文件会保存在
./config目录中(包括crontab) - 网络访问:容器需要网络访问来下载IP列表和上传结果
- 时区设置:默认使用
Asia/Shanghai时区 - 架构支持:镜像包含 amd64 和 arm64 版本的 CloudflareST 可执行文件,支持多架构自动选择
# 查看容器状态
docker ps -a | grep cloudflare-speedtest
# 查看容器日志
docker logs cloudflare-speedtest
# 查看定时任务
docker exec -it cloudflare-speedtest crontab -l
# 编辑定时任务
docker exec -it cloudflare-speedtest crontab -e
# 停止容器
docker stop cloudflare-speedtest
# 启动容器(定时任务会自动恢复)
docker start cloudflare-speedtest
# 重启容器(定时任务会自动恢复)
docker restart cloudflare-speedtest
# 删除容器(不会删除数据,数据在挂载的目录中)
docker rm cloudflare-speedtest在软路由环境中使用Docker时,建议为容器分配独立IP,并在软路由中将该IP设置为不走代理。
方法一:使用 Docker Compose 配置独立网络
# docker-compose.yml
version: '3.8'
services:
cloudflare-speedtest:
build:
context: .
dockerfile: Dockerfile
image: cloudflare-speedtest:latest
container_name: cloudflare-speedtest
volumes:
- ./data:/app/data
- ./config:/app/config
networks:
isolated_network:
ipv4_address: 172.20.0.10 # 指定独立IP
environment:
- TZ=Asia/Shanghai
- PYTHONUNBUFFERED=1
restart: unless-stopped
networks:
isolated_network:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
gateway: 172.20.0.1方法二:使用 Docker 命令配置独立网络
# 1. 创建独立网络
docker network create \
--driver bridge \
--subnet=172.20.0.0/16 \
--gateway=172.20.0.1 \
isolated_network
# 2. 运行容器并指定独立IP
docker run -d --name cloudflare-speedtest \
--network isolated_network \
--ip 172.20.0.10 \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest方法三:使用 Macvlan 网络(推荐软路由)
Macvlan 网络允许容器直接使用物理网络接口,获得独立的 MAC 地址和 IP:
# 1. 创建 Macvlan 网络(需要根据实际网络接口调整)
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
macvlan_network
# 2. 运行容器并指定独立IP
docker run -d --name cloudflare-speedtest \
--network macvlan_network \
--ip 192.168.1.100 \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
--restart unless-stopped \
ghcr.io/byjoey/yx-tools:latest软路由代理设置
配置独立IP后,需要在软路由中将该IP设置为不走代理:
-
OpenWrt/Lede:
- 进入"网络" → "负载均衡" → "规则"
- 添加规则:源地址为容器IP(如
192.168.1.100),动作选择"直连"或"不走代理"
-
PassWall/Clash:
- 进入"访问控制" → "局域网设备"
- 添加设备规则:IP地址为容器IP,策略选择"直连"或"DIRECT"
-
V2Ray/Xray:
- 在路由规则中添加:
{ "type": "field", "ip": ["192.168.1.100/32"], "outboundTag": "direct" }
注意事项:
- 确保容器IP与软路由在同一网段
- 确保容器IP未被其他设备占用
- 配置后测试容器网络连接是否正常
- Macvlan 网络需要根据实际网络接口名称调整
parent参数(如eth0、br-lan等)
chmod 755 可执行文件拽到终端回车
可执行文件拽到终端回车
如果还是不行 请执行sudo spctl --master-disable
依然不行 xattr -d com.apple.quarantine 可执行文件拽到终端回车python3 cloudflare_speedtest.py选择功能:
功能选择:
1. 小白快速测试 - 简单输入,适合新手
2. 常规测速 - 测试指定机场码的IP速度
3. 优选反代 - 从CSV文件生成反代IP列表
请选择功能 [默认: 1]: 1
命令行模式适合自动化脚本、定时任务、CI/CD等场景,支持所有功能通过参数配置。
小白快速测试模式
# 使用默认参数(10个IP,速度1MB/s,延迟1000ms)
python3 cloudflare_speedtest.py --mode beginner
# 指定测试参数
python3 cloudflare_speedtest.py --mode beginner --count 20 --speed 2 --delay 500
# 使用IPv6测试
python3 cloudflare_speedtest.py --mode beginner --ipv6
# 高质量测试(50个IP,速度5MB/s,延迟200ms)
python3 cloudflare_speedtest.py --mode beginner --count 50 --speed 5 --delay 200
# 快速测试(5个IP,速度0.5MB/s,延迟2000ms)
python3 cloudflare_speedtest.py --mode beginner --count 5 --speed 0.5 --delay 2000常规测速模式
# 测试指定地区(香港)
python3 cloudflare_speedtest.py --mode normal --region HKG --count 10
# 测试指定地区(新加坡),指定速度和延迟
python3 cloudflare_speedtest.py --mode normal --region SIN --count 20 --speed 5 --delay 300
# 测试指定地区(东京),使用IPv6
python3 cloudflare_speedtest.py --mode normal --region NRT --count 15 --ipv6
# 测试指定地区(洛杉矶),高质量测试
python3 cloudflare_speedtest.py --mode normal --region LAX --count 50 --speed 10 --delay 200优选反代模式
# 从默认CSV文件生成反代列表
python3 cloudflare_speedtest.py --mode proxy
# 从指定CSV文件生成反代列表
python3 cloudflare_speedtest.py --mode proxy --csv result.csv
# 从自定义路径的CSV文件生成反代列表
python3 cloudflare_speedtest.py --mode proxy --csv /path/to/result.csv| 参数 | 说明 | 默认值 | 必需 | 示例 |
|---|---|---|---|---|
--mode |
运行模式 | - | ✅ | beginner/normal/proxy |
--ipv6 |
使用IPv6(默认IPv4) | IPv4 | ❌ | --ipv6 |
--count |
测试IP数量 | 10 | ❌ | --count 20 |
--speed |
下载速度下限 (MB/s) | 1.0 | ❌ | --speed 2 |
--delay |
延迟上限 (ms) | 1000 | ❌ | --delay 500 |
--region |
地区码(常规测速模式需要) | - | --region HKG |
|
--csv |
CSV文件路径(优选反代模式) | result.csv | ❌ | --csv result.csv |
--upload |
上传方式 | none | ❌ | api/github/none |
--worker-domain |
Worker域名(API上传需要) | - | --worker-domain example.com |
|
--uuid |
UUID或路径(API上传需要) | - | --uuid abc123 |
|
--repo |
GitHub仓库路径(GitHub上传需要) | - | --repo owner/repo |
|
--token |
GitHub Token(GitHub上传需要) | - | --token ghp_xxx |
|
--file-path |
GitHub文件路径 | cloudflare_ips.txt | ❌ | --file-path ips.txt |
--upload-count |
上传IP数量 | 10 | ❌ | --upload-count 20 |
说明:
- ✅ 必需参数:必须提供
⚠️ 条件必需:在特定模式下需要- ❌ 可选参数:可以不提供,使用默认值
场景1:定时自动测速并上报到API
# 每天凌晨2点自动测速并上报
python3 cloudflare_speedtest.py --mode beginner \
--count 20 --speed 2 --delay 500 \
--upload api \
--worker-domain example.com --uuid abc123 \
--upload-count 20场景2:测试多个地区并上传到GitHub
# 测试香港地区
python3 cloudflare_speedtest.py --mode normal \
--region HKG --count 20 --speed 5 --delay 300 \
--upload github \
--repo username/cloudflare-ips --token ghp_xxx \
--file-path hkg_ips.txt
# 测试新加坡地区
python3 cloudflare_speedtest.py --mode normal \
--region SIN --count 20 --speed 5 --delay 300 \
--upload github \
--repo username/cloudflare-ips --token ghp_xxx \
--file-path sin_ips.txt场景3:快速测试IPv6
# 快速测试IPv6地址
python3 cloudflare_speedtest.py --mode beginner \
--ipv6 --count 10 --speed 1 --delay 1000场景4:高质量测试(适合对速度要求高的场景)
# 测试50个IP,速度要求5MB/s以上,延迟200ms以内
python3 cloudflare_speedtest.py --mode beginner \
--count 50 --speed 5 --delay 200场景5:批量生成反代列表
# 从多个CSV文件生成反代列表
python3 cloudflare_speedtest.py --mode proxy --csv result1.csv
python3 cloudflare_speedtest.py --mode proxy --csv result2.csv
python3 cloudflare_speedtest.py --mode proxy --csv result3.csv上报到 Cloudflare Workers API
完整示例:
python3 cloudflare_speedtest.py --mode beginner \
--count 20 --speed 2 --delay 500 \
--upload api \
--worker-domain example.com \
--uuid abc123 \
--upload-count 20参数说明:
--upload api:指定上传方式为API--worker-domain:您的Worker域名(例如:example.com)--uuid:UUID或路径(例如:abc123 或 351c9981-04b6-4103-aa4b-864aa9c91469)--upload-count:要上传的IP数量(默认10个)
上报到 GitHub 仓库
完整示例:
python3 cloudflare_speedtest.py --mode beginner \
--count 20 --speed 2 --delay 500 \
--upload github \
--repo username/repo-name \
--token ghp_xxxxxxxxxxxxxxxxxxxx \
--file-path cloudflare_ips.txt \
--upload-count 20参数说明:
--upload github:指定上传方式为GitHub--repo:GitHub仓库路径,格式:owner/repo(例如:username/repo-name)--token:GitHub Personal Access Token(需要repo权限)--file-path:上传的文件路径(默认:cloudflare_ips.txt)--upload-count:要上传的IP数量(默认10个)
获取GitHub Token:
- 访问 https://github.com/settings/tokens
- 点击 "Generate new token (classic)"
- 勾选
repo权限 - 生成并复制Token
快速测试组合
python3 cloudflare_speedtest.py --mode beginner --count 5 --speed 0.5 --delay 2000标准测试组合
python3 cloudflare_speedtest.py --mode beginner --count 20 --speed 2 --delay 500高质量测试组合
python3 cloudflare_speedtest.py --mode beginner --count 50 --speed 5 --delay 200地区测试组合
# 香港
python3 cloudflare_speedtest.py --mode normal --region HKG --count 20 --speed 5 --delay 300
# 新加坡
python3 cloudflare_speedtest.py --mode normal --region SIN --count 20 --speed 5 --delay 300
# 东京
python3 cloudflare_speedtest.py --mode normal --region NRT --count 20 --speed 5 --delay 300# 查看完整帮助信息
python3 cloudflare_speedtest.py --help
# 查看帮助信息(包含使用示例)
python3 cloudflare_speedtest.py -h常见错误及解决方法:
- 缺少必需参数
# 错误:缺少 --mode 参数
python3 cloudflare_speedtest.py --count 20
# 解决:添加 --mode 参数
python3 cloudflare_speedtest.py --mode beginner --count 20- 常规测速模式缺少地区码
# 错误:常规测速模式需要 --region 参数
python3 cloudflare_speedtest.py --mode normal --count 20
# 解决:添加 --region 参数
python3 cloudflare_speedtest.py --mode normal --region HKG --count 20- 上传模式缺少必需参数
# 错误:API上传缺少 --worker-domain 或 --uuid
python3 cloudflare_speedtest.py --mode beginner --upload api
# 解决:添加必需参数
python3 cloudflare_speedtest.py --mode beginner --upload api \
--worker-domain example.com --uuid abc123Linux/Mac 定时任务(crontab)
# 编辑crontab
crontab -e
# 每天凌晨2点自动测速并上报到API
0 2 * * * cd /path/to/project && python3 cloudflare_speedtest.py --mode beginner --count 20 --speed 2 --delay 500 --upload api --worker-domain example.com --uuid abc123 >> /var/log/cloudflare_speedtest.log 2>&1Windows 计划任务
@echo off
cd /d C:\path\to\project
python cloudflare_speedtest.py --mode beginner --count 20 --speed 2 --delay 500 --upload api --worker-domain example.com --uuid abc123Shell脚本示例
#!/bin/bash
# 自动测速脚本
# 测试香港地区
python3 cloudflare_speedtest.py --mode normal \
--region HKG --count 20 --speed 5 --delay 300 \
--upload github \
--repo username/cloudflare-ips --token ghp_xxx \
--file-path hkg_ips.txt
# 测试新加坡地区
python3 cloudflare_speedtest.py --mode normal \
--region SIN --count 20 --speed 5 --delay 300 \
--upload github \
--repo username/cloudflare-ips --token ghp_xxx \
--file-path sin_ips.txt专为新手设计,只需要输入3个简单的数字:
📊 第一步:设置测试IP数量
请输入要测试的IP数量 [默认: 10]: 20
⏱️ 第二步:设置延迟上限
请输入延迟上限(ms) [默认: 1000]: 500
🚀 第三步:设置下载速度下限
请输入下载速度下限(MB/s) [默认: 1]: 2
机场码选择
- 输入机场码:
HKG(香港) - 输入城市名:
香港或Hong Kong - 查看完整列表:输入
LIST
自定义参数
自定义配置:
请输入要测试的IP数量 [默认: 10]: 20
请输入下载速度下限 (MB/s) [默认: 1]: 5
请输入延迟上限 (ms) [默认: 1000]: 500
优选反代模式
==================================================
此功能将从CSV文件中提取IP和端口信息,生成反代IP列表
CSV文件格式要求:
- 包含 'IP 地址' 和 '端口' 列
- 或包含 'ip' 和 'port' 列
- 支持逗号分隔的CSV格式
==================================================
请输入CSV文件路径 [默认: result.csv]:
Cloudflare Workers API 上报
- 需要提供 Worker 域名和 UUID或者路径
- 支持批量上传
- 自动格式化IP列表(包含注释)
GitHub 仓库上传
- 需要提供 GitHub Personal Access Token
- 支持上传到公开仓库
- 文件格式:
IP:端口#地区名-速度MB/s - 使用换行符分隔,不使用逗号
IP 地址,端口,延迟,下载速度 (MB/s),上传速度 (MB/s)
1.2.3.4,443,10.5,150.2,120.8
5.6.7.8,80,15.2,200.1,180.5
1.2.3.4:443
5.6.7.8:80
9.10.11.12:8080
1.2.3.4:443#香港-5.23MB/s
5.6.7.8:443#新加坡-8.45MB/s
9.10.11.12:443#东京-6.78MB/s
- 使用换行符分隔,每行一个IP
- 包含注释信息(#后面的内容)
- 格式:
IP:端口#地区名-速度MB/s(井号前后无空格)
- HKG - 香港
- NRT - 东京
- SIN - 新加坡
- SYD - 悉尼
- ICN - 首尔
- TPE - 台北
- LHR - 伦敦
- FRA - 法兰克福
- AMS - 阿姆斯特丹
- CDG - 巴黎
- MAD - 马德里
- FCO - 罗马
- LAX - 洛杉矶
- SFO - 旧金山
- DFW - 达拉斯
- ORD - 芝加哥
- JFK - 纽约
- YYZ - 多伦多
完整列表包含97个全球数据中心,支持所有主要城市和地区。
# 设置默认机场码
export DEFAULT_AIRPORT=HKG
# 设置默认IP数量
export DEFAULT_IP_COUNT=20
# 设置默认速度阈值
export DEFAULT_SPEED_LIMIT=50创建 config.json 文件:
{
"default_airport": "HKG",
"default_ip_count": 20,
"default_speed_limit": 50,
"default_delay_limit": 200,
"default_time_limit": 10
}cloudflare-speedtest/
├── cloudflare_speedtest.py # 主程序
├── requirements.txt # 依赖文件
├── .github/
│ └── workflows/
│ └── build-all-platforms.yml # 自动构建
├── README.md # 说明文档
└── LICENSE # 许可证
我们欢迎所有形式的贡献!
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
如果您发现任何问题,请:
- 检查 Issues 是否已存在
- 创建新的 Issue,详细描述问题
- 提供系统信息和错误日志
- ✨ 新增Docker支持
- 提供官方Docker镜像,开箱即用
- 支持Docker Compose一键部署
- 支持多架构(amd64/arm64)
- 数据持久化支持
- 环境隔离,运行更稳定
- ✨ 新增定时任务设置功能(Linux/OpenWrt)
- 自动检测Linux和OpenWrt环境
- 支持设置Cron定时任务
- 智能检测现有任务,支持清理或继续添加
- 自动使用绝对路径,确保定时任务正确执行
- 支持交互模式和命令行模式
- 🔧 改进命令生成功能
- 自动使用实际应用名(支持改名的.py文件和封装后的可执行文件)
- 使用绝对路径生成命令,确保定时任务正确执行
- 🔧 改进GitHub上传功能
- 添加配置保存功能,避免每次都要输入Token和仓库信息
- 改进网络错误处理,自动使用curl备用方案
- 🐛 修复命令行模式下GitHub上传的网络错误问题
- ✨ 新增命令行参数支持
- ✨ 新增小白快速测试模式
- ✨ 新增结果上报功能(Cloudflare Workers API 和 GitHub)
- ✨ 新增IPv6支持
- ✨ 新增GitHub仓库上传功能
- 🐛 修复编码问题(GBK解码错误)
- 🐛 修复NoneType strip错误
- 🔧 改进错误处理和用户提示
- 📝 更新文档说明
- 🔧 优化UUID格式验证(支持任意格式)
- 🔧 改进GitHub上传功能(支持公开仓库,包含注释)
- 重构代码结构
- 优化用户体验
- 改进错误处理机制
- 初始版本发布
- 支持97个全球数据中心
- 常规测速功能
- 优选反代功能
- 跨平台支持
- 预编译可执行文件
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- Cloudflare - 提供全球CDN服务
- CloudflareSpeedTest - 原始测速工具
- 所有贡献者和用户的支持
如果这个项目对您有帮助,请给我们一个星标!