一个高性能的CloudFlare CDN IP地址TCP连接测试工具,用于快速筛选出延迟最低的IP地址。
- 高性能并发测试: 支持多线程同时测试,默认4线程
- TCP连接测试: 通过TCP 80端口连接测试,无需管理员权限
- CIDR批量处理: 支持CIDR网段批量扩展和测试
- 实时结果显示: 实时显示测试结果,按延迟排序
- 结果导出: 支持将测试结果导出为文本文件
- 详细日志: 可选的详细测试日志记录
- 用户友好界面: 现代化Qt界面,支持文件拖拽
- Windows 10/11 (x64)
- Visual Studio 2019/2022 或 MinGW
- Qt 6.x
- Boost.Asio (包含协程支持)
- Qt 6.5+ (Core, Widgets, Network)
- Boost 1.82+ (header-only,需要协程支持)
- C++20 编译器支持
# 从官网下载Qt安装器
# 或使用包管理器
winget install Qt.Qt# 使用vcpkg
vcpkg install boost-asio:x64-windows
# 或下载预编译版本
# https://www.boost.org/users/download/mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH="C:/Qt/6.5.0/msvc2022_64"
cmake --build . --config Releaseqmake cfping.pro
nmake release # 或 mingw32-make release- 在左侧文本框中输入CIDR网段,每行一个
- 或点击"打开文件"加载CIDR文件
- 支持以#开头的注释行
示例CIDR格式:
# CloudFlare IP段
104.16.0.0/13
104.24.0.0/14
108.162.192.0/18
141.101.64.0/18
162.158.0.0/15
172.64.0.0/13
173.245.48.0/20
188.114.96.0/20
190.93.240.0/20
197.234.240.0/22
198.41.128.0/17
- 线程数量: 1-16个线程,建议4-8个
- 超时时间: 100-5000毫秒,建议500-1000毫秒
- 详细日志: 启用详细的连接日志记录
- 点击"开始测试"按钮
- 实时查看测试进度和结果
- 结果按延迟从低到高排序显示
- 成功连接的IP显示为绿色背景
- 结果表格显示IP地址、延迟时间和连接状态
- 只显示前100个最快的IP地址
- 选择表格中的IP地址,点击"复制选中IP"
- 或点击"保存结果"导出完整结果到文件
- 如果未选择任何IP,将复制所有成功的IP
本工具通过TCP连接到目标IP的80端口来测试连接性能:
- 非特权测试: 使用TCP连接而非ICMP ping,无需管理员权限
- 并发处理: 使用Boost.Asio协程实现高并发连接测试
- 连接分析: 区分端口拒绝(IP可达)和连接超时(IP不可达)
- 性能优化: 批量处理和智能队列管理,最大化测试效率
cfping/
├── src/
│ ├── main.cpp # 程序入口
│ ├── mainwindow.h/cpp # 主窗口界面
│ ├── pingworker.h/cpp # 后台测试工作类
│ ├── pingresultmodel.h/cpp # 结果表格数据模型
│ ├── cidrexpander.h/cpp # CIDR地址段扩展器
│ └── iputils.h/cpp # IP工具函数
├── CMakeLists.txt # CMake构建文件
├── cfping.pro # qmake项目文件
├── .gitignore # Git忽略文件
└── README.md # 项目说明
- 高并发: 支持数千个IP的并发测试
- 内存优化: 智能批量处理,避免内存耗尽
- 实时更新: 批量UI更新,保持界面响应
- 快速停止: 优化的停止机制,快速响应用户操作
- 网络环境: 确保网络连接稳定,防火墙允许出站连接
- 测试规模: 大规模测试时建议适当增加超时时间
- 结果解释: 连接成功不代表HTTP服务可用,仅表示IP可达
- 合理使用: 避免过于频繁的大规模测试,遵守网络使用规范
本项目采用MIT许可证,详见LICENSE文件。
欢迎提交Issue和Pull Request来改进项目。
- 初始版本发布
- 支持CIDR批量测试
- 实时结果显示和导出
- 多线程高性能测试