LibreSpeed ist ein freier und konfigurierbarer Open Source self-hosted speedtest. (No Flash, No Java, No Websocket, No Bullshit.)
Auf einem lokalen Server installiert, läßt sich damit die Geschwindigkeit im LAN und WLAN testen.
26.07.2023 - Anleitung aktualisiert (Debian 12) 24.09.2021 - Anleitung aktualisiert (Debian 11)
Features:
- Download
- Upload
- Ping
- Jitter
- IP Address, ISP, distance from server (optional)
- Telemetry (optional)
- Results sharing (optional)
- Multiple Points of Test (optional)
LibreSpeed im Docker Container
Docker – https://github.com/librespeed/speedtest/blob/master/doc_docker.md
Als Docker Container ist die Anwendung schnell installiert.
$ docker pull adolfintel/speedtest $ docker run -e MODE=standalone -p 80:80 -it adolfintel/speedtest # für den dauerhaften Einsatz $ docker run -e MODE=standalone --restart=unless-stopped -p 80:80 -d adolfintel/speedtest
Webinterface
LibreSpeed unter Debian 12
Linux – Installation (doc.md)
Auch unter Linux ist die Anwendung ohne großen Aufwand installiert.
$ cd /opt $ apt install -y git apache2 php $ git clone https://github.com/adolfintel/speedtest.git $ cd speedtest $ cp -Rv backend favicon.ico speedtest* /var/www/html/ $ chown -R www-data:www-data /var/www/html # guter Ausgangspunkt ist die single-Server-gauges.html (ohne Datenbank, ohne der Speicherung von Telemetriedaten) $ cp -v example-singleServer-gauges.html /var/www/html/index.html
Standard Webinterface der singleServer-gauges.
Angepasstes Webinterface der singleServer-gauges. (librespeed-dark.zip)
Sollen die Ergebnisse in einer Datenbank gespeichert werden, sind noch ein paar Vorbereitungen nötig. (für eine SQLite Datenbank)
$ apt install -y sqlite3 php-sqlite3 php-gd $ cp -Rv /opt/speedtest/results /var/www/html/ $ cp -Rv /opt/speedtest/example-singleServer-full.html /var/www/html/index_full.html $ chown -R www-data:www-data /var/www/html
Anpassung in der results/telemetry_settings.php.
<?php // Type of db: "mysql", "sqlite" or "postgresql" $db_type = 'sqlite'; // Password to login to stats.php. Change this!!! $stats_password = 'CHANGEME'; // If set to true, test IDs will be obfuscated to prevent users from guessing URLs of other tests $enable_id_obfuscation = false; // If set to true, IP addresses will be redacted from IP and ISP info fields, as well as the log $redact_ip_addresses = false; // Sqlite3 settings (Datenbank wird automatisch erstellt) $Sqlite_db_file = '../speedtest_telemetry.sql';
Apache neu starten um die PHP Module zu aktualisieren.
$ systemctl restart apache2
Die index_full.html ausführen. Über die URL /results/stats.php lassen sich die gespeicherten Ergebnisse abrufen.
LibreSpeed CLI
Command Line Interface – https://github.com/librespeed/speedtest-cli
Speedtest für die WAN Verbindung. Um nicht selbst kompilieren zu müssen, nehme ich einfach ein fertiges binary.
$ wget https://github.com/librespeed/speedtest-cli/releases/download/v1.0.10/librespeed-cli_1.0.10_linux_amd64.tar.gz $ tar xvfz librespeed-cli_1.0.10_linux_amd64.tar.gz $ cp librespeed-cli /usr/local/bin/
Liste der verfügbaren Backend-Server ausgeben.
$ librespeed-cli --list Retrieving server list from https://librespeed.org/backend-servers/servers.php ---SNIP--- 28: Nuremberg, Germany (1) (Hetzner) (http://de1.backend.librespeed.org) [Sponsor: Snopyta @ https://snopyta.org] 30: Nuremberg, Germany (3) (Hetzner) (http://de3.backend.librespeed.org) [Sponsor: LibreSpeed @ https://librespeed.org] 31: Nuremberg, Germany (4) (Hetzner) (http://de5.backend.librespeed.org) [Sponsor: LibreSpeed @ https://librespeed.org] 32: Nuremberg, Germany (5) (Hetzner) (https://speedtest.ciapa.tech/) 46: Nuremberg, Germany (6) (Hetzner) (http://librespeed.lukas-heinrich.com/) [Sponsor: luki9100 @ https://lukas-heinrich.com/] 59: Oslo, Norway (HostHatch) (https://no1.backend.librespeed.org) [Sponsor: LibreSpeed @ https://librespeed.org] 57: Paris, France (2) (online.net) (https://muchspeed.network) [Sponsor: Linuxxx] 35: Roma, Italy (GARR) (https://st-be-rm2.infra.garr.it) [Sponsor: Consortium GARR @ https://garr.it] 39: Roost, Luxembourg (BuyVM) (https://lux1.backend.librespeed.nixnet.services/) [Sponsor: NixNet @ https://nixnet.services] 44: Strasbourg, France (Host Europe) (https://sxb.bandspeed.de/) [Sponsor: adminForge @ https://adminforge.de/] 58: Warsaw, Poland (HostHatch) (https://pl1.backend.librespeed.org) [Sponsor: LibreSpeed @ https://librespeed.org]
Ich nehme den Server mit der ID 28.
$ librespeed-cli --telemetry-level disabled --server 28 Retrieving server list from https://librespeed.org/backend-servers/servers.php Selected server: Nuremberg, Germany (1) (Hetzner) [de1.backend.librespeed.org] Sponsored by: Snopyta @ https://snopyta.org You're testing from: 5.xx.xxx.xxx - PROVIDER Info GmhH, DE (130 km) Ping: 35 ms Jitter: 6 ms Download rate: 99.57 Mbps Upload rate: 16.47 Mbps
Danke für Deine kleine Anleitung. Gute Arbeit :)
Danke, freut mich wenn hier jemand was nützliches findet. :)