Files
guru-connect/TODO.md
Mike Swanson 1d2ca47771 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>
2025-12-28 14:11:52 -07:00

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

  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