- Replace timestamp-based log macros with colored CLI output system
using the `colored` crate
- Banner on startup: ☀ HELIOS REMOTE + separator line
- Colored prefixes: cyan → (status), green ✓ (ok), red ✗ (error),
yellow ⚡ (incoming commands)
- Session info on connect: ✓ Connected · <label> · Session <id>
- No timestamps, no [CMD]/[OK]/[ERR] prefixes
- Suppress tracing output by default (RUST_LOG=off unless set)
- Add build.rs to embed logo.ico as Windows resource via winres
- Add winres as build-dependency in client Cargo.toml
|
||
|---|---|---|
| .. | ||
| src | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
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
Hellomessage on connect with an optional display label - Handles incoming
ServerMessagecommands:ScreenshotRequest→ captures the primary display (Windows GDI orwindows-capture) and responds with base64 PNGExecRequest→ runs a shell command in a persistentcmd.exe/ PowerShell session and returns stdout/stderr/exit-codeClickRequest→ simulates a mouse click viaSendInputWin32 APITypeRequest→ types text viaSendInput(virtual key events)
- Persistent shell session so
cd C:\Userspersists acrossexeccalls - Auto-reconnect with exponential backoff
- Configurable via environment variables or a
client.tomlconfig 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).