Self-hosted Speed Test for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more
Find a file
sstidl e5f54fbd78
Release 5.3.0 (#587)
* Update README.md

Added simple manual instructions

* Link to docker documentation

* Add basic docker compose example

* add descriptive alt-text to GIF

* Fix some typos and formatting

* Updated Docker to use php8.2-apache as the upstream image.

* Clean up apt lists after installation in Dockerfile

* Update Dockerfile

Co-authored-by: Quentame <polletquentin74@me.com>

* fix typo

* doc: sqlite db persistance explained

* Create docker-publish.yml

* Update docker-publish.yml

* Update docker-publish.yml

* fix action

* switch docker image location

* without image signing

* remove signing

* switch units to Mbit/s

* move examples to folder

* fix ipinfo parsing

* fix regression on getIpinfo

* removed trailing whitespaces

* integrate ios favicon

closes #400

* set single-server-full as index

---------

Co-authored-by: Les W <30345058+leswaters@users.noreply.github.com>
Co-authored-by: bt90 <btom1990@googlemail.com>
Co-authored-by: An | Anton Röhm <18481195+AnTheMaker@users.noreply.github.com>
Co-authored-by: 0kyn <0kyn.dev@gmail.com>
Co-authored-by: Marc Zampetti <zampettim@users.noreply.github.com>
Co-authored-by: Peter Dave Hello <hsu@peterdavehello.org>
Co-authored-by: Quentame <polletquentin74@me.com>
Co-authored-by: Stefan STIDL <stefan.stidl@ffg.at>
2023-11-26 12:46:27 +01:00
.github Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
.logo Fixed typo in results/index.php 2021-04-13 10:27:36 +02:00
backend Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
docker Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
examples Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
results Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
.gitignore Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
doc.md Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
doc_docker.md Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
Dockerfile Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
favicon.ico Fixed typo in results/index.php 2021-04-13 10:27:36 +02:00
index.html Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
LICENSE Fixed typo in results/index.php 2021-04-13 10:27:36 +02:00
README.md Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
speedtest.js Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
speedtest_worker.js Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00

LibreSpeed Logo

LibreSpeed

No Flash, No Java, No Websocket, No Bullshit.

This is a very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.

Try it

Take a speed test

Compatibility

All modern browsers are supported: IE11, latest Edge, latest Chrome, latest Firefox, latest Safari. Works with mobile versions too.

Features

  • Download
  • Upload
  • Ping
  • Jitter
  • IP Address, ISP, distance from server (optional)
  • Telemetry (optional)
  • Results sharing (optional)
  • Multiple Points of Test (optional)

Screenrecording of a running Speedtest

Server requirements

  • A reasonably fast web server with Apache 2 (nginx, IIS also supported)
  • PHP 5.4 (other backends also available)
  • MySQL database to store test results (optional, Microsoft SQL Server, PostgreSQL and SQLite also supported)
  • A fast! internet connection

Installation

Assuming you have PHP installed, the installation steps are quite simple. I set this up on a QNAP. For this example, I am using a folder called speedtest in my web share area.

  1. Choose one of the example-xxx.html files as your new index.html in your speedtest folder. I used: example-singleServer-full.html
  2. Add: speedtest.js, speedtest_worker.js, and favicon.ico to your speedtest folder.
  3. Download all of the backend folder into speedtest/backend.
  4. Download all of the results folder into speedtest/results.
  5. Be sure your permissions allow execute (755).
  6. Visit YOURSITE/speedtest/index.html and voila!

Installation Video

There is a more in-depth installation video here:

Android app

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

Docker

A docker image is available on GitHub, check our docker documentation for more info about it.

Go backend

A Go implementation is available in the speedtest-go repo, maintained by Maddie Zhan.

Node.js backend

A partial Node.js implementation is available in the node branch, developed by dunklesToast. It's not recommended to use at the moment.

Donate

Donate with Liberapay Donate with PayPal

License

Copyright (C) 2016-2022 Federico Dossena

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/lgpl.