helios-remote/crates/client
2026-03-03 14:59:09 +01:00
..
src fix(client): use powershell -NoProfile as executor to prevent $PROFILE clear 2026-03-03 14:59:09 +01:00
build.rs feat: commit hash in banner, version command, file upload/download 2026-03-03 14:29:22 +01:00
Cargo.toml feat(client): modern CLI output + Windows exe icon 2026-03-03 14:02:17 +01:00
README.md Add logo assets and update README 2026-03-02 18:16:05 +01:00

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

App Icon

The file assets/logo.ico in the repository root is the application icon intended for the Windows .exe. It can be embedded at compile time using a build script (e.g. via the winres crate).