FlyGeo Zero-Auth Geolocation

Official documentation for the edge geolocation dashboard powered by Cloudflare Workers and client-side IndexedDB — zero signup, zero server storage.

Explore

01 GUIDE

Start with FlyGeo

Zero-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.

1

Open the dashboard

Load FlyGeo.html. Status chip shows LIVE when the Worker responds.

2

Watch the first probe

Auto-probe runs on load and every 15 s. Map, verdict, and logs update together.

3

Explore the UI

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.

Start FlyGeo

02 GUIDE

Zero-Auth Keys

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.

1

Auto-generate

crypto.subtle creates an ECDSA P-256 pair. Public key is truncated for the header.

2

Recovery phrase

First 24 characters of the public key, formatted as xxxx-xxxx-…. Save it or download the JSON backup.

3

Restore

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.

Zero-Auth Keys

03 GUIDE

Edge API

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.

GET https://flygeo.mmunasinghesos.workers.dev
1

Call the Worker

Optional header X-FlyGeo-Key (first 64 chars of public key).

2

Parse JSON

Use country, city, colo, cache, latitude, asOrganization, etc.

3

Cache awareness

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.

Edge API

04 GUIDE

Live Edge Map

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.

1

Markers

location_on = you · dns = Cloudflare colo.

2

Animated path

Dashed line between user and colo continuously scrolls.

3

Extra cards

IP, Organization, Timezone, Coordinates, HTTP, TLS, Continent under the map.

Rule: Free Esri / Carto tiles only — no map API key required.

Live Edge Map

05 GUIDE

Local IndexedDB

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.

1

Save on every probe

Timestamp, country, city, region, ASN, colo, cache, lat/lon, organization.

2

Read for UI

Logs table, country bars, session counters, and chart all come from IndexedDB.

3

Clear anytime

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.

Local IndexedDB

06 GUIDE

Local Analytics

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.

1

Probe timeline

Each successful probe pushes a point; oldest points drop after 40.

2

Country bars

Top countries from local history with proportional bars.

3

Session insights

Session probe count, cache hit %, last colo, ASN risk hint.

Rule: All analytics are derived from IndexedDB — they reset when you clear logs.

Local Analytics

07 GUIDE

Logs & Export

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.

1

Read the stream

Time · CC · City · ASN · Cache. Hover and click for detail.

2

Drill-down

Modal with country, city, region, ASN, colo, cache, coordinates, organization.

3

Export & clear

CSV / JSON download of full history. Clear button with confirmation.

Rule: Exports contain only what is currently in IndexedDB — no server-side history exists.

Logs & Export

08 GUIDE

Instant SDK

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.

<script src="https://flygeo.mmunasinghesos.workers.dev/sdk.js"></script>
console.log(window.FlyGeo.country, window.FlyGeo.city);
1

Embed

Single script tag. No build step required.

2

Read geo

window.FlyGeo exposes country, city, and other fields after load.

3

Dynamic redirects

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.

Instant SDK

09 GUIDE

Privacy & Security

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.

1

Local-only data

IndexedDB + localStorage. Clear site data and everything is gone.

2

Key isolation

Private key never leaves the device. Only a truncated public key is optionally sent.

3

Offline & theme

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.

Privacy & Security

10 GUIDE

Dashboard Overview

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.

1

Status panel

Verdict banner, four stat boxes, info chips, last-probe timer, and action buttons.

2

Mobile experience

Bottom nav (Map · Status · Logs · SDK) + hamburger drawer for key/theme/plans.

3

Share & export

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.

Dashboard Overview