14 个稳定版本

1.2.5 2024 年 7 月 16 日
1.2.3 2024 年 3 月 20 日
1.2.0 2023 年 12 月 26 日
1.1.3 2023 年 10 月 22 日
0.1.10 2023 年 3 月 17 日

#321命令行实用程序

Download history 94/week @ 2024-05-19 6/week @ 2024-05-26 9/week @ 2024-06-02 6/week @ 2024-06-09 1/week @ 2024-06-16 1/week @ 2024-06-30 7/week @ 2024-07-07 140/week @ 2024-07-14 16/week @ 2024-07-21 11/week @ 2024-07-28 1/week @ 2024-08-04 24/week @ 2024-08-11

每月 63 次下载

MIT 许可证

26KB
569

cfspeedtest - speed.cloudflare.com 的非官方 CLI

CI Release Crates.io Version Crates.io Downloads

安装

使用 cargo 安装

cargo install cfspeedtest

或者在此处下载最新的二进制发布版本:cfspeedtest/releases/latest

或者还有 Docker Hub 上的 Docker 镜像

docker run cybuerg/cfspeedtest

用法

> cfspeedtest --help
Unofficial CLI for speed.cloudflare.com

Usage: cfspeedtest [OPTIONS]

Options:
  -n, --nr-tests <NR_TESTS>
          Number of test runs per payload size. Needs to be at least 4 [default: 10]
      --nr-latency-tests <NR_LATENCY_TESTS>
          Number of latency tests to run [default: 25]
  -m, --max-payload-size <MAX_PAYLOAD_SIZE>
          The max payload size in bytes to use [100k, 1m, 10m, 25m or 100m] [default: 25MB]
  -o, --output-format <OUTPUT_FORMAT>
          Set the output format [csv, json or json-pretty] > This silences all other output to stdout [default: StdOut]
  -v, --verbose
          Enable verbose output i.e. print boxplots of the measurements
      --ipv4
          Force usage of IPv4
      --ipv6
          Force usage of IPv6
  -d, --disable-dynamic-max-payload-size
          Disables dynamically skipping tests with larger payload sizes if the tests for the previous payload size took longer than 5 seconds
  -h, --help
          Print help
  -V, --version
          Print version

示例用法
asciicast

带有 json-pretty 输出的示例
asciicast

开发

日志记录

使用环境变量 RUST_LOG 设置日志级别

RUST_LOG=debug cargo run

发布

使用 cargo-release

安装 cargo-release

cargo install cargo-release

创建发布(版本升级级别为 [修补程序, 小版本, 大版本]

cargo release patch --execute

这将提高 cfspeedtest 版本在 Cargo.tomlCargo.lock 中,并运行 cargo publish 将发布推送到 crates.io。此外,还会创建一个版本 git 标签并将其推送到 master,触发创建二进制发布的 GH 操作。

在 GitHub 上

使用 GitHub Actions 自动发布发布构建。当推送格式为 v[0-9]+.* 的 git 标签时触发。

git tag v1.0.0
git push origin v1.0.0

在 crates.io 上

  1. Cargo.toml 中更新 cfspeedtest 版本
  2. cargopublish --dry-run
  3. 使用 cargo package --list 验证内容
  4. 上传到 crates.io cargo publish

依赖关系

~9–21MB
~302K SLoC