Skip to content

LabSyncPL/LabSync

Repository files navigation

LabSync: Unified Remote Management Platform

Build Status License .NET React SignalR

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.


Features

LabSync is built to serve diverse environments, from educational institutions to corporate IT departments.

Feature Area For Education For Business & IT
Remote Management Instantly prepare computer labs for classes. Switch software profiles for an entire room with a single click. Standardize developer environments. Automate the onboarding of new employees by deploying IDEs, VPNs, and certificates.
Task Automation Define an application once (e.g., "Git"), and LabSync handles the native installation on both Windows (winget) and Linux (nix). Push scripts and software updates to individual machines or entire groups, with real-time feedback on execution status.
Remote Support Provide remote assistance to students or teachers by viewing their screens directly from the browser-based dashboard. Diagnose issues using live telemetry, run repair scripts, or take control of the user's screen via the integrated VNC module.
Live Monitoring Get an immediate overview of which machines are online and ready for use. Monitor the health and status of all managed devices in real-time, receiving alerts for critical system events.

Architecture

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 (SignalR): Used for all lightweight communication, including:

    • Agent state management (online/offline status)
    • Sending commands (e.g., run script, install software)
    • Real-time telemetry and task status updates

    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.

    • VNC Module: 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.

This separation prevents large data transfers from interfering with the system's core command and control capabilities.

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, system information gathering, or VNC, is a self-contained class library that implements a common IAgentModule interface.

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


Tech Stack

Layer Technology Purpose
Backend .NET 9, ASP.NET Core Web API Central server, API endpoints, and business logic.
Real-time SignalR Core & WebRTC (Sipsorcery) Dual-channel communication (Control Plane & Data Plane).
Database PostgreSQL / Entity Framework Core 9 Storing agent/device info, jobs, logs, and user data.
Frontend React 19, TypeScript, Vite Modern, responsive Single Page Application (SPA) dashboard.
Agent Host .NET 9 Worker Service Runs as a background service on Windows and Linux.
Agent Modules .NET 9 Class Libraries Encapsulates all agent features (scripting, VNC, etc.).
Automation PowerShell/Winget (Windows), Bash/Nix (Linux) Native package managers and shells for task execution.
Auth JWT (JSON Web Tokens) Secure, token-based authentication for agents and users.

System Requirements

To run the LabSync Agent and Server, the following dependencies are required:

  • .NET 9 Runtime (or SDK for development)
  • ffmpeg: Required for video encoding and stream processing in the WebRTC module.
    • Windows: winget install ffmpeg
    • Linux: sudo apt install ffmpeg (or equivalent)

About

LabSync - Remote Monitoring & Management dla heterogenicznych środowisk IT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors