docs: centralize device connection guides, add private relay docs

- new Connect a Device page: one-time QR pairing, transport choices, device management
- new Private Relay page: E2EE guarantees, demand-driven lifecycle, relay vs tunnel
- rewrite mobile page around the native iOS/Android apps (TestFlight + APK)
- update remote-instances, security, tunnels, and remote-access troubleshooting to point at the new pairing flow
- translate everything across all 8 locales and update the sidebar
This commit is contained in:
Bohdan Triapitsyn
2026-07-10 15:30:50 +03:00
parent b3fa19fe3e
commit 7ea974d89b
64 changed files with 1452 additions and 190 deletions
@@ -0,0 +1,56 @@
---
title: Connect a Device
description: Pair your phone, desktop, or another browser with your OpenChamber server using a one-time QR code.
---
# Connect a Device
Pair another device — the mobile app, the desktop app, or a browser on another machine — with your OpenChamber server by scanning a one-time QR code. This is the recommended way to connect devices; there are no ports to open and no addresses to type.
## Pair a device
1. On the machine running OpenChamber, open **Settings → Remote Instances → Connect to this server** and press **Add a device**.
2. Give the device a name (e.g. *My iPhone*) so you can recognize it later.
3. Pick where you'll use the device:
- **This computer only** — for apps running on this same machine
- **Home network only** — connects directly over your Wi-Fi; does not work away from this network
- **Anywhere** — works at home and away; away traffic goes through the [Private Relay](/private-relay/), an end-to-end encrypted tunnel with no setup needed
4. Press **Create QR code**.
5. On the other device, scan the code:
- **mobile app** — tap **Scan QR code** on the connect screen (or in the instances list)
- **desktop app** — copy the connection link instead and paste it in **Settings → Remote Instances → Other OpenChamber servers → Import Link**
The dialog closes on its own as soon as the device connects, and the device appears in the list with a live status. That's it — you're paired.
## How pairing stays safe
- **The QR code is single-use.** It stops working the moment a device redeems it, and it expires on its own if never used.
- **Each device gets its own token.** Scanning a code never exposes your UI password, and one device's token can't be used to impersonate another.
- **You stay in control.** Every paired device is listed with its name, platform, and connection status — revoke any of them at any time.
- **Away-from-home traffic is end-to-end encrypted.** With **Anywhere**, traffic outside your network rides the [Private Relay](/private-relay/), which cannot read what passes through it.
## Manage paired devices
**Settings → Remote Instances → Connect to this server** lists every device that can reach this server, with a green dot when it's online and whether it's connected over the local network or the relay.
- **Revoke** cuts a device off immediately. Pair it again with a new QR code if you change your mind.
- **Clear revoked** tidies up the list.
The same physical device keeps one entry even if it signs in again later — you won't collect duplicates.
## Connect from the command line
If the server runs headless (no UI open), create a connection link from a terminal on that machine:
```bash
openchamber connect-url --port 3000 --qr
```
The printed link and QR code work exactly like the ones from the settings dialog.
## Related
- [Private Relay](/private-relay/) — how "Anywhere" connections work and what the relay can and cannot see
- [Mobile Apps](/mobile/) — install the iOS or Android app
- [Remote Instances](/remote-instances/) — connect the desktop app to servers over SSH or links
- [Remote access](/troubleshooting/remote-access/) — when a device won't connect