1→# GuruConnect Feature Tracking 2→ 3→## Status Legend 4→- [ ] Not started 5→- [~] In progress 6→- [x] Complete 7→ 8→--- 9→ 10→## Phase 1: Core MVP 11→ 12→### Infrastructure 13→- [x] WebSocket relay server (Axum) 14→- [x] Agent WebSocket client 15→- [x] Protobuf message protocol 16→- [x] Agent authentication (agent_id, api_key) 17→- [x] Session management (create, join, leave) 18→- [x] Systemd service deployment 19→- [x] NPM proxy (connect.azcomputerguru.com) 20→ 21→### Support Codes 22→- [x] Generate 6-digit codes 23→- [x] Code validation API 24→- [x] Code status tracking (pending, connected, completed, cancelled) 25→- [~] Link support codes to agent sessions 26→- [ ] Code expiration (auto-expire after X minutes) 27→- [ ] Support code in agent download URL 28→ 29→### Dashboard 30→- [x] Technician login page 31→- [x] Support tab with code generation 32→- [x] Access tab with connected agents 33→- [ ] Session detail panel with tabs 34→- [ ] Screenshot thumbnails 35→- [ ] Join/Connect button 36→ 37→### Agent (Windows) 38→- [x] DXGI screen capture 39→- [x] GDI fallback capture 40→- [x] WebSocket connection 41→- [x] Config persistence (agent_id) 42→- [ ] Support code parameter 43→- [ ] Hostname/machine info reporting 44→- [ ] Screenshot-only mode (for thumbnails) 45→ 46→--- 47→ 48→## Phase 2: Remote Control 49→ 50→### Screen Viewing 51→- [ ] Web-based viewer (canvas) 52→- [ ] Raw frame decoding 53→- [ ] Dirty rectangle optimization 54→- [ ] Frame rate adaptation 55→ 56→### Input Control 57→- [x] Mouse event handling (agent) 58→- [x] Keyboard event handling (agent) 59→- [ ] Input relay through server 60→- [ ] Multi-monitor support 61→ 62→### Encoding 63→- [ ] VP9 software encoding 64→- [ ] H.264 hardware encoding (NVENC/QSV) 65→- [ ] Adaptive quality based on bandwidth 66→ 67→--- 68→ 69→## Phase 3: Backstage Tools (like ScreenConnect) 70→ 71→### Device Information 72→- [ ] OS version, hostname, domain 73→- [ ] Logged-in user 74→- [ ] Public/private IP addresses 75→- [ ] MAC address 76→- [ ] CPU, RAM, disk info 77→- [ ] Uptime 78→ 79→### Toolbox APIs 80→- [ ] Process list (name, PID, memory) 81→- [ ] Installed software list 82→- [ ] Windows services list 83→- [ ] Event log viewer 84→- [ ] Registry browser 85→ 86→### Remote Commands 87→- [ ] Run shell commands 88→- [ ] PowerShell execution 89→- [ ] Command output streaming 90→- [ ] Command history per session 91→ 92→### Chat/Messaging 93→- [ ] Technician → Client messages 94→- [ ] Client → Technician messages 95→- [ ] Message history 96→ 97→### File Transfer 98→- [ ] Upload files to remote 99→- [ ] Download files from remote 100→- [ ] Progress tracking 101→- [ ] Folder browsing 102→ 103→--- 104→ 105→## Phase 4: Session Management 106→ 107→### Timeline/History 108→- [ ] Connection events 109→- [ ] Session duration tracking 110→- [ ] Guest connection history 111→- [ ] Activity log 112→ 113→### Session Recording 114→- [ ] Record session video 115→- [ ] Playback interface 116→- [ ] Storage management 117→ 118→### Notes 119→- [ ] Per-session notes 120→- [ ] Session tagging 121→ 122→--- 123→ 124→## Phase 5: Access Mode (Unattended) 125→ 126→### Persistent Agent 127→- [ ] Windows service installation 128→- [ ] Auto-start on boot 129→- [ ] Silent/background mode 130→- [ ] Automatic reconnection 131→ 132→### Machine Groups 133→- [ ] Company/client organization 134→- [ ] Site/location grouping 135→- [ ] Custom tags 136→- [ ] Filtering/search 137→ 138→### Installer Builder 139→- [ ] Customized agent builds 140→- [ ] Pre-configured company/site 141→- [ ] Silent install options 142→- [ ] MSI packaging 143→ 144→--- 145→ 146→## Phase 6: Security & Authentication 147→ 148→### Technician Auth 149→- [ ] User accounts 150→- [ ] Password hashing 151→- [ ] JWT tokens 152→- [ ] Session management 153→ 154→### MFA 155→- [ ] TOTP (Google Authenticator) 156→- [ ] Email verification 157→ 158→### Audit Logging 159→- [ ] Login attempts 160→- [ ] Session access 161→- [ ] Command execution 162→- [ ] File transfers 163→ 164→### Permissions 165→- [ ] Role-based access 166→- [ ] Per-client permissions 167→- [ ] Feature restrictions 168→ 169→--- 170→ 171→## Phase 7: Integrations 172→ 173→### PSA Integration 174→- [ ] HaloPSA 175→- [ ] Autotask 176→- [ ] ConnectWise 177→ 178→### GuruRMM Integration 179→- [ ] Dashboard embedding 180→- [ ] Single sign-on 181→- [ ] Asset linking 182→ 183→--- 184→ 185→## Phase 8: Polish 186→ 187→### Branding 188→- [ ] White-label support 189→- [ ] Custom logos 190→- [ ] Custom colors 191→ 192→### Mobile Support 193→- [ ] Responsive viewer 194→- [ ] Touch input handling 195→ 196→### Annotations 197→- [ ] Draw on screen 198→- [ ] Pointer highlighting 199→- [ ] Screenshot annotations 200→ 201→--- 202→ 203→## Current Sprint 204→ 205→### In Progress 206→1. Link support codes to agent sessions 207→2. Show connected status in dashboard 208→ 209→### Next Up 210→1. Support code in agent download/config 211→2. Device info reporting from agent 212→3. Screenshot thumbnails 213→ 214→--- 215→ 216→## Notes 217→ 218→### ScreenConnect Feature Reference (from screenshots) 219→- Support session list with idle times and connection bars 220→- Detail panel with tabbed interface: 221→ - Join/Screen (thumbnail, Join button) 222→ - Info (device details) 223→ - Timeline (connection history) 224→ - Chat (messaging) 225→ - Commands (shell execution) 226→ - Notes 227→ - Toolbox (processes, software, events, services) 228→ - File transfer 229→ - Logs 230→ - Settings 231→ Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.