A browser client for Octi, so all your devices stay in reach even when your phone isn't. Pairs with the same end-to-end encrypted sync-server as the Android and desktop apps.
- Pairs with the Octi Android app and Octi Desktop via paste-link or QR.
- Supports the Android modules: clipboard, files, apps, wifi, power, connectivity.
- File share: drag-and-drop upload across all paired devices.
- End-to-end encrypted.
Hungry for details? Check the Octi wiki. Still have questions? Join us on Discord!
The Octi server I host (the one the published Android/Desktop apps talk to) only accepts browser traffic from web.octi.darken.eu. Open that URL in any modern browser and pair via paste-link or QR — your existing Octi account "just works."
A self-hosted copy of Octi Web cannot reach the official server.
A rolling canary build rides every push to main. Visit
web.octi.darken.eu/canary/ if you want the latest
features before they ship to stable. The page shows a banner identifying the channel + the
exact commit it was built from.
Caveats:
- Canary and stable share the same domain but use isolated browser storage. Pairing the canary URL registers a new device on your sync account, separate from the stable one.
- Canary may break, drop data, or change shape without warning. If something looks wrong on canary, fall back to web.octi.darken.eu.
The canary Docker image is ghcr.io/d4rken-org/octi-web:canary (refreshed on every push to
main).
If you run your own octi-server you have
two options: point the hosted SPA at it (no install needed — web.octi.darken.eu is in
octi-server's default CORS allowlist), or run your own copy of the SPA.
Download octi-web-<version>.tar.gz from the
latest release, extract, and
serve with any static host:
tar xzf octi-web-*.tar.gz
python3 -m http.server -d dist 8080
# or: nginx, caddy, GitHub Pages, S3 + CloudFront, …Or run the Docker image:
docker run -p 8080:80 ghcr.io/d4rken-org/octi-web:latestA browser SPA can only reach the sync-server if the server allows the SPA's origin.
Default allowlist (no flag needed):
https://web.octi.darken.euhttps://d4rken.github.iohttps://d4rken-org.github.io
To add your own origin (e.g. local dev), override via --cors-allowed-origins
(replaces the defaults):
./bin/octi-server --datapath=./octi-data \
--cors-allowed-origins=https://web.octi.darken.eu,http://localhost:5173Requires octi-server with the CORS plugin
(d4rken-org/octi-server#22).
Browsers block HTTPS pages from talking to plain HTTP servers. If your sync-server is
HTTP-only (LAN setup), serve your own SPA over HTTP on the same network — the public
web.octi.darken.eu is HTTPS and can only reach HTTPS sync-servers.
- Octi — the Android app.
- Octi Server — the end-to-end encrypted sync-server.
- Octi Web — this browser client.
- Octi Desktop — Compose Multiplatform desktop client (Linux / macOS / Windows).
Octi Web's code is available under a GPL v3 license, this excludes:
- Octi icons, logos, mascots, marketing materials and assets.
- Octi animations and videos.
- Octi documentation.
- Translations.
