Commit graph

15 commits

Author SHA1 Message Date
835d20f734
refactor: rename binaries to helios-remote-{client,relay,cli} 2026-03-06 11:53:00 +01:00
0cf6ab15d9
fix: filter cloaked windows (DwmGetWindowAttribute DWMWA_CLOAKED) to exclude background UWP apps 2026-03-06 02:41:12 +01:00
8a873e4923
fix: compile errors - GetWindowLongA, Win32_System_ProcessStatus feature 2026-03-06 02:11:20 +01:00
0b4a6de8ae
refactor: enforce device labels, unify screenshot, remove deprecated commands, session-id-less design
- Device labels: lowercase, no whitespace, only a-z 0-9 - _ (enforced at config time)
- Session IDs removed: device label is the sole identifier
- Routes changed: /sessions/:id → /devices/:label
- Removed commands: click, type, find-window, wait-for-window, label, old version, server-version
- Renamed: status → version (compares relay/remote.py/client commits)
- Unified screenshot: takes 'screen' or a window label as argument
- Windows listed with human-readable labels (same format as device labels)
- Single instance enforcement via PID lock file
- Removed input.rs (click/type functionality)
- All docs and code in English
- Protocol: Hello.label is now required (String, not Option<String>)
- Client auto-migrates invalid labels on startup
2026-03-06 01:55:28 +01:00
b37eec24bc
fix: emoji column alignment + remove '· exit 0' from success output
- Add unicode-width crate, emoji_cell() pads 1-wide symbols (ℹ, ☀) to 2 cols
- All action/status cells now occupy exactly 2 terminal display columns
- exec success: show only first output line, no trailing '· exit 0'
2026-03-05 20:10:28 +01:00
959a00ff8a
refactor: table-style display with live spinner (🔄/)
- Remove \t-based alignment (fixes emoji spacing inconsistencies)
- New display.rs module: table rows with dynamic terminal-width columns
- Columns: action_emoji | name (14ch) | payload (55%) | status_emoji | result (45%)
- cmd_start() prints 🔄 spinner, cmd_done() overwrites line in-place via ANSI cursor-up
- Payload and result truncated to column width with ellipsis
- Consistent 2-space gaps after every emoji (no tab stops)
- Add terminal_size crate for dynamic width (fallback: 120)
2026-03-05 19:47:39 +01:00
72cf15a6e3
fix(client): enable ANSI processing explicitly for admin/elevated terminals 2026-03-03 15:49:55 +01:00
e0edf60461
feat: prompt command (MessageBox), admin status in banner 2026-03-03 15:44:27 +01:00
672676d3d7
feat: find-window, run, clipboard, label-routing, persistent session-id, exe icon 2026-03-03 15:19:54 +01:00
e32e09996b
feat(client): modern CLI output + Windows exe icon
- 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
2026-03-03 14:02:17 +01:00
1d019fa2b4
client: verbose CLI output, TOML config in APPDATA, desktop install
- install.ps1: place exe on Desktop instead of TEMP, start with visible window
- main.rs: banner on startup, [CMD]/[OK]/[ERR] prefixed logs with HH:MM:SS timestamps
- Config: switch from JSON to TOML (config.toml in %APPDATA%\helios-remote\)
- First-run wizard prompts for Relay URL + API Key (relay_code -> api_key)
- Add chrono + toml deps to Cargo.toml
2026-03-03 13:55:22 +01:00
9f06d84f28
feat: add window management (list, minimize-all, focus, maximize) 2026-03-02 20:00:41 +01:00
c9643c8543
feat: WSS/HTTPS via Caddy TLS - client uses wss://remote.agent-helios.me 2026-03-02 18:45:44 +01:00
04527ae1bf
feat(client): implement Windows client (Phase 2)
- Persistent shell session (cmd.exe) preserving cd state between commands
- Screenshot capture via Windows GDI (BGRA→RGBA→PNG→Base64)
- Mouse click via SendInput with absolute screen coordinates
- Text input via SendInput with Unicode (UTF-16) key events
- Auto-reconnect with exponential backoff (max 30s)
- Config stored in %APPDATA%/helios-remote/config.json
- All Windows APIs under #[cfg(windows)] for cross-compile safety
- CI: add Windows cross-compile job (x86_64-pc-windows-gnu) with artifact upload
2026-03-02 18:32:55 +01:00
7285a33cff
Initial implementation: relay server + common protocol + client stub 2026-03-02 18:03:46 +01:00