Link support codes to agent sessions
- 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>
This commit is contained in:
230
TODO.md
Normal file
230
TODO.md
Normal file
@@ -0,0 +1,230 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user