Add Python agent, WebSocket relay, real viewer, enrollment tokens
- 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>
This commit is contained in:
19
db/migrations/0002_agent_relay.sql
Normal file
19
db/migrations/0002_agent_relay.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
-- 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);
|
||||
Reference in New Issue
Block a user