HTML JavaScript PHP
Permalink
Failed to load latest commit information.
.editorconfig improvements and new example (#29) May 15, 2017
.gitignore Added customizable grace time at beginning of tests; GET parameters c… Jun 16, 2017
README.md Fixed wrong date in README.md Feb 17, 2018
doc.md Fixed wrong date in doc.md Feb 17, 2018
empty.php Improved ping/jitter test Jun 14, 2017
example-basic.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
example-chart.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
example-customSettings.html Added ISP info in getIP.php; Fixed a bug that could leave an aborted … Feb 9, 2018
example-customSettings2.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
example-gauges.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
example-pretty.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
example-progressBar.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
example-telemetryEnabled.html Ping test can now use timing from Performance API; New examples; Mino… Oct 30, 2017
garbage.php Fixed typo in garbage.php Sep 5, 2017
getIP.php Remove prefix on IPv6-mapped IPv4 (#109) Feb 17, 2018
speedtest_worker.js Added ISP info in getIP.php; Fixed a bug that could leave an aborted … Feb 9, 2018
speedtest_worker.min.js Added ISP info in getIP.php; Fixed a bug that could leave an aborted … Feb 9, 2018
telemetry.php Fixed telemetry error if HTTP_ACCEPT_LANGUAGE is not specified Feb 2, 2018
telemetry_mysql.sql Added postgresql database schema (#91) Nov 7, 2017
telemetry_postgresql.sql Fixed postgresql schema typo (#93) Nov 9, 2017
telemetry_settings.php Changed default db type to mysql Nov 7, 2017

README.md

HTML5 Speedtest

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

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

Try it

Take a Speedtest

Compatibility

Only modern browsers are supported (IE11, latest Edge, latest Chrome, latest Firefox, latest Safari)

Features

  • Download
  • Upload
  • Ping
  • Jitter
  • IP Address
  • Telemetry (optional)

Requirements

  • A reasonably fast web server with PHP (see doc.md for details and use without PHP)
  • Your server must accept large POST requests (up to 20 Megabytes), otherwise the upload test will fail
  • It's also better if your server does not use compression, but it's not mandatory

Quick installation videos

Also, here's an example config on Ubuntu 16 LTS

How to use in your site

See the examples or doc.md

Docker

Please see the docker branch

Donate

If you want to support this project, you can send a donation via PayPal.

License

Copyright (C) 2016-2018 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.