helios-client (Phase 2 — not yet implemented)
This crate will contain the Windows remote-control client for helios-remote.
Planned Features
- Connects to the relay server via WebSocket (
wss://)
- Sends a
Hello message on connect with an optional display label
- Handles incoming
ServerMessage commands:
ScreenshotRequest → captures the primary display (Windows GDI or windows-capture) and responds with base64 PNG
ExecRequest → runs a shell command in a persistent cmd.exe / PowerShell session and returns stdout/stderr/exit-code
ClickRequest → simulates a mouse click via SendInput Win32 API
TypeRequest → types text via SendInput (virtual key events)
- Persistent shell session so
cd C:\Users persists across exec calls
- Auto-reconnect with exponential backoff
- Configurable via environment variables or a
client.toml config file
Planned Tech Stack
| Crate |
Purpose |
tokio |
Async runtime |
tokio-tungstenite |
WebSocket client |
serde_json |
Protocol serialization |
windows / winapi |
Screen capture, mouse/keyboard input |
base64 |
PNG encoding for screenshots |
Build Target
cargo build --target x86_64-pc-windows-gnu