immense

Remotely

immense

Remotely is a self-hosted remote control and remote scripting platform built on .NET 8 and Blazor, offering remote desktop, command execution, file transfer and device inventory.

v2024.08.07.0819
Published at
Aug 12, 2024
5,093
Stars
99,299
Download
Synced at
3d ago

Latest release

v2024.08.07.0819Aug 12, 2024, 04:45 PM
Downloads slow? Switch the source anytime above

README

Project Overview

Remotely is maintained by immense as a self-hosted remote control and remote scripting platform. The server is written in .NET 8 with Blazor, each managed machine runs a resident agent, and the two sides hold a long-lived SignalR connection so an administrator sees every online device in one browser tab. Remote desktop, command line, file delivery and alerting share the same console, which makes it a lightweight entry point for do-it-yourself remote operations.

Item Value
Runtime model Self-hosted server plus agents plus a web console
Stack .NET 8, Blazor, SignalR Core, Entity Framework Core 8.0.10
Default port 5000 inside the container
Default database SQLite, switchable to SQL Server or PostgreSQL
License GPL-3.0

A server, an agent and a browser console close the loop, putting remote support and scripted operations on one page.

Key Features

  • Remote desktop: view and control Windows, Linux and macOS desktops in the browser, with monitor switching
  • Remote terminal: PowerShell, CMD, Bash and zsh shells, / switches shell, Ctrl+Q clears the output
  • Script delivery: save scripts, run them across devices or an organization, archive every result
  • File transfer: upload and download files between server and device through the FileSharing endpoints
  • Built-in chat: start a conversation from a device card while supporting a user
  • Alert API: one POST /api/Alerts/Create writes an in-site notice, sends email and calls a third-party API
  • Wake-on-LAN: send a magic packet to power on supported machines
  • Device inventory: collect CPU, memory, disk and OS version, grouped by organization

Deployment Options

Option Best for Key point
Docker Compose Quick single-host rollout Image immybot/remotely:latest, data mounted at /var/www/remotely
Linux bundle Servers without Docker Remotely_Server_Linux-x64.zip in Releases is about 740 MB and runs after unzip
Build from source Internal customization Needs Visual Studio 2022 and the .NET 8 SDK, clone with --recurse for submodules

Interface and Operation

  • Device grid: the home page lists every device by organization with online state, last response and system info
  • Remote control page: a device card opens the Viewer, frames arrive over SignalR and the toolbar sends key combos
  • Gestures on a phone: a single tap is a left click, a long press then release is a right click, a long press and drag drags
  • Terminal panel: open Terminal from device details, commands run on the target and output streams back
  • Server config: the ServerConfig page holds database, retention, two-factor and recording switches

Target Audience

  • Small teams running their own support desk
  • Corporate IT managing many endpoints
  • Households with several remote machines
  • Developers comparing remote control stacks
  • Operations engineers needing on-premise tools

Quick Start

  1. Run mkdir -p /var/www/remotely on the server and place the official docker-compose.yml in it
  2. Run docker compose up -d in that folder and wait for the container to pass its health check
  3. Open http://your-server:5000 in a browser and click Register on the home page
  4. That account is both server admin and organization admin, the organization is created and self-registration closes
  5. Go to Downloads, fetch the agent for each platform and install it on the machines to manage
  6. Wait for devices to appear, click a card to start a session, and create a token under Account then API Access for API use

System Requirements

Item Requirement
Server Docker or Linux x64, the self-contained bundle ships the .NET 8 runtime
Database SQLite by default, SQL Server or PostgreSQL optional
Managed devices Windows 7 and later, Ubuntu LTS, macOS
Port 5000 fixed inside the container, host port configurable
Reverse proxy Only Caddy facing the internet directly is supported

Notes

  • Forwarded headers: behind a proxy, send X-Forwarded-Proto, X-Forwarded-Host and X-Forwarded-For and add the proxy IP to KnownProxies
  • Single organization: MaxOrganizationCount defaults to 1, so registration closes after the first account, raise it or set -1 for multi-tenancy
  • Retention: DataRetentionInDays governs logs and recordings, -1 keeps them forever, recordings land in /app/AppData/recordings
  • Device bans: a device in BannedDevices receives an uninstall command as soon as it connects
  • Linux client deps: the Ubuntu quick support client needs libx11-dev, libxrandr-dev, libc6-dev, libxtst-dev and xclip

Release history

Sort