21 个版本

0.2.0 2024 年 7 月 28 日
0.1.5 2024 年 2 月 12 日
0.1.4 2023 年 2 月 27 日
0.1.2 2021 年 7 月 24 日
0.0.1 2015 年 11 月 19 日

#475 in 网络编程

Download history 466/week @ 2024-05-02 414/week @ 2024-05-09 377/week @ 2024-05-16 317/week @ 2024-05-23 268/week @ 2024-05-30 117/week @ 2024-06-06 128/week @ 2024-06-13 56/week @ 2024-06-20 100/week @ 2024-06-27 257/week @ 2024-07-04 189/week @ 2024-07-11 37/week @ 2024-07-18 489/week @ 2024-07-25 125/week @ 2024-08-01 89/week @ 2024-08-08 114/week @ 2024-08-15

每月 821 次下载

MIT/Apache

50KB
1K SLoC

speedtest-rs

类似于 speedtest-cli 的工具,但使用 Rust 编写

Continuous integration

状态:此工具适用于使用 "HTTP Legacy Fallback" 的低端家庭连接

从 AUR 安装

paru -S speedtest-rs

paru -S speedtest-rs-bin

HTTP Legacy Fallback

此工具目前仅支持用于测试的 "HTTP Legacy Fallback"

高于 ~200Mbps 的宽带连接可能会返回错误的结果!

测试操作与连接到 speedtest.net 基础设施的工具的套接字版本不同。在许多 FOSS Go 版本中,测试是找到可以在默认情况下运行 3 秒钟的一些 TCP 连接上的数据量。特别是,speedtest-clispeedtest-rs 使用 Ookla 所称的 "HTTP Legacy Fallback" 对无法建立直接 TCP 连接的主机进行测试。

Ookla speedtest 现在有他们自己的非 FOSS CLI 工具,这是本地化的,并且在许多平台上可用。

  • 基于 TCP
  • 支持更高带宽。

https://www.speedtest.net/apps/cli

请查看这里。不幸的是,它不是 FOSS。尽管如此,它受到他们的支持,并且可以用于非商业用途。

目的

这是我学习 Rust 和跟上其生态系统的一个学习练习。

当前的 HTTP Legacy Fallback 基于流行的 Python 实现

https://github.com/sivel/speedtest-cli @ 2.1.2

还有其他使用不同方法的速度测试.net 工具,未来可以从中借鉴。例如

https://github.com/traetox/speedtest

这个例子似乎不同,因为它似乎只使用 TCP 连接和一些协议。它可能更适合高速连接。TODO:添加默认的 TCP 模式。

作为库使用

API 非常不稳定。请自行承担风险。无法保证 Semver 遵守。如果必须,请锁定到确切版本。

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确说明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在本工作中的贡献,将如上所述双重许可,不附加任何额外条款或条件。

依赖

~14–27MB
~410K SLoC