Skip to content

rajeshsub/netprobe

Repository files navigation

Netprobe

Because "speed" doesn't explain the lag.

Netprobe runs a comprehensive connection test in your browser — no app, no server, no account. It measures what actually matters for a real internet connection: not just raw speed, but latency, jitter, and buffer bloat.

Test it live now: https://rajeshsub.github.io/netprobe/

Netprobe screenshot


What it measures

Metric What it tells you
Download speed How fast data arrives at your device
Upload speed How fast your device sends data
Latency Round-trip time to your nearest server
Jitter How consistent your latency is
Buffer bloat How much does your connection struggle under load

Buffer bloat is graded A–F. An A means your latency barely changes during a download. An F means your connection is unusable for calls, gaming, or anything interactive while someone else is downloading.


How it works

  1. Finds your nearest M-Lab server via the NDT7 locate API
  2. Runs a full download + upload test against that server (your headline speed)
  3. Simultaneously fires HTTP pings during the download to measure buffer bloat in real time
  4. Runs the same download + upload test in parallel against 5 fixed global regions (US East, US West, EU West, Asia East, Oceania)
  5. Shows per-region results and an averaged headline

Everything runs in the browser. No data is collected, stored or shared by netprobe!


Sharing results

When a test completes, the URL updates automatically. The results are encoded directly in the hash fragment of the URL, so no server storage is involved. The recipient's browser reads the hash and renders the results locally.


Development

npm install
npm run dev       # local dev server
npm test          # run tests
npm run build     # production build

Copy .env.example to .env before running locally. All configuration is via environment variables — no hardcoded URLs.


Stack

  • Svelte 5 + Vite — compiled, no runtime framework overhead
  • M-Lab NDT7 — open measurement infrastructure
  • uPlot — lightweight real-time charting
  • Vitest — unit tests for all core logic modules

About

A TypeScript, Svelte and Vite based client side network quality assessment tool. Measures buffer bloat, bandwidth speeds, jitter and latency.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors