How Helm works
Two programs, one encrypted connection.
Helm has two parts:
- The PC agent (Rust) — runs on your PC and does the actual work: launching apps, injecting input, capturing the screen, reading media and system state.
- The Android app (Kotlin + Jetpack Compose) — the controls you hold.
The connection
Android app ──(mDNS: _helm._tcp)──▶ finds PC
──(scan QR: address + certificate fingerprint + one-time token)──▶ pairs
──(WebSocket over TLS, certificate pinned, device key signs a challenge)──▶ PC agent- The agent listens on port
47820(or the next free port, which it advertises). - Commands are small JSON messages; touchpad motion uses fire-and-forget frames so it never waits.
- The live screen uses a second authenticated socket that carries H.264 video and Opus audio.