System Overview
Web VNC is a browser-based remote viewing and control tool that streams the host desktop over websockets and provides a clean web client for connecting from desktop or mobile.
It supports multiple view connections at the same time, with a single control session, plus multi-monitor support and a login-based access model.
Technical Capabilities
Web Browser Client
Connect from any modern browser with websocket streaming and input control.
Multi View Sessions
Multiple clients can view simultaneously with one active control session.
Multi Monitor Support
Monitor selection and streaming for multi-display systems.
Mouse Control:
Normalized client coordinates mapped to host screen space with click and drag support.
Keyboard Support
Key input and key combo support for common shortcuts and workflows.
Client Tools
Copy, paste, cut, undo, fullscreen toggle, and scale modes including fit, 1:1, and stretched.
User Permissions
User management with per-user control permission.
Secure Login Flow
Login-based access with hashed password exchange.
Built In Servers
Threaded HTTP server plus websocket server for streaming and control.
HTTPS Support
Optional HTTPS support for serving the web client.
Python Integration
Requirements
# Requirements
mss>=9.0.0
pyautogui>=0.9.54
Quick Start
#Import Libs
from VNC import VNC
#Server Setup
Server = VNC(IP="", Port=8080, VNC_Port=5900, Web_Root="Localhost", Capture_Interval=0.02)
#Add Users
Server.Add("viewer", "viewerpass", False)
Server.Add("operator", "operatorpass", True)
#Server Start
Server.Start()
Installation Git
# Requires Python >=3.6
git clone https://github.com/nucleonautomation/Web-VNC.git