Summary
Automatically detect and display the user's ISP name, public IP (masked), and connection type without requiring manual setup.
Current state
The Cloudflare Worker endpoint returns edge location (IATA code), but doesn't return ISP/ASN info.
Proposed
After each test, show:
🌐 ISP: BSNL (AS9829)
📍 Edge: Chennai (MAA)
🔗 Connection: IPv4
📶 Type: Fiber/DSL/Cable/Cellular
How to detect
- ISP Name: Cloudflare Worker has access to
request.cf.asOrganization and request.cf.asn — return these in the /health or new /info endpoint
- Connection type:
navigator.connection.type and navigator.connection.effectiveType (available in Chromium browsers)
- IP version: Already detected via
detectIpFamily() in background.ts
- Public IP: Return from Worker (show masked:
49.xxx.xxx.12 for privacy)
Why
- Users want to confirm they're on the right network
- ISP name auto-detection removes the need for manual ISP selection
- Shows technical credibility ("it knows my ISP!")
- Useful for debugging: "Am I on WiFi or accidentally on mobile hotspot?"
- Data can auto-populate ISP plan comparison feature
Implementation
- Extend Cloudflare Worker
/health response with cf.asOrganization, cf.asn, cf.country
- Add
navigator.connection data to test results
- Display in popup footer or side panel header
- Store in history entries for per-ISP analysis
Summary
Automatically detect and display the user's ISP name, public IP (masked), and connection type without requiring manual setup.
Current state
The Cloudflare Worker endpoint returns edge location (IATA code), but doesn't return ISP/ASN info.
Proposed
After each test, show:
How to detect
request.cf.asOrganizationandrequest.cf.asn— return these in the/healthor new/infoendpointnavigator.connection.typeandnavigator.connection.effectiveType(available in Chromium browsers)detectIpFamily()inbackground.ts49.xxx.xxx.12for privacy)Why
Implementation
/healthresponse withcf.asOrganization,cf.asn,cf.countrynavigator.connectiondata to test results