MARS is a cross-platform, highly extensible remote administration and system monitoring framework. It features a self-contained core architecture powered by a Python backend and a dynamic C# Avalonia-based client interface.
Unlike traditional monolithic remote administration tools, MARS uses a "Convention over Configuration" modular approach. The server core acts as a routing and module-loading engine, allowing administrators to easily add or remove Python-based modules without recompiling the application. The C# client dynamically generates its UI based on the JSON schemas provided by the active modules on the server.
- Windows: Windows 10, Windows 11 (x64)
- Linux: Debian and Ubuntu-based distributions (amd64)
The MARS core engine is self-contained. It utilizes an embedded, portable Python environment that is extracted during the build process, meaning the host system does not need Python pre-installed.
While the core requires no external dependencies, specific hardware-interacting modules may rely on system-level tools:
- FFmpeg: Highly recommended. Required by the
remote_controlmodule for capturing and encoding h.264 video streams, and required by the Client to decode the incoming stream. - xclip / xsel / wl-clipboard: Required on Linux for the
clipboard_syncmodule.
Note: The official installers automatically handle FFmpeg. Linux-specific clipboard tools (xclip/xsel/wl-clipboard) must be installed manually if the clipboard synchronization module is used.
You can download the latest release from the Releases page.
The easiest way to deploy MARS. The installers automatically register the background daemon as a system service, update system PATH variables, and bundle core dependencies like FFmpeg.
- Windows (
.exe): DownloadMARS_Setup_v1.0.0.exeand run it. It will automatically bundle FFmpeg and register theMarsDaemonWindows Service. - Linux (
.deb): Downloadmars-remote-system_1.0.0_amd64.deband run:This package will automatically resolve and install ffmpeg via apt, set executable permissions, and configure the systemd daemon.sudo apt install ./mars-remote-system_1.0.0_amd64.deb
For advanced users who prefer standalone binaries without automated installation. Download MARS_v1.0.0_Windows_Binaries.zip or MARS_v1.0.0_Linux_Binaries.tar.gz.
Requirements for raw binaries:
- You must manually execute the daemon executable with Administrator/Root privileges.
- On Linux, you must manually grant execution permissions (
chmod +x) to the C# binaries. - You must manually install ffmpeg and ensure it is available in your system's PATH for both the server machine and the client machine.
MARS features an official Module Marketplace (MARS Hub) where you can discover and install additional modules to extend the system's capabilities.
- Direct Installation: Browse and install modules directly from the MARS UI.
- Contribute: Add your own Python-based modules to the marketplace to share with others.
To keep the git repository lightweight, the large portable Python runtimes are excluded from version control. You must download them manually before building the project.
-
Clone the repository:
git clone https://github.com/TheVekT/mars.git cd mars -
Download the Python Runtimes (
win64.zipandlinux.tar.gz) from the Releases page. -
Place both archives directly into the
/python-runtime/directory. Do not extract them; the MSBuild pipeline handles extraction automatically. -
Build the solution using the .NET 8 SDK:
For Windows:
dotnet publish Mars.sln -c Release -r win-x64 --self-contained true /p:PublishSingleFile=falseFor Linux:
dotnet publish Mars.sln -c Release -r linux-x64 --self-contained true /p:PublishSingleFile=false
The compiled output, including the bundled Python runtime and server code, will be located in Build/Release/<runtime>/.
This project is licensed under the MIT License - see the LICENSE file for details.