Navigate:
speedtest
~$SPEED0.5%

LibreSpeed: Self-hosted internet speed testing

Measure bandwidth, latency, and packet loss via Cloudflare's edge network.

LIVE RANKINGS • 02:15 PM • STEADY
OVERALL
#107
214
NETWORKING
#8
8
30 DAY RANKING TREND
ovr#107
·Netwo#8
STARS
14.2K
FORKS
2.4K
7D STARS
+70
7D FORKS
+1
See Repo:
Share:

Learn more about speedtest

This is a JavaScript library for measuring client internet connection quality through network performance testing. It works by executing test requests against Cloudflare's edge infrastructure and extracting timing data via the PerformanceResourceTiming browser API. The module characterizes connections across multiple dimensions: download and upload bandwidth, latency measurements including loaded latency during active transfers, and packet loss detection through TURN server connections. Results are collected by Cloudflare for aggregated network quality insights.

speedtest

1

Distributed Edge Testing

Measures performance against Cloudflare's global edge network instead of centralized servers. Provides geographically accurate results that reflect actual user experience from the client's location.

2

Loaded Latency Measurement

Captures latency during active download and upload operations, not just idle connections. Reveals real-world performance degradation under network load with configurable measurement intervals.

3

Configurable Test Parameters

Customize test duration, server selection, parallel streams, and measurement protocols. Tailor tests to specific network conditions or compliance requirements beyond default speed checks.


const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const dnsTime = entry.domainLookupEnd - entry.domainLookupStart;
    console.log(`DNS lookup: ${dnsTime}ms`);
  });
});

observer.observe({ entryTypes: ['resource'] });

vv5.5.1

update docker entrypoint sqlite db matching

  • fix: update docker entrypoint sqlite db matching by @sventec in
  • Prepare 5.5.1 hotfix release by @Copilot in
  • @sventec made their first contribution in
vv6.0.0-pre1

New design is here, thanks to @Timendus for implementing it. #649

  • the new design is ready (after 2 years;-) )
  • Add feature switch for new design via config file, URL parameters, and Docker by @Copilot in
  • Add GDPR_EMAIL environment variable for Docker deployments by @Copilot in
v5.5.0

Version 5.5.0

  • Add alpine docker image version by @rare-magma in
  • docs: add alpine info by @rare-magma in
  • fix ipinfo-db with old versions of PHP by @IRainman in
  • Using of the modern JS by @IRainman in
  • add MariaDB to README.md by @robertsilen in


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers