烧饼论坛
登录

[技术] SpeedQuality 测速脚本首发,看看你的 VPS 在本省速度怎么样

598
  • rtw1248
    UID 4165Lv.3 初识社区 编辑于

    最近折腾 VPS,经常遇到白天速度不错、晚上明显变慢的情况,就想做一个测速工具:选几个自己关心的地区,看看电信、联通、移动的单线程速度。于是就有了 SpeedQuality,简称 SQ。

    项目地址:SpeedQuality GitHub

    怎么使用?

    通过 SSH 登录你的 VPS,复制下面整条命令到终端执行即可:

    bash <(curl -fsSL https://sq.yolo2.cc/run)
    

    支持 Linux 的 amd64、arm64 架构。不传参数时,默认按 SSH 来源自动选择省份,使用 200Mbps 档位,测试服务器可用的 IPv4 和 IPv6。

    想先了解用法,可以在浏览器中打开SpeedQuality使用指南,查看常用参数并复制命令。测速完成后,终端会给出网页报告链接。

    它主要有下面这些特点:

    ①默认按 SSH 来源自动选择省份

    比如你在湖北,通过 SSH 登录一台日本 VPS,直接运行命令,就会测试这台 VPS 到湖北三网节点的速度。

    识别依据是 SSH 连接来源所在省份。经过跳板机时,通常识别到的是跳板机,可以用-p指定实际想测的地区。

    识别失败会退出,并提示先用-l查看省份代码,再通过-p指定。需要手动选择菜单时,加-i即可。

    ②单线程测速,提供三个速度档位

    支持 100、200、400Mbps,默认 200Mbps,用于观察单条 TCP 连接在所选档位下的表现。

    档位也是本次测试的限速上限,方便控制流量消耗。例如,结果显示200Mbps ✓,表示达到本次选择的 200Mbps 档位,不能据此判断线路的未限速峰值。

    ③默认检测 IPv4 和 IPv6,支持多个省份

    自动测试服务器可用的 IPv4、IPv6,也可以用-v4或-v6单独测试。

    单次最多选择 5 个省份。bsg是北京、上海、广东的快捷写法,也能组合成hb,bsg,测试湖北加北上广。

    省份支持代码和中文,中英文逗号都可以,例如hb,bj或湖北,北京。

    ④终端直接看结果,测完生成分享报告

    终端会显示进度、彩色测速表格和流量消耗,完成后返回网页报告链接。

    报告支持手机查看,也支持复制文本、NodeSeek 格式和通用 Markdown,方便发帖分享。

    把报告链接粘贴到 Telegram 等支持链接预览的平台,还可以展示测速摘要图片。

    ⑤可以关联已有 NodeQuality 报告

    如果你已经跑过 NQ,在测速命令后加上--nq 你的NQ报告链接即可。

    SQ 会校验服务器身份和检测时间。关联成功后,保留 NQ 原有分页,并追加 “速度质量” 页,用一个链接就能查看两份结果。

    建议跑完 NQ 后尽快运行 SQ。两次检测相差超过 60 分钟时,身份匹配仍可关联,但报告会提示时间差;身份无法匹配则生成独立 SQ 报告。

    这项关联功能由 SQ 提供,不代表与 NodeQuality 存在官方合作关系。

    常用命令

    下面的命令按需选择,复制到 VPS 终端执行即可。

    湖北,100Mbps:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -p hb -s 100
    

    湖北和北京,默认 200Mbps:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -p hb,bj
    

    北上广,只测 IPv4:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -p bsg -v4
    

    湖北,只测 IPv6:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -p hb -v6
    

    使用中文省份:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -p '湖北,北京'
    

    关联已有 NodeQuality 报告:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -p hb --nq 你的NQ报告链接
    

    打开手动选择菜单:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -i
    

    查看省份代码:

    bash <(curl -fsSL https://sq.yolo2.cc/run) -l
    

    查看完整帮助:

    bash <(curl -fsSL https://sq.yolo2.cc/run) --help
    

    简单说一下测速原理

    运行命令的服务器直接连接测速节点,上传和下载分别通过单条 TCP 连接进行 HTTP 数据传输,以实际传输量和耗时计算速率;延迟取 TCP 建连样本。

    表格里的方向是:

    • 上传:当前服务器→测速节点。
    • 下载:测速节点→当前服务器。

    结果会受到线路、时段和节点状态影响,适合在不同时间重复对比。没有可用节点时显示-,某个方向未取得有效速率时显示 “失败”。

    测速会消耗流量,开始前会给出估算。以默认 200Mbps 为例,单省三网、IPv4+IPv6 全部测试的最高参考消耗约 2.10GB,实际取决于速度和可用节点。流量有限可以选择-s 100 -v4。

    也支持自建测速节点

    项目提供 sq-node 自建节点服务。完成平台注册和校验后会获得 Route Key,可以在待测 VPS 上指定这个 Key,测试它与自建节点之间的速度:

    bash <(curl -fsSL https://sq.yolo2.cc/run) --node sqn_YOUR_ROUTE_KEY -s 100
    

    将sqn_YOUR_ROUTE_KEY替换为自己节点的 Route Key 即可。

    节点可以公开共享,也可以设置为仅持有 Route Key 的用户可用。自建节点功能还在继续完善,支持范围、部署与管理说明见项目文档。

    相关通信流程与测速方式参考了MiaM1ku/taierspeedtest,感谢原作者的公开研究,已在 README 中注明。

    源码、完整文档与问题反馈:SpeedQuality GitHub

    目前处于公开测试阶段,欢迎试用。如果觉得好用,欢迎 Star 支持。遇到测速失败、地区识别或报告展示问题,可以在本帖回复,也可以提交 Issue,附上运行参数、报错和报告链接。

  • 收藏支持反对打赏

8 条回复

发表回复