找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1686

积分

0

好友

220

主题
发表于 3 天前 | 查看: 14| 回复: 0

在 IT 运维、企业管理乃至远程办公等场景中,一套可靠、安全且功能完整的远程控制系统已成为刚需。然而,市面上许多主流解决方案要么收费高昂,要么强制依赖云端服务,这让一些团队在成本控制和数据隐私方面心存顾虑。

今天为大家带来的,就是一款完全开源、支持私有化部署且无使用门槛的远程管理平台。它基于最新的 .NET 10 技术栈开发,支持同时管理 Windows 与 Linux 双平台设备,旨在将专业级的远程控制能力真正交还给使用者。

项目简介

RemotelyOS7+ 是一个基于 .NET 10 开发的企业级免费开源远程控制系统,专为现代化的系统集中管理而设计。项目的初衷是为广大用户提供一个功能强大、完全免费的远程管理工具,让个人和企业都能享受到专业级的远程控制体验。

适用场景

  • 服务器、机房、工作室、员工电脑的集中控制
  • 批量管理多系统设备

核心优势

  • 完全免费开源:真开源,无任何使用限制,可商用及二次开发(请保留项目出处)。
  • 功能强大:集成屏幕墙、远程桌面、文件管理、系统资源监控、远程音视频、注册表编辑、反向代理、远程终端命令行等丰富功能。
  • 私有部署:支持自建转发服务器(支持多节点部署),数据完全掌握在自己手中。
  • 跨平台控制:主打对 Windows 和 Linux 系统的集中控制与管理。
  • 大规模并发:架构设计支持大规模设备同时稳定连接。
  • 一键部署:提供简洁的部署流程,降低使用门槛。
  • 持续更新:项目保持活跃,未来将陆续推出 Web 端、Android 客户端等更多功能。

功能特性

Windows 平台特性

  • 无需安装框架:无系统框架依赖,一键部署,开箱即用。
  • 远程桌面控制:采用差异算法传输桌面画面,带宽与系统资源占用低,支持剪切板同步、指针同步、系统音频同步。
  • 超强文件管理:支持超大文件及文件夹的断点续传。
  • 命令行终端:提供远程命令行终端,支持批量执行命令。
  • 注册表管理:支持远程编辑 Windows 注册表。
  • 实时音视频:支持在线实时音视频通信。
  • SOCKS5 代理:内置 SOCKS5 代理功能。
  • 系统管理:提供系统信息总览、进程管理、窗口管理、网络管理等工具。
  • 系统兼容性:被控端支持 Windows 7 SP1 及以上版本(部分纯净版 Win7 可能需要安装基础补丁)。

Linux 平台特性

  • 原生 Linux 支持:无需额外框架,直接运行。
  • 命令行终端:提供远程终端,支持批量执行命令行。
  • 强大文件管理:支持文件断点续传,轻松处理大文件。
  • 系统管理:提供系统信息总览、进程管理、网络管理等功能。
  • SOCKS5 代理:同样支持代理功能。

系统架构

RemotelyOS7+ 采用现代化的三层架构设计,确保了系统的稳定性、可扩展性与高性能。

技术栈

类别 技术
后端 .NET 10.0, C#
前端 Windows Forms
网络 TCP Socket, 自定义协议
序列化 MemoryPack, JSON
视频编码 H.264 (FFmpeg)
音频 NAudio

架构概览

┌─────────────────┐         ┌─────────────────┐         ┌─────────────────┐
│   控制端         │         │   服务器端       │         │   被控端         │
│  Monitor        │◄───────►│  Service        │◄───────►│  Slave          │
│                 │  TCP    │  Launcher       │  TCP    │  Launcher       │
│  Windows Forms  │         │  TCP Server     │         │  Windows Service│
└─────────────────┘         └─────────────────┘         └─────────────────┘

核心组件

控制端 (Monitor)

  • 技术栈: Windows Forms + .NET 10.0
  • 功能: 发起远程桌面、文件管理、终端命令行等操作
  • 特性: 多设备管理、实时监控、批量操作

服务器端 (Service Launcher)

  • 技术栈: TCP Socket
  • 端口: TCP 1523 / HTTP 5222
  • 功能: 连接管理、消息路由、用户认证
  • 特性: 数据流高性能实时中转

被控端 (Slave Launcher)

  • 部署模式: Windows 服务 / 用户应用
  • 功能: 接收控制指令、执行系统操作
  • 特性: 轻量级、低资源占用、自动重连,兼容 Windows 7 及以上操作系统

核心模块

模块 功能描述 通信模式
Desktop 远程桌面控制 发布-订阅 + 请求-响应
File 文件管理 请求-响应
Audio 音频传输 发布-订阅
ProcessManager 进程管理 请求-响应
Bash 远程终端 发布-订阅
ReverseProxy 反向代理 发布-订阅
Registry 注册表管理 请求-响应

项目使用

该项目基于 Visual Studio 2026 和 .NET 10 进行开发。
在安装 Visual Studio 时,请确保勾选了 “.NET 桌面开发” 工作负载。

Visual Studio 2026 工作负载安装界面,选中 .NET 桌面开发和 ASP.NET 开发

项目运行需要创建以下目录结构:

  • ./data:用于存放被控端可执行文件(例如 RemotelyOS.Slave.Launcher.exe 或其 Linux 版本)。
  • ./ffmpeg:需要拷贝 FFmpeg 相关的动态链接库文件(如 avcodec-58.dllavdevice-58.dll 等)。
  • ./RemotelyOS.Bash:用于存放 RemotelyOS.Bash.Console.exe
  • ./Server:用于存放 RemotelyOS.Service.Launcher.exeFileRoot 目录(FileRoot 目录内同样需要一份 FFmpeg 文件)。

主控端的可执行文件为:RemotelyOS.Client.Windows.exe

需要编译的主要项目包括:

  • RemotelyOS.Client.Windows(主控端)
  • RemotelyOS.Service.Launcher(服务器端)
  • RemotelyOS.Slave.Launcher(被控端,支持 Windows/Linux)

编译方式:在 Visual Studio 中右键点击项目 → 选择“发布” → 在发布配置中,部署模式选择“独立”,目标运行时选择 win-x64linux-x64,并勾选“生成单文件”选项。

Visual Studio 项目右键菜单,选择发布选项

Visual Studio 发布配置文件设置界面

文件资源管理器窗口,展示编译发布后的目录结构

安装部署

  1. 部署服务器端:将 Server 目录整体部署到一台所有客户端都能访问到的服务器上,运行其中的 RemotelyOS.Service.Launcher.exe(默认监听 TCP 1523 端口)。
    服务器端连接配置设置界面

  2. 配置主控端:在主控端程序 (RemotelyOS.Client.Windows.exe) 中,配置上一步部署的服务器地址与端口。

  3. 生成并部署被控端:通过主控端的“创建客户端”功能,生成对应操作系统平台(Windows/Linux)的被控端程序。在生成时,可以选择“服务安装”模式,以实现被控端开机自启。
    创建客户端配置窗口,用于生成被控端程序

  4. 开始控制:被控端程序上线后,主控端的设备列表将自动显示该设备。在设备上右键点击,即可使用远程桌面、文件管理、终端等各项功能。

账户权限控制

在服务器端的目录下,可以创建一个 user.json 文件来管理账户权限,示例如下:

[
  {
    "user": "root",
    "passwd": "123456",
    "origin": 1,
    "group": "main",
    "desc": "origin 1=主控端, 2=被控端"
  },
  {
    "user": "client",
    "passwd": "123456",
    "origin": 2,
    "group": "main"
  }
]

其中,origin 字段值为 1 表示主控端账户,2 表示被控端账户。group 字段支持使用逗号分隔多个组(例如 "main,a,b"),以实现设备在多组间可见。

项目效果展示

多窗口桌面截图,展示远程控制终端、文件管理器、进程管理器等工具同时运行

项目源码与获取

这个功能全面的 开源项目 已在 Gitee 上开源,你可以访问以下地址获取最新源码,并参与项目的共建:

项目采用了自定义的 TCP 协议进行高效通信,对于想深入了解 网络 编程和远程控制原理的开发者来说,是一个很好的学习案例。

希望这个基于 .NET 10 的远程控制工具能为你或你的团队带来便利。如果你在部署或使用过程中有任何心得或疑问,欢迎在 云栈社区 的相关板块与更多开发者交流讨论。




上一篇:插件化设计器开发实战:一套前端架构搞定大屏、报表与组态应用
下一篇:苹果2026春季发布会前瞻:iPhone 17e领衔,多款入门新品瞄准学生市场
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 10:26 , Processed in 0.626691 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表