LibreSpeed

No Flash, No Java, No Websocket, No Bullshit.
This is a lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.

Browser compatibility

All modern browsers are supported, including their mobile versions.
  • Internet Explorer 11
  • Microsoft Edge (last 2 versions)
  • Mozilla Firefox (latest ESR and last 2 versions)
  • Google Chrome and other Chromium-based browsers (last 2 versions)
  • Apple Safari (last 2 versions)
  • Opera (last 2 versions)

Requirements

  • Apache 2 (nginx and IIS also supported). A fast internet connection is required (possibly gigabit), and the web server must accept large POST requests (up to 20MB)
  • PHP 5.4 or newer, a 64-bit version is strongly recommended
  • OpenSSL and its PHP module (this is usually installed automatically by most distros)
  • If you want to store test results (telemetry), one of the following
    • MySQL/MariaDB and the mysqli PHP module
    • PostgreSQL and its PHP PDO module
    • SQLite 3 and its PHP PDO module
  • If you want to enable results sharing
    • FreeType 2 and its PHP module (this is usually installed automatically by most distros)
    • The PHP gd library

Source code

Browse GitHub repository
Download from here
Includes examples and documentation.

Docker

A docker version of the speed test is available on GitHub.
Instructions and documentation for this version are available in the doc_docker.md file.

Android app

A template to build an Android client for your LibreSpeed installation is available here.

CLI client

A command-line client for LibreSpeed is available here.
Note: This client is not maintained by me.

Go backend

Browse GitHub repository
Note: This version is not maintained by me.

Rust backend

Browse GitHub repository
Note: This version is not maintained by me.

Node.js backend

Browse GitHub repository
Note: This branch is not maintained by me.

License

Share this article

Need help?

Please contact me at info@fdossena.com.