Skip to content

Commit 420be5e

Browse files
sstidladolfintelstefanstidlffg
authored
Release 5.4 (#645)
* Initial implementation of ipinfo.io offline database * Removed unnecessary code * add: download ipinfo db during docker build * fixed workflow * rename warning in workflow * commit to trigger workflow * Refactor getIP * Improved UI * Updated docker version with 5.4 changes * Updated README.md * Added fallback in getIP in case the offline db is missing * Fixed typos * just md linting * Removed vscode stuff * Implemented fallback in getIP for PHP<8 (returns only the IP) * Updated doc.md * Fixed comments in telemetry_settings.php * New quick start video * Corrected image name in doc_docker.md * Replaced speedtest with just test in stats.php * docker documentation update * typo --------- Co-authored-by: Federico Dossena <[email protected]> Co-authored-by: Stefan Stidl <[email protected]>
1 parent b419726 commit 420be5e

20 files changed

+791
-1008
lines changed

.github/workflows/docker-publish.yml

+10
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ jobs:
3737
- name: Checkout repository
3838
uses: actions/checkout@v4
3939

40+
# Fetch the ipinfo database file using curl if API key is defined
41+
- name: Fetch DB from ipinfo.io
42+
# IPINFO_APIKEY is set in https://github.com/librespeed/speedtest/settings/secrets/actions
43+
run: |
44+
if [ -z "${{ secrets.IPINFO_APIKEY }}" ]; then
45+
echo "Warning: IPINFO_APIKEY is not defined."
46+
else
47+
curl -L https://ipinfo.io/data/free/country_asn.mmdb?token=${{ secrets.IPINFO_APIKEY }} -o backend/country_asn.mmdb
48+
fi
49+
4050
# Set up BuildKit Docker container builder to be able to build
4151
# multi-platform images and export cache
4252
# https://github.com/docker/setup-buildx-action

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
results/idObfuscation_salt.php
22
backend/getIP_serverLocation.php
33
db-dir/
4+
.vscode/

.vscode/extensions.json

-5
This file was deleted.

README.md

+25-13
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ No Flash, No Java, No Websocket, No Bullshit.
77
This is a very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.
88

99
## Try it
10+
1011
[Take a speed test](https://librespeed.org)
1112

1213
## Compatibility
14+
1315
All modern browsers are supported: IE11, latest Edge, latest Chrome, latest Firefox, latest Safari.
1416
Works with mobile versions too.
1517

1618
## Features
19+
1720
* Download
1821
* Upload
1922
* Ping
@@ -25,53 +28,62 @@ Works with mobile versions too.
2528

2629
![Screenrecording of a running Speedtest](https://speedtest.fdossena.com/mpot_v6.gif)
2730

28-
2931
## Server requirements
32+
3033
* A reasonably fast web server with Apache 2 (nginx, IIS also supported)
3134
* PHP 5.4 or newer (other backends also available)
3235
* MySQL database to store test results (optional, Microsoft SQL Server, PostgreSQL and SQLite also supported)
3336
* A fast! internet connection
3437

3538
## Installation
36-
Assuming you have PHP installed, the installation steps are quite simple.
37-
I set this up on a QNAP.
38-
For this example, I am using a folder called **speedtest** in my web share area.
3939

40-
1. Choose one of the example-xxx.html files in `examples` folder as your index.html if the default index.html does not fit.
41-
2. Add: speedtest.js, speedtest_worker.js, and favicon.ico to your speedtest folder.
42-
3. Download all of the backend folder into speedtest/backend.
43-
4. Download all of the results folder into speedtest/results.
44-
5. Be sure your permissions allow execute (755).
45-
6. Visit YOURSITE/speedtest/index.html and voila!
40+
Assuming you have PHP and a web server installed, the installation steps are quite simple.
41+
42+
1. Download the source code and extract it
43+
1. Copy the following files to your web server's shared folder (ie. /var/www/html/speedtest for Apache): index.html, speedtest.js, speedtest_worker.js, favicon.ico and the backend folder
44+
1. Optionally, copy the results folder too, and set up the database using the config file in it.
45+
1. Be sure your permissions allow execute (755).
46+
1. Visit YOURSITE/speedtest/index.html and voila!
4647

4748
### Installation Video
48-
There is a more in-depth installation video here:
49-
* [Quick start installation guide for Ubuntu Server 19.04](https://fdossena.com/?p=speedtest/quickstart_v5_ubuntu.frag)
49+
50+
This video shows the installation process of a standalone LibreSpeed server: [Quick start installation guide for Debian 12](https://fdossena.com/?p=speedtest/quickstart_deb12.frag)
51+
52+
More videos will be added later.
5053

5154
## Android app
55+
5256
A template to build an Android client for your LibreSpeed installation is available [here](https://github.com/librespeed/speedtest-android).
5357

5458
## CLI client
59+
5560
A command line client is available [here](https://github.com/librespeed/speedtest-cli).
5661

5762
## Docker
63+
5864
A docker image is available on [GitHub](https://github.com/librespeed/speedtest/pkgs/container/speedtest), check our [docker documentation](doc_docker.md) for more info about it.
65+
The image is built every week to include an updated version of the ipinfo-DB used for ISP detection. Also this ensures, that the latest security patches in PHP are installed. Therefore we recommend to use the `latest` image.
5966

6067
## Go backend
68+
6169
A Go implementation is available in the [`speedtest-go`](https://github.com/librespeed/speedtest-go) repo, maintained by [Maddie Zhan](https://github.com/maddie).
6270

6371
## Rust backend
72+
6473
A Rust implementation is available in the [`speedtest-rust`](https://github.com/librespeed/speedtest-rust) repo, maintained by [Sudo Dios](https://github.com/sudodios).
6574

6675
## Node.js backend
76+
6777
A partial Node.js implementation is available in the `node` branch, developed by [dunklesToast](https://github.com/dunklesToast). It's not recommended to use at the moment.
6878

6979
## Donate
80+
7081
[![Donate with Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/fdossena/donate)
7182
[Donate with PayPal](https://www.paypal.me/sineisochronic)
7283

7384
## License
74-
Copyright (C) 2016-2022 Federico Dossena
85+
86+
Copyright (C) 2016-2024 Federico Dossena
7587

7688
This program is free software: you can redistribute it and/or modify
7789
it under the terms of the GNU Lesser General Public License as published by

backend/country_asn.mmdb

49.1 MB
Binary file not shown.

backend/geoip2.phar

530 KB
Binary file not shown.

0 commit comments

Comments
 (0)