Files
SimpleRemoter/ReadMe.md
yuanyuanxiang 6e743ada0b Release v1.3.4
2026-05-20 15:23:08 +02:00

21 KiB
Raw Permalink Blame History

SimpleRemoter

简体中文 | 繁體中文 | English

GitHub Stars GitHub Forks GitHub Release Client Platforms Server Platforms Language License

Download Latest


Warning

重要法律声明

本软件仅供教育目的及授权使用场景:组织内远程 IT 管理、经授权的渗透测试与安全研究、个人设备管理与技术学习。

未经授权访问计算机系统属违法行为。 使用者须对遵守所有适用法律承担全部责任。开发者对任何滥用行为概不负责。


目录


项目简介

SimpleRemoter 是一个端到端跨平台的远程控制解决方案。

项目核心基于经典 Gh0st 架构,最早始于 2019 年 1 月。历经 7 年持续迭代——从 IOCP 通信内核重构、x264 视频级编码、V2 文件传输协议、多层授权体系,到 Linux 与 macOS 客户端的引入——本版本最终完成客户端 + 服务端的全平台闭环三大桌面操作系统Windows / Linux / macOS在任一侧都可作为受控端或主控端。

原始来源: zibility/Remote | 起始日期: 2019.1.1

Star History Chart


本版本亮点:全平台闭环

本项目长期以 C++ MFC 主控YAMA.exe)为核心交付形态——经典 Gh0st 架构、IOCP 高性能内核、完整的远程桌面 / 文件 / 进程 / 媒体功能栈、多层授权体系、品牌定制——至今仍是主要使用的主控。MFC 主控内置了基于 WebSocket 的 Web 远程桌面服务,从 v1.3.1 起就已经支持任意平台的浏览器远控被管设备(手机/平板/Linux/macOS 桌面均可)。

本版本v1.3.4)补上了最后一块拼图——Go 主控:一个功能简单、聚焦于"远程桌面 + 远程终端 + 多用户分级" 的轻量服务端,跨 Windows / Linux / macOS 编译运行。它的定位不是替代 MFC,而是为那些不便于跑 Windows VPS 的用户提供一个原生的 Linux/macOS 主控落点——例如纯 Linux 服务器、ARM Mac 长驻、嵌入式主控箱等场景。

两种主控形态如何选择

形态 GUI 功能覆盖 平台 定位
C++ MFC 主控 (YAMA.exe) 原生 Windows GUI + 内置 Web 服务 全部功能 Windows 主推方案。日常运维、文件管理、媒体采集、多层授权、品牌定制等都用它
Go 主控(新) Web UI任何浏览器 远程桌面 + 远程终端 + 多用户 Windows / Linux / macOS 补充方案。需要"零 Windows 依赖"的纯 Linux/macOS 主控部署

Tip

两种主控用的是同一套客户端——可以混搭,例如一台 Windows MFC 主控 + 一台 Linux Go 主控并行管理同一批设备群。

Go 主控的核心能力v1.3.4 新增)

  • 远程桌面H.264 流通过 WebSocket 直发浏览器WebCodecs 硬解1080P @ 20fps 流畅
  • 远程终端xterm.js + ConPTY/PTY支持调整尺寸、Tab 补全
  • 多用户体系:管理员 / 普通用户分级、Challenge-Response 登录、不透明 token、按设备组授权
  • 生产部署Nginx 反代 + Let's Encrypt + Keyboard Lock + 全屏控制、防止 ESC / F11 误退出
  • 故意保持轻量:不包含文件管理、媒体采集、注册表、服务管理等 MFC 主控专属功能——这些请走 MFC 主控

全平台支持矩阵

客户端 (受控端) 主控端
Windows 完整功能 MFC YAMA.exe(推荐)/ Go
Linux (X11) 屏幕 + 终端 + 文件 + 剪贴板 Go
macOS (Intel + Apple Silicon) 屏幕 + 终端 + 文件 + 剪贴板 Go

合规与反滥用

本项目长期坚持「明确的合规姿态」立场。本版本进一步收紧反滥用边界。

内置技术措施

源代码层面构筑多道独立可验证的反滥用屏障,详见 反滥用技术措施清单

  • 入站连接 IP 段校验:试用版若被部署到公网会触发可见告警 latch
  • 监听端口上限:试用版限制 ≤ 2 个监听端口,防多租户中转改造
  • 应用层 RTT 反代理LAN 内 RTT 阈值检测,反向代理 / 隧道会被识别
  • 多层授权架构V2 ECDSA 离线 + V1 在线 + 试用版分级,每一层限制独立
  • Web 主控认证:强制 Challenge-Response 登录、登录限流、不透明 token、操作可审计

合规文档

文档 内容
📖 反滥用与合规使用政策 完整的发行方-使用方责任划分
📖 反滥用技术措施清单 每一道屏障的源代码位置、设计动机、已知局限

Important

使用本软件即视为您已阅读、理解并接受上述合规文档全部条款。 如您不能或不愿接受任一条款,请立即停止使用并销毁本软件副本。

网络连接与隐私

版本类型 连接行为
试用版本 维持与授权服务器的持续连接
V1/V2 授权版本 启动时连接验证,通过后断开
V2 离线授权版本 无需连接授权服务器

除获得离线授权外,主控程序会与授权服务器进行必要的数据交互(如检测破解行为、验证授权有效性)。


功能特性

远程桌面

远程桌面

  • 多种屏幕捕获GDI / DXGI / 虚拟桌面Windows、X11 + XShmLinux、CGDisplayStreammacOS
  • 智能压缩DIFF 差分SSE2 优化)/ RGB565节省 50% 带宽)/ H.264视频级压缩x264 + VideoToolbox + WebCodecs/ 灰度模式
  • 自适应质量:根据 RTT 自动调节帧率5-30 FPS、分辨率、压缩算法
  • 多显示器:多屏切换 + 多屏上墙
  • 跨设备文件拖拽Ctrl+C/V 跨设备复制粘贴文件
  • Web 远程桌面:浏览器直接访问,手机/平板可用(配置指南

Web远程桌面

文件管理

文件管理

  • V2 传输协议:支持 >4GB 大文件、断点续传、SHA-256 校验
  • C2C 传输:客户端之间直接传输,无需经过主控
  • 批量操作:搜索、压缩、批量传输

终端管理

终端管理

  • 交互式 ShellTab 补全、ANSI 转义、调整尺寸
  • 现代终端Windows ConPTY、Linux/macOS PTY
  • Web 终端xterm.js + WebSocket跟原生体验一致

其他功能

模块 能力
进程管理 进程列表、CPU/内存占用、终止、DLL 注入
窗口管理 最大化/最小化/隐藏/关闭
媒体采集 摄像头、双向语音、键盘记录
系统控制 服务管理、注册表、会话注销/关机
网络功能 SOCKS 代理、FRP 穿透、端口映射
代码执行 远程执行 DLL、内存加载、热更新

全平台支持

Windows 客户端

系统要求Windows 7 SP1 及以上 功能完整性 全部功能支持

Linux 客户端v1.2.5+

系统要求

  • 显示服务器X11/Xorg暂不支持 Wayland
  • 必需库libX11推荐库libXtstXTest 扩展、libXss空闲检测
功能 状态 实现
远程桌面 X11 屏幕捕获 + libx264 H.264 硬件编码
远程终端 PTY 交互式 Shell
文件管理 V2 协议、双向传输、大文件
进程管理 列表 + 终止
剪贴板同步 xclip / xsel 外部工具,支持文件 URI
心跳/RTT RFC 6298 RTT 估算
守护进程 双 fork 守护化

编译cd linux && cmake . && make

macOS 客户端v1.3.2+

系统要求

  • macOS 10.15 (Catalina) 及以上
  • 架构Intel (x64) 和 Apple Silicon (arm64) 通用二进制
  • 系统权限:屏幕录制、辅助功能、完全磁盘访问
功能 状态 实现
远程桌面 CGDisplayStream + VideoToolbox H.264 硬件编码
键鼠控制 CGEvent支持双击、拖拽
远程终端 PTY 交互式 Shellzsh/bash
文件管理 V2 协议、大文件
进程管理 proc_listpids + 终止
剪贴板同步 NSPasteboard支持文件 URL + NSFilenamesPboardType
守护模式 -d 后台运行、电源管理、空闲检测

编译cd macos && ./build.sh

Go 主控v1.3.4+

系统要求Go 1.21+(仅编译时);二进制运行无依赖

能力 实现
远程桌面 H.264 → WebSocket → WebCodecs1080P @ 20fps
远程终端 xterm.js + PTY/ConPTY 透明转发
多用户 Challenge-Response + 不透明 token + 按组授权
部署 Nginx 反代 / Let's Encrypt / systemd unit / /etc/environment

编译cd server/go && go build -o server_linux_amd64 ./cmd


系统架构

全平台拓扑

┌────────────────────────────────────────────────────────┐
│                       主控层                            │
│                                                         │
│   ┌──────────────────┐      ┌──────────────────┐       │
│   │  C++ MFC 主控     │      │   Go 主控         │       │
│   │  YAMA.exe        │      │ (Win/Linux/Mac)  │       │
│   │  Windows only    │      │  Web UI 全平台    │       │
│   └────────┬─────────┘      └────────┬─────────┘       │
└────────────┼──────────────────────────┼─────────────────┘
             │                          │
             │  TCP (自定义二进制协议)   │ TCP (设备) + WS (浏览器)
             └────────┬─────────────────┘
                      │
       ┌──────────────┼──────────────┐
       ▼              ▼              ▼
  ┌─────────┐    ┌─────────┐    ┌─────────┐
  │ Windows │    │  Linux  │    │  macOS  │
  │ 客户端  │    │ 客户端  │    │ 客户端  │
  │ (DXGI)  │    │  (X11)  │    │ (CG)    │
  └─────────┘    └─────────┘    └─────────┘

多层授权(简化视图)

超级管理员(授权服务器)
   │ V2 授权 (ECDSA P-256)
   ▼
第一层主控 ──┬── 第一层主控 ──┬── 第一层主控  ◄── 独立运营 / 完全隔离
   │ V1     │ V1            │ V1
   ▼        ▼               ▼
下级主控 → 客户端 (10,000+) → 设备群
授权 验证 特点
V2 授权 ECDSA P-256 签名 离线验证,下级连接数限制
V1 授权 HMAC + 在线验证 连接上级服务器验证
试用版 在线验证 功能受限、连接限制(详见 合规文档

完整说明:多层授权方案


快速开始

5 分钟快速体验

无需编译,下载即用:

  1. 下载发布版 - 从 Releases 下载最新版本
  2. 启动主控 - 运行 YAMA.exe(或 Linux 上的 server_linux_amd64),输入授权信息
  3. 生成客户端 - 工具栏「生成」配置服务器 IP 和端口
  4. 部署客户端 - 复制到目标机器运行
  5. 开始控制 - 客户端上线后双击远程桌面

Tip

首次测试建议在同一台机器上运行主控和客户端,使用 127.0.0.1 作为服务器地址。

Go 主控部署VPS

参见 Web 远程桌面配置。最小步骤:

# 1. 在 VPS 上跑 Go 主控
nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 &

# 2. nginx 反代 9001 到 HTTPS
#    详见 docs/WebHTTPS.md

# 3. 浏览器打开 https://yourdomain.com/,登录、添加客户端

试用授权v1.2.4+

提供 2 年有效期、20 并发连接、仅限内网的试用口令:

主控 IP127.0.0.1
序列号12ca-17b4-9af2-2894
密码20260201-20280201-0020-be94-120d-20f9-919a
验证码6015188620429852704
有效期2026-02-01 至 2028-02-01

Note

多层授权方案

支持代理商/开发者独立运营:第一层用户获得授权后可完全离线使用,下级用户只连接到您的服务器。完整说明:多层授权方案

编译

  • C++ 主控 & Windows 客户端VS 2019/2022/2026 打开 SimpleRemoter.sln → Release | x64
  • Linux 客户端cd linux && cmake . && make
  • macOS 客户端cd macos && ./build.sh
  • Go 主控cd server/go && go build ./cmd

用户文档

文档 适用对象 内容
📖 快速部署指南 首次使用者 10 分钟首次部署
📖 多级网络搭建指南 需要管理下级的用户 多级网络架构
📖 日常使用手册 所有用户 全功能详解
📖 代理商运营手册 代理商/分销商 下级授权、FRP 配置
📖 定制化开发指南 技术型客户 品牌定制、二次开发
📖 Web 远程桌面配置 移动端 / Go 主控用户 HTTPS 反代、域名配置
📖 反滥用政策 所有使用方 合规边界、责任划分
📖 反滥用技术措施 合规审查方 屏障代码位置 + 设计动机

更新日志

v1.3.4 (2026.5.20)

Go 主控 & 全平台主控闭环 & Linux/macOS 客户端剪贴板

新功能:

  • Go 主控Go 语言实现的跨平台轻量主控服务Windows / Linux / macOS聚焦于"远程桌面 + 远程终端 + 多用户分级"——不替代 MFC 主控,为需要纯 Linux/macOS 落地的运维场景兜底
  • Web 远程桌面Go 主控)H.264 → WebSocket → WebCodecs 解码、1080P @ 20fps、桌面 + 移动端全适配远程光标同步、Keyboard Lock 防 ESC/F11 误退、控制态下 F11/Esc 直传目标
  • Web 远程终端Go 主控)xterm.js + PTY/ConPTY 透明转发、调整尺寸、断开自动清理面板
  • 多用户体系Go 主控):管理员/普通用户分级、按设备组授权、Challenge-Response 登录、登录限流IP + 用户名)、不透明 token
  • Linux 客户端剪贴板:基于 xclip / xsel 的双向剪贴板同步,支持 text/uri-list 文件路径
  • macOS 客户端剪贴板:基于 NSPasteboard 的双向剪贴板同步,文件 URL + 旧版 API 兼容

改进:

  • Web 会话自适应质量被 clamp 到 H264-only 等级(≥ Good避免 Ultra/HighDIFF/RGB565让浏览器无法解码
  • Linux 客户端默认 QualityLevel 改为 QUALITY_GOOD(对齐 Windows/macOS不再请求服务端自适应
  • 登录文本字段按客户端能力位条件解码 UTF-8 / GBK修正德文/法文等带变音符的主机名 / 地理位置乱码
  • 设备列表稳定排序(按上线时间),避免每次心跳 / WS 推送都洗牌
  • RDP 重置按钮接通到设备端 CMD_RESTORE_CONSOLE
  • MFC 主控开启 Web 远控会话时不再短暂闪一下窗口OnInitDialog 会话判定上移)

Bug 修复:

  • Web 会话从全屏点关闭后设备列表点击失灵fullscreen 子树规则,showPage 统一退全屏)
  • 客户端突然断开后 Web 远控页面停留在 "Connected" 永不刷新(新增 device_offline 通知)
  • 多显示器轮询导致两路屏幕子连接同时灌帧,画面在两个显示器间跳变(BindScreenConn 退役旧 sub-conn
  • Go 主控 ListDevices 因 map 迭代随机化导致列表乱序

v1.3.3 (2026.5.10)

Linux/macOS 客户端深化 & 双层认证安全

  • 服务端身份校验Layer 1Linux/macOS 客户端 HMAC-SHA256 校验服务端身份
  • 子连接认证Layer 2TOKEN_CONN_AUTH所有子连接首包签名 + clientID 钉死
  • Linux 客户端H.264 硬件编码、XFixes 光标类型检测、UTF-8 协议能力位
  • macOS 客户端:文件管理器、远程终端、剪贴板同步、守护进程模式
  • 主控屏幕预览缩略图、区域截图、远程桌面缩放、Web 用户按组过滤
  • 共享代码抽到 common/rtt_estimator / client_auth_state / posix_net_helpers

v1.3.2 (2026.5.1)

macOS 客户端 & Web 远程桌面增强

  • 全新 macOS 原生客户端屏幕捕获、H.264 编码、键鼠控制
  • Web 远程桌面光标同步
  • 触发器功能、用户管理(角色权限)
  • DLL 执行增强、远程桌面输入法切换

v1.3.1 (2026.4.15)

Web 远程桌面MFC 主控) & 多主控共享增强

  • Web 远程桌面:基于 WebSocket 实现,手机/平板浏览器访问
  • 多显示器禁用自适应、状态栏过期日期自动更新
  • 多层授权自动更新、DLL 缓存复用

v1.3.0 (2026.4.8)

多层级 FRP 架构 & 品牌定制

  • 本地 FRPS 服务器、多层级架构自动 FRP 集成
  • V2 授权下级连接数限制、许可证文件导入/导出
  • 增强型硬件 ID (V2)、UI 品牌定制
  • 运行时功能限制可配置

更早版本

v1.2.x 系列(邮件通知、远程音频 Opus、V2 授权协议、V2 文件传输、现代 Web 终端 xterm.js、远程桌面工具栏重写、自适应质量控制、Linux 客户端初版……)及 2019 年以来的全部演进,请见 history.md


相关项目


联系方式

渠道 链接
QQ 962914132
Telegram @doge_grandfather
Email yuanyuanxiang163@gmail.com
Issues 问题反馈
PR 贡献代码

赞助支持

本项目源于技术学习与兴趣爱好,作者将根据业余时间不定期更新。如果本项目对您有所帮助,欢迎赞助支持:

Sponsor


如果您喜欢这个项目,请给它一个 Star