immense

Remotely

immense

Remotely 是自托管的远程控制与远程脚本平台,基于 .NET 8 与 Blazor 构建,可远程桌面、执行命令、传文件并采集设备信息。

v2024.08.07.0819
发布于
2024年8月13日
5,093
星标
99,299
下载
同步于
3 天前

最新版本

v2024.08.07.08192024年8月13日 00:45
下载慢?可在上方随时切换镜像源

项目说明

项目概述

Remotely 由 immense 维护,是一套可自托管的远程控制与远程脚本平台。服务端用 .NET 8 与 Blazor 写成,被控机器装一个常驻 Agent,双方通过 SignalR 保持长连接,管理员打开浏览器就能看到所有在线设备。远程桌面、命令行、文件分发与告警共用同一个后台,适合自建一套轻量的远程运维入口。

项目 内容
运行形态 自托管服务端 + 被控端 Agent + 网页控制台
技术栈 .NET 8、Blazor、SignalR Core、Entity Framework Core 8.0.10
默认端口 容器内 5000
默认数据库 SQLite,可切换 SQL Server 与 PostgreSQL
许可 GPL-3.0

服务端、Agent 与浏览器控制台组成一条闭环,远程支持与脚本运维落在同一个页面里。

主要功能

  • 远程桌面:在浏览器里查看并操作 Windows、Linux、macOS 桌面,顶部可切换显示器
  • 远程终端:内置 PowerShell、CMD、Bash、zsh 等 shell,/ 切换 shell,Ctrl+Q 清空输出
  • 脚本下发:保存常用脚本后按设备或组织批量执行,结果单独归档
  • 文件传输:通过 FileSharing 接口在服务器与被控设备之间上传、下载文件
  • 站内聊天:设备卡片内直接发起会话,用于远程支持时沟通
  • 告警接口:一次 POST /api/Alerts/Create 可同时写站内通知、发邮件、回调第三方接口
  • 网络唤醒:对支持 Wake-on-LAN 的设备发送魔术包远程开机
  • 设备信息:采集 CPU、内存、磁盘与系统版本,按组织分组展示

部署方式

方式 适用场景 关键点
Docker Compose 单机快速上线 镜像 immybot/remotely:latest,数据挂载到 /var/www/remotely
Linux 自包含包 没有 Docker 的服务器 Releases 里的 Remotely_Server_Linux-x64.zip 约 740 MB,解压即可运行
源码编译 内网定制与二次开发 需要 Visual Studio 2022 与 .NET 8 SDK,克隆时加 --recurse 拉子模块

界面与操作

  • 设备网格:登录后首页按组织列出全部设备,显示在线状态、最后响应时间与系统信息
  • 远程控制页:点设备卡片进入 Viewer,画面经 SignalR 推送,工具条可发组合键
  • 手机上的手势:单指点击等于左键,长按松开等于右键,长按拖动等于拖拽
  • 终端面板:设备详情里打开 Terminal,命令在目标机器执行,输出实时回传
  • 服务器配置:ServerConfig 页集中管理数据库、留存天数、双因素与录制开关

适用人群

  • 自建远程支持的中小团队
  • 需要批量运维终端的企业 IT
  • 家庭多设备远程管理者
  • 对比远程控制方案的开发者
  • 需要私有化部署的运维工程师

快速上手

  1. 在服务器上执行 mkdir -p /var/www/remotely,把官方 docker-compose.yml 放进该目录
  2. 在目录内运行 docker compose up -d,等待容器健康检查通过
  3. 浏览器打开 http://服务器地址:5000,点首页的 Register 注册第一个账号
  4. 这个账号同时是服务器管理员与组织管理员,组织自动创建,此后自助注册关闭
  5. 进入 Downloads 页按平台下载 Agent,装到需要被控的机器上
  6. 回到首页等设备上线,点卡片发起远程控制;要用接口时到 Account 下的 API Access 建令牌

系统要求

项目 要求
服务端 Docker 或 Linux x64,自包含包已带 .NET 8 运行时
数据库 SQLite 默认,可换 SQL Server、PostgreSQL
被控端 Windows 7 及以上、Ubuntu LTS、macOS
端口 容器内固定 5000,宿主端口可改
反向代理 官方只支持 Caddy 直接面向公网

注意事项

  • 转发头配置:放在反向代理后必须传 X-Forwarded-Proto、X-Forwarded-Host、X-Forwarded-For,代理 IP 要加进 KnownProxies
  • 单组织限制:MaxOrganizationCount 默认为 1,首个账号注册后不能再自助注册,多租户需调大或设成 -1
  • 数据留存:DataRetentionInDays 控制日志与录制保留天数,设为 -1 表示永久保留,录制文件落在 /app/AppData/recordings
  • 设备禁封:写进 BannedDevices 的设备一连接就会收到卸载指令
  • Linux 客户端依赖:Ubuntu 快速支持客户端需先装 libx11-dev、libxrandr-dev、libc6-dev、libxtst-dev、xclip

历史版本

排序