https://github.com/bigbuildbench/nelsonjchen_speedtest-rs

https://github.com/bigbuildbench/nelsonjchen_speedtest-rs

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BigBuildBench
  • License: apache-2.0
  • Language: Rust
  • Default Branch: master
  • Size: 884 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License

README.md

speedtest-rs

a tool like speedtest-cli, but in Rust

Continuous integration

Status: This is usable for lower-end residential connections using "HTTP Legacy Fallback"

Install from AUR

sh paru -S speedtest-rs

or

sh paru -S speedtest-rs-bin

HTTP Legacy Fallback

This tool currently only supports HTTP Legacy Fallback for testing.

High bandwidth connections higher than ~200Mbps may return incorrect results!

The testing operations are different from socket versions of tools connecting to speedtest.net infrastructure. In the many FOSS Go versions, tests are done to find an amount of data that can run for a default of 3 seconds over some TCP connection. In particular, speedtest-cli and speedtest-rs tests with what Ookla calls the "HTTP Legacy Fallback" for hosts that cannot establish a direct TCP connection.

Ookla speedtest now has their own non-FOSS CLI tool that's native and available for many platforms.

  • TCP-based
  • Higher Bandwidth capable.

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

Please look here. Unfortunately, it is not FOSS. Still, it is supported by them and can be used for non-commercial purposes.

Purpose

This is a learning exercise for me to learn Rust and keeping up with its ecosystem.

The HTTP Legacy Fallback is currently based on the popular Python implementation:

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

There are also other speedtest.net using tools using different approaches to be stolen from in the future. For example:

https://github.com/traetox/speedtest

This example seems different as it appears to just use TCP connections and some protocol. It's probably more suitable to high-speed connections. TODO: Add a default TCP-mode.

Use as a Library

The API is very much not stable. Use at your own risk. Semver adherence definitely not guaranteed. Please lock to exact versions if you must.

License

Licensed under either of

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Owner

  • Name: BigBuildBench
  • Login: BigBuildBench
  • Kind: organization

abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.

GitHub Events

Total
  • Pull request event: 1
  • Create event: 5
Last Year
  • Pull request event: 1
  • Create event: 5

Dependencies

.github/workflows/ci.yml actions
  • Swatinem/rust-cache v2 composite
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v4 composite
.github/workflows/release.yml actions
  • actions-rs/toolchain v1 composite
  • actions/checkout v4 composite
  • actions/create-release v1 composite
  • actions/download-artifact v4 composite
  • actions/upload-artifact v4 composite
  • actions/upload-release-asset v1 composite
.github/workflows/usage_demo.yml actions
  • Swatinem/rust-cache v2 composite
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v4 composite
Cargo.lock cargo
  • 208 dependencies
Cargo.toml cargo