MCPSERV.CLUB
SpeedTest by OpenSpeedTest™

SpeedTest by OpenSpeedTest™

Self-Hosted

HTML5 network speed test, no app required

Stale(60)
3.1kstars
0views
Updated Jun 4, 2024
SpeedTest by OpenSpeedTest™ screenshot 1
1 / 2

Overview

Discover what makes SpeedTest by OpenSpeedTest™ powerful

SpeedTest by OpenSpeedTest™ is a **pure‑client, HTML5** bandwidth measurement tool that relies exclusively on native browser APIs. The entire front‑end is a static bundle of `HTML`, `CSS`, and vanilla JavaScript, with no external dependencies or runtime frameworks. The server side is a lightweight HTTP service that hosts the test files and provides an API for result aggregation. Because the client code never executes on the server, the application is inherently secure: there are no dynamic scripts or database interactions that could be exploited. This design makes it ideal for environments where minimal attack surface and zero maintenance are paramount.

Zero‑client footprint

High‑precision measurement

Cross‑platform

Open‑source

Overview

SpeedTest by OpenSpeedTest™ is a pure‑client, HTML5 bandwidth measurement tool that relies exclusively on native browser APIs. The entire front‑end is a static bundle of HTML, CSS, and vanilla JavaScript, with no external dependencies or runtime frameworks. The server side is a lightweight HTTP service that hosts the test files and provides an API for result aggregation. Because the client code never executes on the server, the application is inherently secure: there are no dynamic scripts or database interactions that could be exploited. This design makes it ideal for environments where minimal attack surface and zero maintenance are paramount.

Key Features

  • Zero‑client footprint – runs in any modern browser (IE10+), no plugins or native apps required.
  • High‑precision measurement – uses XMLHttpRequest bursts to capture stable upload/download rates, automatically adjusting burst length based on network conditions.
  • Cross‑platform – works on phones, TVs, consoles, and desktops; the same static files serve all devices.
  • Open‑source – released under a permissive license, allowing modification and redistribution without vendor lock‑in.

Technical Stack

LayerTechnology
ClientPlain HTML5, CSS3, SVG for visualisation, vanilla JavaScript (ES6+) using XMLHttpRequest and Web APIs.
ServerA minimal HTTP server (NGINX, Caddy, or Docker‑based image) that serves static assets and a lightweight JSON endpoint for test file metadata. No backend language or database is required, but optional Node/Go micro‑services can be added for advanced analytics.
DeploymentDocker image (openspeedtest/openspeedtest:latest) and Helm chart for Kubernetes, enabling effortless containerised deployment. The static nature of the app also makes it trivial to host on any CDN or edge platform.

Core Capabilities & APIs

  • Test File Discovery – the client fetches a JSON catalog of test files (different sizes and locations) via an HTTP GET.
  • Result Reporting – after measurement, results are POSTed to a configurable endpoint (e.g., /api/results) in JSON format; the server can log, store, or forward them.
  • Webhooks – optional webhook support allows integration with monitoring tools (Prometheus, Grafana) or CI pipelines.
  • Customisation Hooks – developers can override CSS variables, swap out SVG icons, or inject custom JavaScript through a simple init.js hook without touching the core bundle.

Deployment & Infrastructure

The static nature of the application means it can be served from any web server or CDN. For larger deployments, a reverse proxy (NGINX) can be used to balance traffic across multiple instances of the test file server. Kubernetes users benefit from the provided Helm chart, which exposes configurable resource limits and ingress settings. Because no persistent state is required on the server side, scaling is linear: add more instances or edge locations to handle higher request volumes.

Integration & Extensibility

OpenSpeedTest’s API is intentionally minimal but expressive. Developers can:

  • Embed the test in internal dashboards or network monitoring portals by including the static bundle and pointing to a custom result endpoint.
  • Chain results into existing analytics stacks (InfluxDB, ElasticSearch) via the webhook or direct POST endpoint.
  • Extend functionality by writing a small Node/Go service that aggregates results and exposes a GraphQL API for custom reporting.

Developer Experience

  • Documentation – the README provides clear guidance on architecture, deployment options, and API contracts.
  • Community – the project is hosted on GitHub with an active issue tracker; contributors can submit pull requests for new features or bug fixes.
  • Configuration – all runtime settings (server URL, result endpoint, test file path) are exposed as environment variables or simple JSON files, making CI/CD integration straightforward.

Use Cases

  1. Enterprise Network Monitoring – embed the test in an internal portal to continuously benchmark employee bandwidth across offices.
  2. ISP Performance Reporting – run a dedicated instance for each service tier and expose results to customers via a branded web page.
  3. IoT & Smart TV Testing – deploy the static bundle on edge devices to verify network performance without installing native apps.
  4. Research & Benchmarking – use the open API to collect large datasets for academic studies on network latency and throughput.

Advantages

  • Security by Design – no server‑side code, eliminating common web vulnerabilities.
  • Performance & Low Footprint – pure static assets load instantly, and the measurement algorithm is lightweight.
  • License Flexibility – permissive open‑source license removes vendor lock‑in and allows commercial use.
  • Ease of Deployment – Docker, Helm, or plain static hosting make it trivial to spin up a new instance in minutes.
  • Extensibility – simple API and hook system let developers tailor the tool to bespoke workflows without touching core code.

In summary, SpeedTest by OpenSpeedTest™ offers a secure, high‑performance, and developer‑friendly solution for measuring network bandwidth across any device. Its minimalistic architecture, combined with robust extensibility and container‑friendly deployment, makes it a compelling choice for organizations that demand reliability, privacy, and rapid iteration.

Open SourceReady to get started?

Join the community and start self-hosting SpeedTest by OpenSpeedTest™ today