Stefan Stidl
8ba87a92bc
Merge branch 'internet-stability' of https://github.com/librespeed/speedtest into internet-stability
2026-05-16 19:06:45 +02:00
Stefan Stidl
7a995280a2
Fix stability test server list and timeouts
2026-05-16 18:48:13 +02:00
Tom Hudson
5278912ed4
Fix code review issues: server loading, subdir nav, chart perf
...
- Load server list dynamically from servers.json for Docker frontend/dual modes
- Copy servers.json to web root in entrypoint.sh for frontend/dual modes
- Change back link from href="/" to href="./" for subdirectory installs
- Use binary search for visible chart data range (O(log n) vs O(n))
- Add 200ms minimum interval between pings to limit sample rate
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-16 18:47:09 +02:00
Tom Hudson
7839a4331c
Add internet stability test feature
...
Add a prolonged ping-based stability test with real-time canvas chart,
stats (avg/min/max/jitter/packet loss), stability rating, external ping
targets, CSV export, and Docker support. Link from main page to stability test.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-16 18:47:08 +02:00
Stefan Stidl
a9197302b0
Fix stability test server list and timeouts
2026-05-16 15:22:06 +02:00
Stefan Stidl
903a7024c4
Merge origin/master into internet-stability
2026-05-16 10:23:37 +02:00
Copilot
ecb2a0e736
Add Docker TAGLINE env customization for modern frontend slogan ( #794 )
...
* Initial plan
* Add Docker TAGLINE env customization for modern UI slogan
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/e1da6e0e-5194-453d-bffb-961ed782e215
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Refine TAGLINE replacement and expand E2E coverage
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/e1da6e0e-5194-453d-bffb-961ed782e215
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Fix TAGLINE sed delimiter and add apostrophe tagline E2E test
- Switch TAGLINE sed from '#' to '/' delimiter so html_escape'd
apostrophes (') don't break the sed expression
- Add standalone-apostrophe Docker service with TAGLINE="It'd rather be fast!"
- Add standaloneApostrophe URL (port 18186) to env.js
- Add E2E test asserting the apostrophe tagline renders correctly
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/ebe265a8-4b1e-49b5-959a-66133ea0ab3a
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
2026-04-18 23:06:37 +02:00
sstidl
18b46600d0
docker: apply TITLE to modern page heading ( #788 )
...
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
2026-04-14 10:12:49 +02:00
sstidl
d18552fe8a
docker: restore TITLE env handling in entrypoint ( #787 )
...
* docker: restore TITLE env handling in entrypoint
* docker: escape TITLE for HTML output
* test(e2e): cover TITLE with umlauts and quotes
---------
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
2026-04-14 09:06:03 +02:00
Copilot
d2b9c724e6
Support legacy EMAIL env var as deprecated fallback for GDPR_EMAIL ( #781 )
...
* Initial plan
* Fix: Support legacy EMAIL env var as fallback for GDPR_EMAIL in privacy policy
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/337248e4-5c7a-4472-ad3b-381e0cd29c96
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* fix stderr logging
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
2026-04-12 23:14:11 +02:00
sstidl
3a7dc31ff2
Implement the new design from #649 ( #694 )
...
* Implement fromScratch design
* Add some documentation
* enable new design in docker (no alpine yet)
* merge fixed docker images
* alpine docker added new design
* fix #685
* Implement fromScratch design
* Add some documentation
* enable new design in docker (no alpine yet)
* alpine docker added new design
* fix #685
* fix database permissions alpine, remove baby
* hide serverselector on only one server
* Update frontend/styling/server-selector.css
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
* fix alpine image again
* adjust settings.json in entrypoint
so env vars are honored
* Update frontend/javascript/index.js
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
* Add feature switch for new design via config file, URL parameters, and Docker (#742 )
* Initial plan
* Add feature switch for new design with config and URL parameter support
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve error handling and prevent infinite redirect loops
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Update Dockerfiles and entrypoint to support design feature switch
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Update design-switch.js
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
* fix: copy actions in entrypoint
* Restructure design switch to place both designs at root level
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Flatten frontend assets in Docker to eliminate frontend directory
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* fix: entrypoint settings & server-list
disable entrypoint bash debug
* add link to modern design
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: sstidl <sstidl@users.noreply.github.com>
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
* add armv7
* reformat
* Add GDPR_EMAIL environment variable for Docker deployments (#743 )
* Initial plan
* Add GDPR_EMAIL environment variable for Docker deployments
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve GDPR_EMAIL handling with proper escaping and loop
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Refine GDPR_EMAIL processing - skip index.html and improve escaping
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Optimize GDPR_EMAIL sed commands and improve escaping
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Clarify sed escaping comment for GDPR_EMAIL
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* cleanup old EMAIL ENV Var
* fix: line break in html prevented sed replacement
* version 6.0.0pre1
* test: add mssql docker compose tests
* Update Speedtest screen recording link in README
* Filter unreachable servers from selector (newdesign UI) (#769 )
* Filter unreachable servers from selector (newdesign UI)
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* keep // servers in list
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix misleading comment
---------
Co-authored-by: Lumi <lumi@openclaw.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
* fix: server.json handling
* Use server-list.json in classic frontend by default
* Add configurable server list URLs to frontend and Docker
---------
Co-authored-by: Timendus <mail@timendus.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
Co-authored-by: Lumi <lumi@openclaw.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-11 23:07:05 +02:00
Tom Hudson
6f1d8c50f1
Fix code review issues: server loading, subdir nav, chart perf
...
- Load server list dynamically from servers.json for Docker frontend/dual modes
- Copy servers.json to web root in entrypoint.sh for frontend/dual modes
- Change back link from href="/" to href="./" for subdirectory installs
- Use binary search for visible chart data range (O(log n) vs O(n))
- Add 200ms minimum interval between pings to limit sample rate
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 18:27:15 -04:00
Tom Hudson
c5f5c30b28
Add internet stability test feature
...
Add a prolonged ping-based stability test with real-time canvas chart,
stats (avg/min/max/jitter/packet loss), stability rating, external ping
targets, CSV export, and Docker support. Link from main page to stability test.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 18:07:20 -04:00
sventec
746824b77d
fix: update docker entrypoint sqlite db matching ( #746 )
...
* fix: update docker entrypoint sqlite db matching
* fixup! fix: update docker entrypoint sqlite db matching
---------
Co-authored-by: sventec <18218761+sventec@users.noreply.github.com>
2026-01-04 13:17:03 +01:00
Copilot
750f043872
Fix critical security vulnerability: Move SQLite database outside webroot ( #738 )
...
* Initial plan
* Fix critical security vulnerability: Move SQLite database outside webroot
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Update documentation to explain secure SQLite database path
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Clarify SQLite database security requirements for different installation scenarios
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve security documentation with web server configuration guidance
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Fix incomplete file path in documentation example
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Clarify that database file is created after first test in verification step
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
2025-12-17 21:45:13 +01:00
sstidl
64e4c3b768
Update docker/entrypoint.sh
...
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
2025-10-18 11:34:14 +02:00
Michael Kanchuker
fd06e94de3
feat: allow to specify obfuscation salt string
2025-10-16 19:58:51 +03:00
Stefan Stidl
c00ad26abe
fix permissions on db file
2024-12-01 22:08:51 +01:00
Stefan S
6406d06a33
fix sqlite in alpine
2024-10-26 17:17:47 +02:00
sstidl
79436f0f0d
Merge pull request #631 from rare-magma/add-alpine-docker-image
...
Add alpine docker image version
2024-08-14 08:02:23 +02:00
sstidl
420be5e72f
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 <info@fdossena.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
2024-08-04 07:06:27 +00:00
rare-magma
611c1a1743
feat: handle alpine configuration
...
Signed-off-by: rare-magma <rare-magma@posteo.eu>
2024-06-02 14:35:47 +02:00
bt90
c2733a478c
Start apache with exec
2024-04-17 20:28:03 +02:00
sstidl
a51b59aa1a
Merge pull request #540 from JoKneeMo/master
...
Add dual mode to enable standalone operation with other test servers
2024-02-07 17:32:25 +01:00
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
JoKneeMo
20f1f46d1f
Docker support for a server that behaves as a standalone frontend AND a backend for another server.
2022-12-11 23:08:46 -05:00
dosse91
2f19331378
Fixed a bug that caused the frontend-only mode to not work properly with telemetry enabled on the docker version
2022-03-08 13:57:30 +01:00
Jeff Bierschbach
4234f5fad3
Add mysql and postgresql settings to docker entrypoint ( #452 )
2021-12-21 13:24:30 +00:00
dosse91
8be8aba5ed
Fixed typo in results/index.php
2021-04-13 10:27:36 +02:00
dosse91
084646d00e
Moved docker stuff into the master branch instead of a separate one
2021-03-25 10:47:40 +01:00