基于 Cloudflare Workers 的全能网络诊断工具,覆盖延迟、带宽、协议、安全、WebSocket、WASM 等 20+ 项测试,一键部署,全球极速可用。

netdiag),点击 部署_worker.js 全部代码粘贴进去git clone https://github.com/ASIACOMKHK/CF-workers-netdiag.git
cd CF-workers-netdiag
npm install
npm run dev # 本地调试(可选)
npm run deploy # 一键部署到 Cloudflare Workers
提示:如需使用可选的 KV 缓存,请在 Cloudflare 后台创建 KV 命名空间,并在 Worker 变量中绑定为
CACHE_KV。
部署后直接访问 Worker 域名即可看到完整终端风格界面,所有测试通过点击按钮触发。
| 测试项 | 说明 |
|——–|——|
| IPv4 / IPv6 | 自动从多个备用源获取双栈公网地址 |
| LOCAL RTT | 每 2 秒向 Worker 发起 HEAD 请求,显示实时往返延迟 |
| JITTER | 计算最近 10 次 RTT 的平均抖动 |
| PACKET LOSS | 发送 10 个 HEAD 请求,统计丢包百分比 |
| BANDWIDTH | 分段下载 100KB/500KB/1MB 随机数据,计算 Mbps 及平均速度 |
| DNS | 测试 cloudflare.com 与 google.com 的解析延迟 |
| 测试项 | 说明 | |——–|——| | DC / PROXY | 检测当前 AS 组织是否属于数据中心/代理 | | RISK LEVEL | 根据数据中心判定显示高风险/低风险 | | ASN | 显示自治系统编号及运营商名称 | | PROTOCOL | 自动识别 HTTP/2 或 HTTP/3 (QUIC) | | TLS | 展示 TLS 版本与密码套件 | | ECH | 检测 Encrypted Client Hello 是否启用,显示 Client Hello 长度 | | COMPRESSION | 显示浏览器支持的压缩算法 (Brotli/gzip) | | H2 PUSH | 验证 HTTP/2 Server Push 是否生效 | | BOT SCORE | Cloudflare Bot Management 分配的评分及人类/风险等级 | | WORKER TIME | Worker 处理本次请求的耗时 (ms) |
| 测试项 | 说明 | |——–|——| | CPU | Worker 端执行 50 万次浮点运算,返回 ops/ms 及耗时 | | WS | WebSocket 5 次 ping/pong 测量双向延迟(min/avg/max) | | CONCURRENT | 并发创建 4/6/8 个子请求,展示并发处理时间 | | STREAM | 64KB/256KB/1MB 流式传输吞吐量测试 | | DNS RELAY | 并行查询 Cloudflare DoH 与 Google DoH 的解析延迟 | | EDGE | 并发 ping 5 个全球 Cloudflare 边缘节点 (SFO/LHR/NRT/FRA/IAD) | | CACHE | 测试 Worker Cache API 的 hit/miss 延迟 | | WASM | 内嵌 WebAssembly 模块执行斐波那契计算,返回 ops/s | | JS BENCH | JSON 序列化/正则/排序混合负载,测量 JavaScript 引擎 ops/s | | WS ECHO | 发送 100 条 WebSocket 消息,计算消息吞吐率 (msg/s) |
cf-connecting-ip 查询真实客户端 IP 的归属地(绕过 CDN 代理)以下端点均由 Worker 内部提供,用于支持前端各项测试:
| 路径 | 查询参数 | 说明 |
|---|---|---|
/speedtest |
size (默认 102400) |
返回随机二进制数据用于带宽测试 |
/cpu-test |
n (默认 500000) |
Worker CPU 浮点运算压测 |
/concurrent-test |
count, size |
并发子请求性能测试 |
/stream-test |
size (默认 1048576) |
流式传输测试 |
/push-test |
无 | H2 Server Push 探测 |
/doh-compare |
无 | DNS over HTTPS 对比 |
/edge-nodes |
无 | 返回预设边缘节点列表 |
/cache-hit |
无 | Cache API 命中率测试 |
/wasm-test |
无 | WebAssembly 斐波那契基准 |
/js-bench |
无 | JavaScript 引擎压力测试 |
/ws-test |
无 | WebSocket 端点(支持 ping 和 echo 命令) |
调用示例:
# 带宽测试
curl https://你的域名.workers.dev/speedtest?size=524288
# 查看 CPU 基准
curl https://你的域名.workers.dev/cpu-test?n=200000
CF-workers-netdiag/
├── _worker.js # Workers 核心代码
├── README.md # 项目详细文档
├── wrangler.toml # Wrangler 配置文件
├── LICENSE # MIT 开源协议
└── screenshot.png # 项目截图
工具首先使用 Worker 获取到的真实客户端 IP(cf-connecting-ip)并通过 ip-api.com 进行查询;若该外部 API 不可用,会降级为前端通过 ipapi.co 查询公网出口 IP,由于可能经过代理导致位置偏差。
Cloudflare Workers 免费方案每日提供 10 万次请求,个人日常诊断完全足够。频繁进行 带宽/流式/并发/WebSocket 吞吐 等测试会产生较大流量,请注意配额消耗。
在 Cloudflare Workers 控制台 → 触发器 → 添加自定义域名即可。
当然可以!你可以在 _worker.js 中添加新的路由处理,并扩展前端 HTML 与 i18n 对象。请随意 Fork 仓库并提交 Pull Request。
完全支持。Worker 脚本无外部依赖,可独立运行在任何 Cloudflare 账号下。
MIT License © 2026 ASIACOMKHK