SpeedTest Cloud Terminal speedtest.cloud
[ OK ] SpeedTest Cloud Terminal v0.1.0
[ OK ] Loaded 4 providers
[ OK ] Browser APIs: WebSocket, Fetch, Clipboard
[ OK ] Ready.
How It Works
visitor@speedtest.cloud:~$ cat /how-it-works

Tests run entirely in your browser using browser-native APIs. A pure command layer parses input while a React terminal renders output. Nothing is sent to any backend we operate. No accounts, no persistence. M-Lab NDT7 publishes its measurements as open data (you accepted this data policy by running the test).

Tech Stack
visitor@speedtest.cloud:~$ cat /etc/system-info
┌──────────────┬────────────────────┬─────────────────────────────────┐
│ Component    │ Technology         │ Role                            │
├──────────────┼────────────────────┼─────────────────────────────────┤
│ Frontend     │ React 19           │ UI rendering                    │
│ Build        │ Vite 8             │ Bundling and dev server         │
│ Language     │ TypeScript 6       │ Type safety                     │
│ Styling      │ Tailwind CSS v4    │ Utility-first CSS               │
│ Speed Engine │ M-Lab NDT7         │ WebSocket speed measurement     │
│ Self-hosted  │ LibreSpeed         │ Optional self-hosted engine     │
│ Enterprise   │ FortiSASE          │ FortiSASE speed endpoints       │
└──────────────┴────────────────────┴─────────────────────────────────┘
Providers
visitor@speedtest.cloud:~$ cat /etc/providers.conf
M-Lab NDT7 (default)
WebSocket-based open measurement platform.
Measurements published as open data.
LibreSpeed
Self-hosted speed test engine.
Requires a CORS-enabled server you configure.
FortiSASE
Enterprise-grade speed testing via FortiSASE.
Uses speed.fortisase.com regional endpoints.
FortiSASE Local
Local runner bypassing CORS via SSE.
Available via npm run fortisase:local (Node.js) or Swift macOS helper.
Command Reference
visitor@speedtest.cloud:~$ man -k .
about -- About this terminal, how it works, and disclaimer cancel -- Cancel a running speed test (or press Ctrl-C) clear -- Clear the screen and reset session results disclaimer -- Show the warranty + affiliation disclaimer export -- Copy your latest result to the clipboard help -- Show help text for all commands history -- Show speed-test results from this session ipinfo -- Show your public IP and approximate location man -- Show the manual page for a command provider -- Show or set the active provider providers -- List available speed-test providers speedtest -- Run a speed test stats -- Session summary: best/avg/worst download, upload, latency watch -- Repeat a speed test on an interval until Ctrl-C
Keyboard Shortcuts
visitor@speedtest.cloud:~$ stty -a
Tab Auto-complete commands and arguments
Enter Execute command
Up/Down Navigate command history
Ctrl-C Cancel running test / stop watch loop
Privacy and Data
visitor@speedtest.cloud:~$ cat /privacy
Frequently Asked Questions
$ Why are results different from Speedtest.net?
> Different test servers, protocols, and timing produce different results.
> Browser-based tests may also differ from native clients due to connection
> handling. For consistent results, use the same provider each time.
$ Is my data private?
> Yes. We do not collect, store, or transmit any data. Tests run in your
> browser. M-Lab publishes anonymized measurements as open data.
$ Why does LibreSpeed say "not configured"?
> LibreSpeed requires a self-hosted, CORS-enabled server. The app ships
> unconfigured. Add your server to the appropriate source file.
$ Can I use this on mobile?
> Yes. The terminal adapts to mobile viewports. Touch to focus the input.
$ What internet speed do I need?
> The FCC recommends 25 Mbps download / 3 Mbps upload for basic use.
> See: FCC Broadband Speed Guide
$ Is this open source?
> The project is available at github.com/thepingdoctor/speedtest-term.
> Contributions and issues are welcome.
Bookmarks
visitor@speedtest.cloud:~$ cat /bookmarks
https://www.measurementlab.net/ Open internet measurement platform.
https://www.internetsociety.org/ Internet advocacy and policy.
https://web.dev/articles/vitals Core Web Vitals guide.

Disclaimer

Provided AS IS, without warranty of any kind, express or implied.

No guarantees of accuracy, availability, or fitness for any purpose.

Use at your own risk.

Not affiliated with Ookla, Speedtest.net, speedtest-cli, M-Lab NDT7, Fortinet, or LibreSpeed. All trademarks belong to their respective owners.

The ipinfo command queries a third-party endpoint (Cloudflare) that will see your IP address.

$ launch speedtest →