项目架构
本项目作为系统编程练手,把 License、Master、Client 拆成多节点结构,支持单机部署也支持分布式拓扑。
Web Browser
PC / Tablet / Mobile
↓ WebSocket
License Server
ECDSA / HMAC
Root auth / Offline
MFC Master (C++)
Windows · All features
Built-in Web server
Go Master
Win / Linux / macOS
Desktop + Terminal
↓ ↓
◄──────────────────────────────► ↘ HMAC / sub-client auth ↙
↓
Client(受控端)
Windows / Linux / macOS / Android
可选:多节点授权拓扑 — 根节点 License Server 通过 HTTPS 向下游 Go Master (RemoteSigner) 签发 JWT (RS256);下游节点永远拿不到主 HMAC 密钥;24h 本地缓存兜底网络抖动。
两种主控形态
v1.3.4 起,主控端补齐 Linux/macOS 形态,作为 MFC 主控的补充而非替代。两种主控共用同一套客户端,可混搭部署。
| 形态 | 平台 | 功能覆盖 | 适用场景 |
|---|---|---|---|
MFC 主控 (YAMA.exe) | Windows | ✅ 全部功能(含文件管理 / 媒体采集 / 注册表 / 品牌定制) | 日常运维、主推方案 |
| Go 主控(v1.3.4 新增) | Win / Linux / macOS | 远程桌面 + 远程终端 + 多用户分级 | 零 Windows 依赖的纯 Linux/macOS 主控部署 |
三种校验模式
| 模式 | 校验方式 | 鉴权版本 | 技术特点 |
|---|---|---|---|
| 默认配置(开源版) | 在线校验 | V1 | 20 连接 / 2 年;可作为开箱即用的本地测试配置 |
| HMAC 模式 | HMAC + 在线校验 | V1 | 启动时一次性校验;适合自部署、独立 Master 节点 |
| ECDSA 模式 | ECDSA P-256 离线签名 | V2 | 完全离线校验;支持多 Master 拓扑,作为分布式部署的技术尝试 |
技术看点
- 双校验模式:HMAC 适合在线场景;ECDSA 把校验逻辑下放到客户端,减少对 License Server 的依赖;
- 节点隔离:不同 Master 节点的数据、客户端互相不可见,便于做家庭实验或多用户环境隔离;
- 水平扩展:单 Master 节点可承载较大数量的客户端长连接;架构上可堆叠多节点;
- 离线友好:ECDSA 模式下 Master 与 License Server 可长期断网运行;
- 全平台闭环(v1.3.4):Go 主控补齐 Linux/macOS 服务端形态,与 MFC 主控共享同一套客户端,可同时挂在同一批设备群之上;
- 密钥隔离的多节点拓扑(v1.3.4):Go 主控
RemoteSigner模式下,每次新设备登录通过 HTTPS 向根节点的 License Server 拉签名,下游节点内存里永远不出现主 HMAC 密钥——作为分布式授权机制的技术尝试; - Android 受控端(v1.3.7):MediaProjection + MediaCodec H.264 推流,AccessibilityService 触控 / 按键注入;与 Windows / Linux / macOS 客户端共享同一套服务端协议,无需改动主控即可纳管安卓设备;APK 通过 BuildDlg binary patch 生成,不依赖 Android 构建环境。
本页是作者个人开源项目的技术说明,不构成商业产品的功能承诺,也不附带任何 SLA。