# 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 ```