Location links
Most callers will not have Kaaka Sensors. The reply SMS can carry a link that shares their location from any phone browser, with no app.
How it works
- Kaaka Call gives every call a random token and reports it with the call. When it knows a public URL, the reply ends with
Share your location: https://<public-url>/l/<token>. - The caller opens the link and taps Share my location. The browser's GPS position is posted to the control room.
- While the page stays open it sends an update every 15 seconds ("Sharing live location · N updates") until the caller taps Stop sharing, so a moving caller leaves a trail on the map.
- The location shows on the caller's incident with a Google Maps link, and triggers the nearest-responder dispatch.
Links expire after 24 hours. The server accepts at most one update per link every 10 seconds. The link page and the location endpoint are the only public parts of the control room; everything else stays behind the admin token.
Setup
Browsers only share location on https pages, so the control room must be reachable at a public https address.
- Set an admin token on the server. The server refuses to start with a public URL and no token (only
--allow-unprotected-publicoverrides this, for throwaway tests). - Get an https address. For a quick test:
scripts/public-url.shopens a Cloudflare quick tunnel (brew install cloudflared) and prints the URL and the next commands. The address changes on every run. For something permanent use a named tunnel, a reverse proxy with a certificate, or a hosted server. See Running in production. - Restart the server with
KAAKA_PUBLIC_URL=<url> KAAKA_ADMIN_TOKEN=<token>. - In Kaaka Call set the same dashboard token. The phone learns the public URL from the next heartbeat reply within a minute and shows it as "auto: …" under the public link URL field. Set that field yourself only to pin a different address.
Kaaka Call warns if the URL is not https, because the link would not work.
Kaaka 1.0.0 · Edit this page · In immediate danger, call 112.