- 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>
4.6 KiB
4.6 KiB
GuruConnect Feature Tracking
Status Legend
- Not started
- [~] In progress
- Complete
Phase 1: Core MVP
Infrastructure
- WebSocket relay server (Axum)
- Agent WebSocket client
- Protobuf message protocol
- Agent authentication (agent_id, api_key)
- Session management (create, join, leave)
- Systemd service deployment
- NPM proxy (connect.azcomputerguru.com)
Support Codes
- Generate 6-digit codes
- Code validation API
- 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
- Technician login page
- Support tab with code generation
- Access tab with connected agents
- Session detail panel with tabs
- Screenshot thumbnails
- Join/Connect button
Agent (Windows)
- DXGI screen capture
- GDI fallback capture
- WebSocket connection
- 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
- Mouse event handling (agent)
- 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
- Link support codes to agent sessions
- Show connected status in dashboard
Next Up
- Support code in agent download/config
- Device info reporting from agent
- 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