Skip to content

shuangtuanmi/cfping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudFlare CDN IP TCP连接测试工具

一个高性能的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 编译器支持

安装依赖

1. 安装Qt

# 从官网下载Qt安装器
# 或使用包管理器
winget install Qt.Qt

2. 安装Boost

# 使用vcpkg
vcpkg install boost-asio:x64-windows

# 或下载预编译版本
# https://www.boost.org/users/download/

编译说明

使用CMake (推荐)

mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH="C:/Qt/6.5.0/msvc2022_64"
cmake --build . --config Release

使用qmake

qmake cfping.pro
nmake release  # 或 mingw32-make release

使用说明

1. 加载CIDR地址段

  • 在左侧文本框中输入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

2. 配置测试参数

  • 线程数量: 1-16个线程,建议4-8个
  • 超时时间: 100-5000毫秒,建议500-1000毫秒
  • 详细日志: 启用详细的连接日志记录

3. 开始测试

  • 点击"开始测试"按钮
  • 实时查看测试进度和结果
  • 结果按延迟从低到高排序显示

4. 查看结果

  • 成功连接的IP显示为绿色背景
  • 结果表格显示IP地址、延迟时间和连接状态
  • 只显示前100个最快的IP地址

5. 导出结果

  • 选择表格中的IP地址,点击"复制选中IP"
  • 或点击"保存结果"导出完整结果到文件
  • 如果未选择任何IP,将复制所有成功的IP

测试原理

本工具通过TCP连接到目标IP的80端口来测试连接性能:

  1. 非特权测试: 使用TCP连接而非ICMP ping,无需管理员权限
  2. 并发处理: 使用Boost.Asio协程实现高并发连接测试
  3. 连接分析: 区分端口拒绝(IP可达)和连接超时(IP不可达)
  4. 性能优化: 批量处理和智能队列管理,最大化测试效率

项目结构

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更新,保持界面响应
  • 快速停止: 优化的停止机制,快速响应用户操作

注意事项

  1. 网络环境: 确保网络连接稳定,防火墙允许出站连接
  2. 测试规模: 大规模测试时建议适当增加超时时间
  3. 结果解释: 连接成功不代表HTTP服务可用,仅表示IP可达
  4. 合理使用: 避免过于频繁的大规模测试,遵守网络使用规范

许可证

本项目采用MIT许可证,详见LICENSE文件。

贡献

欢迎提交Issue和Pull Request来改进项目。

更新日志

v1.0.0

  • 初始版本发布
  • 支持CIDR批量测试
  • 实时结果显示和导出
  • 多线程高性能测试

About

This is an open-source tool software for detecting CDN connection access speed

Resources

License

Stars

Watchers

Forks

Packages

No packages published