flowmote-relay
v1.0.1
Published
Flowmote hosted/self-hosted WebSocket relay for pairing, trusted reconnect, and encrypted message forwarding.
Readme
flowmote-relay
Flowmote relay is the transport hop between the mobile app and the Mac bridge.
It does not run Codex, inspect repositories, execute git commands, or decrypt application payloads. Its job is to keep the phone and Mac bridge in the same session room and forward encrypted WebSocket messages.
Endpoints
GET /healthPOST /v1/trusted/session/resolvePOST /v1/pairing/code/resolveWS /relay/{sessionId}
WebSocket clients identify their role with either an x-role header or, for browser clients that cannot set WebSocket headers, a ?role= query parameter:
maciphoneandroidmobile
Mac bridge connections may also send:
x-flowmote-mac-device-idx-flowmote-resolve-tokenx-pairing-codex-pairing-versionx-pairing-expires-at
Those headers let an already trusted mobile client resolve the current live session without scanning a fresh QR.
Hosted deployments also include fixed-window rate limits for HTTP routes, push routes, and WebSocket upgrades. Detailed health can expose relay counts, push state, and runtime pressure metrics.
Local Usage
npm run relay:startEnvironment:
FLOWMOTE_RELAY_HOST=127.0.0.1
FLOWMOTE_RELAY_PORT=9100
FLOWMOTE_RELAY_DETAILED_HEALTH=true
FLOWMOTE_RELAY_TRUST_PROXY=false
FLOWMOTE_ENABLE_PUSH_SERVICE=falseTests
npm run relay:test