- Server: Accept support_code param in WebSocket connection - Server: Link code to session when agent connects, mark as connected - Server: Mark code as completed when agent disconnects - Agent: Accept support code from command line argument - Agent: Send hostname and support_code in WebSocket params - Portal: Trigger agent download with code in filename - Portal: Show code reminder in download instructions - Dashboard: Add machines list fetching (Access tab) - Add TODO.md for feature tracking 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
231 lines
4.6 KiB
Markdown
231 lines
4.6 KiB
Markdown
# 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
|