Provider is derived from the public client IP seen through your reverse proxy.
Logs
Stats
Quick carrier rankings first. Open the detailed sections only when you need them.
Network Performance
Historical TrendsTimeline charts and date-range analysisOpen
Carrier ScorecardsGaming, streaming, video and overall qualityOpen
City / Region DashboardWhere each network performs bestOpen
Dead-Zone AlertsWeak and failed coverage areasOpen
Drive SessionsRoutes, replays and exportsOpen
Tools
⚡Quick DiagnosticsPing, DNS, and HTTP latency
Ready.
Ready.
Ready.
⌘Network & IPAddressing, subnets, latency, ports, and registration
✉DNS & MailDNS comparison, mail authentication, and DMARC
◎Web & ConnectivityHTTP, URLs, webhooks, sockets, WebRTC, and sharing
>Developer & DataEncoding, JSON/YAML, diff, regex, time, UUIDs, cron, and paint
⚿Security & IdentityJWT, TOTP/2FA, passwords, and accessibility contrast
More
Utilities, preferences, and administration live here so the primary bar stays clean.
Settings
Coverage Lab records the public client IP, ASN and detected network provider on each test. The optional SIM/carrier label above is separate metadata for MVNOs or cases where the public ASN name differs from the retail carrier.
SSL terminates at NPM. Coverage Lab listens on plain HTTP port 8088 internally and trusts forwarded client IP information only through the configured NPM proxy address.
Checking admin status...
Delete results, Speedtest.net imports, and app updates are locked until an admin signs in. On the first login, use the Coverage Lab update key as the admin password; you can change it here afterward.
Install the PWA for a full-screen, home-screen field-testing experience.
Speedtest.net Results
Import one or more Speedtest.net/Ookla CSV exports. Coverage Lab recognizes the mobile/app export format, restores exact speeds in Kbps correctly, and preserves connection type/details, GPS, test server, public/internal IP, transfer byte counts, VPN flag, carrier/radio details and other recognized fields.
Speedtest exports do not always contain GPS coordinates. Results without coordinates are saved in history but cannot appear on the coverage map.
Used only when a CSV row does not include the field.
v0.2.6 repair notice: the arithmetic repair could reduce already-misread high Download/Upload values to nearly zero. Do not run that repair again. Select your original Ookla export CSV files above and use Import / Restore. v0.3.0 matches existing tests by date, GPS, ping, test server and public IP even when the old speed value is 0.0, then restores the exact export values and additional metadata in place.
If the CSV contains a Share or Result URL, Coverage Lab stores it and shows a link in Results. The imported result stays tagged as Speedtest.net instead of being mixed up with your self-hosted LibreSpeed tests.
App Updates
If an update is installed but you want to return to an earlier release, choose it below. Failed startup validation automatically rolls back to the previous release.
Uploaded packages are checksum-validated, path-validated and Python-compiled before activation. App-only updates work here. A rare runtime/container dependency change may still require a full package upgrade.