Skip to main content

Introduction to LabSync

LabSync is a modern, cross-platform RMM (Remote Monitoring and Management) solution designed for centralized fleet management in heterogeneous IT environments. It provides a "Single Pane of Glass" for administrators to manage Windows and Linux workstations, automate deployments, and provide real-time remote support.

The project's core philosophy is to unify device management through a powerful and extensible agent, eliminating the need for separate tools for different operating systems.

Core Features

  • Unified Management: Instead of separate tools, LabSync offers a single dashboard to manage both Windows and Linux machines, significantly reducing administrative overhead.
  • Remote Desktop Streaming: Real-time VNC-style remote desktop access via WebRTC with GPU-accelerated H.264 video encoding.
  • Script Automation: Execute PowerShell, Bash, or CMD scripts across your entire device fleet with real-time output streaming.
  • SSH Terminal: Interactive remote shell access to devices.
  • System Monitoring: Collect real-time hardware metrics (CPU, memory, disk, network) from all managed devices.
  • Scheduled Automation: Deploy scripts on recurring schedules (hourly, daily, weekly, etc.) across device groups.
  • Device Groups: Organize devices logically and execute bulk operations across groups.
  • Zero-Touch Deployment: Simplified agent installation via PowerShell (Windows) or Bash (Linux) scripts.

Architecture Overview

LabSync is built on a modern, decoupled architecture that emphasizes security, scalability, and extensibility. It consists of a central server, a web-based UI, and a lightweight agent installed on target machines.

Hybrid Communication Model (Control & Data Plane)

A key innovation in LabSync is its dual-channel communication strategy, which separates management commands from high-bandwidth data streams. This ensures that the system remains responsive and efficient, even under heavy load.

Control Plane vs. Data Plane
  • Control Plane (SignalR): Used for all lightweight and critical communication, such as agent state management (online/offline), sending commands, and receiving telemetry. This channel is optimized for low-latency messages and reliable delivery, using the efficient MessagePack protocol.

  • Data Plane (WebRTC): A dedicated, high-speed channel used exclusively for streaming real-time media. Remote desktop streams are handled via WebRTC (using the Sipsorcery library), providing low-latency video and efficient bandwidth usage, bypassing the SignalR hub to avoid blocking critical control messages.

Micro-Kernel Agent Design

The LabSync Agent is not a monolithic application. Instead, it operates as a lightweight host process with a micro-kernel architecture. All core functionalities are implemented as independent plugins (DLLs) that are loaded at runtime.

  • Lightweight Host: The agent's primary role is to manage the lifecycle of modules, handle communication with the server, and route incoming commands to the appropriate plugin.
  • Extensible Modules: Each feature, such as script execution or VNC, is a self-contained class library that implements a common IAgentModule interface.
Extensibility as a Feature

This design makes the system incredibly extensible. New features can be added simply by developing a new Class Library and dropping the resulting DLL into the agent's module directory, without requiring any changes to the agent's core, stable code.

Security by Design

Security is a foundational principle of LabSync, especially given its high level of system access.

Zero-Trust Model
  • No-Eval Policy: The agent will never execute an arbitrary string of code sent from the server. It only executes specific, predefined system processes with sanitized parameters. This prevents a major class of remote code execution vulnerabilities.
  • Authentication: Every agent and API call must be authenticated via a JWT token. All communication is encrypted over HTTPS/WSS.
  • Device Approval: Administrators must explicitly approve each new device before it can execute commands.

Tech Stack

LayerTechnologyPurpose
Backend.NET 9, ASP.NET Core Web APICentral server, API endpoints, and business logic.
Real-timeSignalR Core & WebRTC (Sipsorcery)Dual-channel communication (Control Plane & Data Plane).
DatabasePostgreSQL 15 / Entity Framework Core 9Storing agent/device info, jobs, logs, and user data.
FrontendReact 19, TypeScript, Vite, Tailwind CSSModern, responsive Single Page Application (SPA) dashboard.
Agent Host.NET 9 Worker ServiceRuns as a background service on Windows and Linux.
Agent Modules.NET 9 Class LibrariesEncapsulates all agent features (scripting, VNC, etc.).
Video CodecFFmpeg H.264 (GPU: NVENC, AMF, QSV)Hardware-accelerated video encoding for RemoteDesktop.
AutomationPowerShell/BashNative shells for cross-platform script execution.
AuthJWT (JSON Web Tokens)Secure, token-based authentication for agents and users.
SSHRenci.SshNetTerminal and file transfer for Linux devices.

Current Status

Phase 1 MVP: Production Ready

LabSync has completed Phase 1 development as a fully functional Remote Monitoring and Management system. The project is ready for:

  • Production deployment
  • University presentation and demonstration
  • Real-world laboratory management scenarios

All core components are implemented and tested:

  • ✅ Server (.NET 9 ASP.NET Core)
  • ✅ Database (PostgreSQL with migrations)
  • ✅ Agent (Windows Service + Linux systemd)
  • ✅ Frontend (React 19 responsive dashboard)
  • ✅ All 4 core modules (Remote Desktop, Script Executor, SSH, SystemInfo)

See Project Status for detailed implementation status and known limitations.

Key Use Cases

Laboratory Management

  • Deploy identical software configurations to computer labs
  • Monitor system resources across lab computers
  • Provide remote support to lab technicians

Heterogeneous Fleet Management

  • Manage mixed Windows and Linux environments from one interface
  • Execute cross-platform automation scripts
  • Collect unified metrics across diverse OS types

System Administration

  • Remote troubleshooting via VNC
  • Interactive SSH shell access
  • Automated maintenance tasks

Educational Setting

  • Monitor student workstations
  • Deploy assignments and updates
  • Collect system telemetry for research

Ready to get started? Begin with the Quick Start Guide or jump to Installation.