# GuruConnect Feature Tracking ## Status Legend - [ ] Not started - [~] In progress - [x] Complete --- ## Phase 1: Core MVP ### Infrastructure - [x] WebSocket relay server (Axum) - [x] Agent WebSocket client - [x] Protobuf message protocol - [x] Agent authentication (agent_id, api_key) - [x] Session management (create, join, leave) - [x] Systemd service deployment - [x] NPM proxy (connect.azcomputerguru.com) ### Support Codes - [x] Generate 6-digit codes - [x] Code validation API - [x] Code status tracking (pending, connected, completed, cancelled) - [~] Link support codes to agent sessions - [ ] Code expiration (auto-expire after X minutes) - [ ] Support code in agent download URL ### Dashboard - [x] Technician login page - [x] Support tab with code generation - [x] Access tab with connected agents - [ ] Session detail panel with tabs - [ ] Screenshot thumbnails - [ ] Join/Connect button ### Agent (Windows) - [x] DXGI screen capture - [x] GDI fallback capture - [x] WebSocket connection - [x] Config persistence (agent_id) - [ ] Support code parameter - [ ] Hostname/machine info reporting - [ ] Screenshot-only mode (for thumbnails) --- ## Phase 2: Remote Control ### Screen Viewing - [ ] Web-based viewer (canvas) - [ ] Raw frame decoding - [ ] Dirty rectangle optimization - [ ] Frame rate adaptation ### Input Control - [x] Mouse event handling (agent) - [x] Keyboard event handling (agent) - [ ] Input relay through server - [ ] Multi-monitor support ### Encoding - [ ] VP9 software encoding - [ ] H.264 hardware encoding (NVENC/QSV) - [ ] Adaptive quality based on bandwidth --- ## Phase 3: Backstage Tools (like ScreenConnect) ### Device Information - [ ] OS version, hostname, domain - [ ] Logged-in user - [ ] Public/private IP addresses - [ ] MAC address - [ ] CPU, RAM, disk info - [ ] Uptime ### Toolbox APIs - [ ] Process list (name, PID, memory) - [ ] Installed software list - [ ] Windows services list - [ ] Event log viewer - [ ] Registry browser ### Remote Commands - [ ] Run shell commands - [ ] PowerShell execution - [ ] Command output streaming - [ ] Command history per session ### Chat/Messaging - [ ] Technician → Client messages - [ ] Client → Technician messages - [ ] Message history ### File Transfer - [ ] Upload files to remote - [ ] Download files from remote - [ ] Progress tracking - [ ] Folder browsing --- ## Phase 4: Session Management ### Timeline/History - [ ] Connection events - [ ] Session duration tracking - [ ] Guest connection history - [ ] Activity log ### Session Recording - [ ] Record session video - [ ] Playback interface - [ ] Storage management ### Notes - [ ] Per-session notes - [ ] Session tagging --- ## Phase 5: Access Mode (Unattended) ### Persistent Agent - [ ] Windows service installation - [ ] Auto-start on boot - [ ] Silent/background mode - [ ] Automatic reconnection ### Machine Groups - [ ] Company/client organization - [ ] Site/location grouping - [ ] Custom tags - [ ] Filtering/search ### Installer Builder - [ ] Customized agent builds - [ ] Pre-configured company/site - [ ] Silent install options - [ ] MSI packaging --- ## Phase 6: Security & Authentication ### Technician Auth - [ ] User accounts - [ ] Password hashing - [ ] JWT tokens - [ ] Session management ### MFA - [ ] TOTP (Google Authenticator) - [ ] Email verification ### Audit Logging - [ ] Login attempts - [ ] Session access - [ ] Command execution - [ ] File transfers ### Permissions - [ ] Role-based access - [ ] Per-client permissions - [ ] Feature restrictions --- ## Phase 7: Integrations ### PSA Integration - [ ] HaloPSA - [ ] Autotask - [ ] ConnectWise ### GuruRMM Integration - [ ] Dashboard embedding - [ ] Single sign-on - [ ] Asset linking --- ## Phase 8: Polish ### Branding - [ ] White-label support - [ ] Custom logos - [ ] Custom colors ### Mobile Support - [ ] Responsive viewer - [ ] Touch input handling ### Annotations - [ ] Draw on screen - [ ] Pointer highlighting - [ ] Screenshot annotations --- ## Current Sprint ### In Progress 1. Link support codes to agent sessions 2. Show connected status in dashboard ### Next Up 1. Support code in agent download/config 2. Device info reporting from agent 3. Screenshot thumbnails --- ## Notes ### ScreenConnect Feature Reference (from screenshots) - Support session list with idle times and connection bars - Detail panel with tabbed interface: - Join/Screen (thumbnail, Join button) - Info (device details) - Timeline (connection history) - Chat (messaging) - Commands (shell execution) - Notes - Toolbox (processes, software, events, services) - File transfer - Logs - Settings