- WebSocket relay service (FastAPI) bridges agents and viewers - Python agent with screen capture (mss), input control (pynput), script execution, and auto-reconnect - Windows service wrapper, PyInstaller spec, NSIS installer for silent mass deployment (RemoteLink-Setup.exe /S /SERVER= /ENROLL=) - Enrollment token system: admin generates tokens, agents self-register - Real WebSocket viewer replaces simulated canvas - Linux agent binary served from /downloads/remotelink-agent-linux - DB migration 0002: viewer_token on sessions, enrollment_tokens table - Sign-up pages cleaned up (invite-only redirect) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
701 B
SQL
20 lines
701 B
SQL
-- Migration 0002: relay support
|
|
-- Adds viewer_token to sessions and enrollment_tokens table
|
|
|
|
ALTER TABLE sessions
|
|
ADD COLUMN IF NOT EXISTS viewer_token UUID DEFAULT gen_random_uuid();
|
|
|
|
CREATE TABLE IF NOT EXISTS enrollment_tokens (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
token UUID UNIQUE NOT NULL DEFAULT gen_random_uuid(),
|
|
label TEXT,
|
|
created_by UUID REFERENCES users(id) ON DELETE SET NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
expires_at TIMESTAMPTZ,
|
|
used_count INTEGER NOT NULL DEFAULT 0,
|
|
max_uses INTEGER,
|
|
revoked_at TIMESTAMPTZ
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_enrollment_tokens_token ON enrollment_tokens(token);
|