基于 Clash 核心的测速工具,快速测试你的节点速度。
Features:
- 无需额外的配置,直接将 Clash 配置本地文件路径或者订阅地址作为参数传入即可
- 支持 Proxies 和 Proxy Provider 中定义的全部类型代理节点,兼容性跟 Clash 一致
- 不依赖额外的 Clash 进程实例,单一工具即可完成测试
- 代码简单而且开源,不发布构建好的二进制文件,保证你的节点安全
# 推荐从源码安装
> go install github.com/faceair/clash-speedtest
# 查看帮助
> clash-speedtest -h
Usage of ./mihomo-speedtest:
-c string
Configuration file path or URL
-concurrent int
Number of concurrent downloads (default 4)
-delay
only delay testing
-delayurl string
delay test url (default "https://www.gstatic.com/generate_204")
-f string
Filter node names using regular expressions (default ".*")
-forward-proxy string
Forward proxy, supporting SOCKS5 and HTTP proxy.
-l string
URL of the target to test, supports custom size (default "https://speed.cloudflare.com/__down?bytes=%d")
-output string
Output results to 'csv' or 'yaml' file
-proxy string
proxy to get resource
-size int
Download size for testing (in MB) (default 100)
-sort string
Sort field: 'b' for bandwidth, 't' for latency (default "b")
-timeout duration
Timeout duration for testing (default 5s)
# 演示:
# 1. 测试全部节点,使用 HTTP 订阅地址
> clash-speedtest -c 'https://domain.com/link/hash?clash=1'
# 2. 测试香港节点,使用正则表达式过滤,使用本地文件
> clash-speedtest -c ~/.config/clash/config.yaml -f 'HK|港'
节点 带宽 延迟
Premium|广港|IEPL|01 484.80KB/s 815.00ms
Premium|广港|IEPL|02 N/A N/A
Premium|广港|IEPL|03 2.62MB/s 333.00ms
Premium|广港|IEPL|04 1.46MB/s 272.00ms
Premium|广港|IEPL|05 3.87MB/s 249.00ms
# 3. 当然你也可以混合使用
> clash-speedtest -c "https://domain.com/link/hash?clash=1,/home/.config/clash/config.yaml"
# 3. 使用自定义服务器进行测试(ip地址为示例,并无实际效果)
> clash-speedtest -c "https://domain/rules" -l "http://1.1.1.1:8080/_down?bytes=%d" --size 10200
节点 带宽 延迟
FORWARD-STEAM-COM 9.27KB/s 310.00ms
FORWARD-STEAM-COM-BAK 137.41KB/s 68.00ms
HK-COMMON 60.94KB/s 158.00ms
TOKYO-PCCW 21.83KB/s 364.00ms
TW-IEPL-01 109.34KB/s 73.00ms
USA-GIA 14.42KB/s 688.00ms
当您指定了
--output yaml
的时候,会自动将排序后的节点以完整配置输出,方便您编辑自己的节点文件
# 在您需要进行测速的服务器上启动服务端
$ cd livenessObject
$ go build .
$ ./speedtest
# 此时使用 http://ip:8080/_down?bytes=%d 作为 payload 即可,测试完成记得关闭以免被刷流量
通过 HTTP GET 请求下载指定大小的文件,默认使用 https://speed.cloudflare.com/__down?bytes=104857600 (100MB) 进行测试,计算下载时间得到下载速度。
测试结果:
- 带宽 是指下载指定大小文件的速度,即一般理解中的下载速度。当这个数值越高时表明节点的出口带宽越大。
- 延迟 是指 HTTP GET 请求拿到第一个字节的的响应时间,即一般理解中的 TTFB。当这个数值越低时表明你本地到达节点的延迟越低,可能意味着中转节点有 BGP 部署、出海线路是 IEPL、IPLC 等。
请注意带宽跟延迟是两个独立的指标,两者并不关联:
- 可能带宽很高但是延迟也很高,这种情况下你下载速度很快但是打开网页的时候却很慢,可能是是中转节点没有 BGP 加速,但出海线路带宽很充足。
- 可能带宽很低但是延迟也很低,这种情况下你打开网页的时候很快但是下载速度很慢,可能是中转节点有 BGP 加速,但出海线路的 IEPL、IPLC 带宽很小。