RMBT network measurement client — performs ping, download, and upload speed tests against an RMBT measurement server
Project description
rmbt-client (Python)
RMBT network measurement client written in Python. Performs ping, download, and upload phases against an RMBT measurement server and submits results to the control server.
Requirements
- Python 3.7+
- No third-party dependencies (stdlib only:
ssl,socket,threading,urllib)
Usage
python -m rmbt_client --host https://measure.example.com
Run with a specific thread count and duration:
python -m rmbt_client --host https://measure.example.com --threads 4 --duration 10
Skip TLS verification against a local test server:
python -m rmbt_client --host https://localhost:8080 --no-tls-verify
Options
| Flag | Description |
|---|---|
-h, --host URL |
Control server base URL (required) |
-p, --port PORT |
Override test server port |
-u, --uuid UUID |
Client UUID (uses/creates ~/.rmbt_client_uuid if omitted) |
-t, --threads N |
Force thread count for download and upload (overrides pre-test) |
-d, --duration SECS |
Test duration in seconds (default: from control server) |
--ws |
Use WebSocket (RMBTws) framing instead of plain HTTP upgrade |
--http |
Use plain HTTP upgrade (RMBThttp) — overrides auto-detection |
--no-tls-verify |
Skip TLS certificate verification (insecure) |
--debug |
Print control server request/response JSON |
--intermediate |
Print upload throughput every 40 ms per thread |
--help |
Print help |
Protocol
- POST
/RMBTControlServer/settings→ register client, receive UUID - POST
/RMBTControlServer/testRequest→ receive token, server address, thread count - Pre-test: 2-second single-thread GETCHUNKS download to determine chunk size and thread counts
- Ping: 1 s / 10–100 pings
- Download: multi-threaded GETTIME, all threads start simultaneously via
threading.Barrier - Upload: multi-threaded PUTNORESULT
- POST
/RMBTControlServer/result
Supports both RMBThttp (plain HTTP upgrade) and RMBTws (WebSocket) variants.
TLS via the stdlib ssl module; control server HTTPS via urllib.request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rmbt_client-1.0.0.tar.gz.
File metadata
- Download URL: rmbt_client-1.0.0.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b90832682a30a086458307c2dc77b11d96f348451fdf437cb252bf6fda25ee0
|
|
| MD5 |
828743504681bdc33b797e0ad7346f62
|
|
| BLAKE2b-256 |
5cb4c11e4c305b6aca6cb866231e5a38f110e8bea29ca34b324886a605b1ce7a
|
Provenance
The following attestation bundles were made for rmbt_client-1.0.0.tar.gz:
Publisher:
publish-python.yml on raaaimund/open-rmbt-client-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rmbt_client-1.0.0.tar.gz -
Subject digest:
1b90832682a30a086458307c2dc77b11d96f348451fdf437cb252bf6fda25ee0 - Sigstore transparency entry: 1912318588
- Sigstore integration time:
-
Permalink:
raaaimund/open-rmbt-client-cli@a190dee0d23220cd5e234ab4d96af057e9b9ed7c -
Branch / Tag:
refs/tags/python-v1.0.0 - Owner: https://github.com/raaaimund
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@a190dee0d23220cd5e234ab4d96af057e9b9ed7c -
Trigger Event:
push
-
Statement type:
File details
Details for the file rmbt_client-1.0.0-py3-none-any.whl.
File metadata
- Download URL: rmbt_client-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ceb18c3808c5522fe3e6f0d7e7abd2f609e1666c43f014e299f44f557273086b
|
|
| MD5 |
a6f14fb50e84fc400ce485009c4cc31e
|
|
| BLAKE2b-256 |
9dd59a17d7e1c98b91de986839cc0aa94ae2bd4afae7bcc435ca28c6f7e82e59
|
Provenance
The following attestation bundles were made for rmbt_client-1.0.0-py3-none-any.whl:
Publisher:
publish-python.yml on raaaimund/open-rmbt-client-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rmbt_client-1.0.0-py3-none-any.whl -
Subject digest:
ceb18c3808c5522fe3e6f0d7e7abd2f609e1666c43f014e299f44f557273086b - Sigstore transparency entry: 1912318711
- Sigstore integration time:
-
Permalink:
raaaimund/open-rmbt-client-cli@a190dee0d23220cd5e234ab4d96af057e9b9ed7c -
Branch / Tag:
refs/tags/python-v1.0.0 - Owner: https://github.com/raaaimund
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@a190dee0d23220cd5e234ab4d96af057e9b9ed7c -
Trigger Event:
push
-
Statement type: