Official documentation for the edge geolocation dashboard powered by Cloudflare Workers and client-side IndexedDB — zero signup, zero server storage.
ExploreZero-auth geolocation dashboard powered by Cloudflare Workers and browser IndexedDB — open it and see live edge data in under a minute.
No signup, no server accounts. The dashboard generates a local keypair, probes the edge API, and stores everything in your browser.
Load FlyGeo.html. Status chip shows LIVE when the Worker responds.
Auto-probe runs on load and every 15 s. Map, verdict, and logs update together.
Live Edge Map · Status cards · Local Analytics · Probe Logs · Instant SDK.
Rule: Keep the Worker URL correct in the script — live data and the SDK depend on it.
ECDSA P-256 keypair generated in the browser. No accounts, no server-side identity.
On first load the dashboard creates a public/private keypair and a short recovery phrase. Everything stays in localStorage and IndexedDB.
crypto.subtle creates an ECDSA P-256 pair. Public key is truncated for the header.
First 24 characters of the public key, formatted as xxxx-xxxx-…. Save it or download the JSON backup.
Paste the phrase or upload the backup file to recover the same key on another device.
Rule: The private key never leaves the browser. Treat the recovery phrase like a password.
Single Cloudflare Worker endpoint returns full geolocation + connection telemetry with optional cache status.
The dashboard (and the embeddable SDK) call the same Worker. Response includes country, city, ASN, colo, coordinates, TLS, HTTP protocol, and cache HIT/MISS.
Optional header X-FlyGeo-Key (first 64 chars of public key).
Use country, city, colo, cache, latitude, asOrganization, etc.
HIT vs MISS is surfaced in the UI chips and map status.
Rule: CORS must be enabled on the Worker or the dashboard and SDK will fail.
Leaflet map showing your approximate location and the nearest Cloudflare colo with an animated path between them.
Street, Satellite, and Light base layers. User marker pulses; colo marker uses the Cloudflare edge code.
location_on = you · dns = Cloudflare colo.
Dashed line between user and colo continuously scrolls.
IP, Organization, Timezone, Coordinates, HTTP, TLS, Continent under the map.
Rule: Free Esri / Carto tiles only — no map API key required.
Every probe is stored only in the browser. Zero server storage cost and complete user privacy.
Database name FlyGeoDB, object store probes. Auto-increment ID, newest first when read.
Timestamp, country, city, region, ASN, colo, cache, lat/lon, organization.
Logs table, country bars, session counters, and chart all come from IndexedDB.
One-click clear with confirmation modal. Data never leaves the device.
Rule: Clearing logs or wiping the site data permanently deletes history — there is no server backup.
Chart of the last 40 probes, country distribution bars, and edge session insights — all computed client-side.
Chart.js line chart + simple percentage bars. Session probes, cache hit rate, last colo, and a basic ASN risk label.
Each successful probe pushes a point; oldest points drop after 40.
Top countries from local history with proportional bars.
Session probe count, cache hit %, last colo, ASN risk hint.
Rule: All analytics are derived from IndexedDB — they reset when you clear logs.
Live table of local probes — time, country, city, ASN, cache. Click any row for full detail. Export CSV or JSON.
Newest first. Color-coded cache status. Detail modal shows every stored field.
Time · CC · City · ASN · Cache. Hover and click for detail.
Modal with country, city, region, ASN, colo, cache, coordinates, organization.
CSV / JSON download of full history. Clear button with confirmation.
Rule: Exports contain only what is currently in IndexedDB — no server-side history exists.
One script tag gives any site access to window.FlyGeo and optional country-based redirects.
Drop the script, read geo data anywhere, or let the SDK redirect visitors based on country.
Single script tag. No build step required.
window.FlyGeo exposes country, city, and other fields after load.
Use data-redirect-XX attributes for country-based routing.
Rule: Always point the script src at your own Worker — never hard-code a demo subdomain in production.
Zero server-side user storage, local-only keys, offline detection, and no third-party tracking.
The Worker sees only the request that hits the edge. All history, keys, and analytics live in the browser.
IndexedDB + localStorage. Clear site data and everything is gone.
Private key never leaves the device. Only a truncated public key is optionally sent.
Offline banner appears when connectivity is lost. Dark mode preference is stored locally.
Rule: Never put secrets or private keys in the Worker — the dashboard is designed to keep them client-side only.
Google-clean two-column layout: Live Edge Map + Analytics on the left, Status + Logs + SDK on the right. Fully responsive with mobile bottom nav.
Header chips show LIVE, Cache, Country, and Probe count. Key recovery, dark mode, and refresh are always one click away.
Verdict banner, four stat boxes, info chips, last-probe timer, and action buttons.
Bottom nav (Map · Status · Logs · SDK) + hamburger drawer for key/theme/plans.
Native share or clipboard, plus full CSV/JSON export of local history.
Rule: Desktop stays two-column; mobile collapses to a single column with bottom navigation.