This project is an extension of LibreSpeed, LibreSpeed is a pretty lightweight speedtest tool.
speedtest-x uses file datebase to save speedtest results from various users. Thus you can check out different results from various countries/regions.
❗ Warning:Based on the principle of web speedtest, this program will generate garbage files for tester to download them to calculate the downstream network bandwidth from server to local. There may be abuses by malicious tester in a certain extent, after shared your speedtest website in public, please pay attention to the condition of your server traffic to avoid an traffic overload.
- Self-hosted lightweight speedtest page
- User speedtest result datasheet
- No MySQL, but lightweight file database
- Use ip.sb to get IP info by default
- Pull Image
docker pull badapple9/speedtest-x
- Run container
docker run -d -p 9001:80 -it badapple9/speedtest-x
Optional arguments:
-e MAX_LOG_COUNT=100: Maximum results size, 100 by default
-e IP_SERVICE=ip.sb: IP info provider (Options: ip.sb / ipinfo.io), ip.sb by default
-e SAME_IP_MULTI_LOGS=false: Whether to allow the same user IP to record multiple speedtest results, false by default.
If you want support IPV6 in a Docker container, edit
/etc/docker/daemon.json
:{ "ipv6": true, "fixed-cidr-v6": "fd00::/80", "experimental": true, "ip6tables": true }
- Open
{your_ip}:9001
- Download repository files and unzip to website directory, open
{your_domain_name}/index.html
. - Open
{your_domain_name}/results.html
to check out speedtest result datasheet.
backend/config.php
:
MAX_LOG_COUNT = 100
:Maximum results size, 100 by default
IP_SERVICE = 'ip.sb'
:IP info provider (Options: ip.sb / ipinfo.io), ip.sb by default
SAME_IP_MULTI_LOGS = false
:Whether to allow the same user IP to record multiple speedtest results, false by default.
See License