Files
monoadmin dcf88c7863 Add open enrollment + update Windows installer
Open enrollment (OPEN_ENROLLMENT=true in .env):
- Agents can register with just --server <url>, no token needed
- Machines assigned to OPEN_ENROLLMENT_USER_EMAIL, first admin, or first user
- Falls back gracefully if env var not set
- agent.py register() now takes optional token; --server alone triggers registration

Agent CLI changes:
- --server without --enroll triggers open enrollment registration on first run
- --enroll still works for token-based or re-enrollment
- Error message updated to reflect new syntax

NSIS installer changes:
- Interactive mode: custom page prompts for server URL + optional token
- Silent mode: /SERVER= alone works with open enrollment, /ENROLL= still supported
- Cleans up config on uninstall

agent.spec: add pyperclip, base64, struct, uuid to hidden imports

docker-compose + .env: OPEN_ENROLLMENT and OPEN_ENROLLMENT_USER_EMAIL vars

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 00:02:05 -07:00
..

RemoteLink Agent

Cross-platform remote support agent. Streams the screen to the RemoteLink server and handles remote mouse/keyboard input and script execution.

Quick start

Run-once (portable, no install)

# Linux / macOS
python agent.py --server https://remotelink.example.com --enroll YOUR_TOKEN --run-once

# Windows — run the pre-built exe
remotelink-agent.exe --server https://remotelink.example.com --enroll YOUR_TOKEN --run-once

Permanent install (saves config, reconnects on reboot)

python agent.py --server https://remotelink.example.com --enroll YOUR_TOKEN
# Config saved to /etc/remotelink/agent.json (Linux) or C:\ProgramData\RemoteLink\agent.json (Windows)
# Start normally on next run:
python agent.py

Windows service (runs on login / system start)

remotelink-agent-service.exe install
remotelink-agent-service.exe start

Mass deployment (NSIS installer, silent)

RemoteLink-Setup.exe /S /SERVER=https://remotelink.example.com /ENROLL=YOUR_TOKEN

This silently installs, enrolls the machine, installs the Windows service, and starts it — no UI shown.

Building

# Install deps + build portable binary (all platforms)
./build.sh

# Output: dist/remotelink-agent  (Linux/macOS)
#         dist/remotelink-agent.exe + dist/remotelink-agent-service.exe  (Windows)
#         RemoteLink-Setup.exe  (Windows + NSIS installed)

Enrollment tokens

Generate enrollment tokens in the RemoteLink web UI under Admin → Enrollment Tokens.

Each token can optionally have:

  • An expiry date
  • A max-uses limit
  • A label for tracking

Protocol

The agent connects to the relay WebSocket server:

  • ws://<relay-host>:8765/ws/agent?machine_id=<id>&access_key=<key>

It streams JPEG frames as binary WebSocket messages and receives JSON control events.