-
v1.3.4 Stable
released this
2026-05-20 16:42:29 +00:00 | 32 commits to main since this releasev1.3.4 (2026.5.20)
⚠️ 安全提示
本软件涉及远程控制功能,请谨慎下载,建议在虚拟机中测试。主控程序会连接授权服务器进行必要的通讯和防破解检测。下载并使用本软件,即视为接受上述条款。
Go 主控(全平台闭环)& Web 远程桌面/终端 & 合规与反滥用
本次发布历时约 10 天,跨 34 次提交,核心交付一个轻量 Go 主控作为 MFC 主控的补充形态——为不便跑 Windows VPS 的用户提供原生 Linux/macOS 主控落点,至此客户端 + 服务端在 Windows / Linux / macOS 上全部打通。同时大幅强化 Web 远程桌面/终端体验,引入反代理 RTT 合规检测与多客户许可证服务,并对客户端 TCP 心跳做了硬化。
新功能
Go 主控(全平台闭环,新增)
定位是"功能简单、聚焦于远程桌面 + 远程终端 + 多用户"的轻量服务端,不替代 MFC 主控;适合纯 Linux 服务器、ARM Mac 长驻、嵌入式主控箱等场景。两种主控用的是同一套客户端,可混搭部署。
- Web UI 嵌入与分发:单二进制内嵌
server/web/资源,开箱即用(embed 编译期打包) - Web 认证 + WebSocket 信令 + 实时设备列表(Phase 3)
- 屏幕帧端到端转发(Phase 4):H.264 流通过 WebSocket 直发浏览器,WebCodecs 硬解;客户端 graceful BYE 关闭
- 鼠标 / 键盘输入 + 多用户体系(Phase 5 + 7):基于
users.json的管理员/普通用户分级、按设备组授权 - Web 远程终端转发(Phase 6):xterm.js + PTY 模式 + graceful close
- 稳定的设备列表排序 + RDP-reset 处理:刷新不再跳序
- 设备下线主动通知浏览器(
device_offline):网页不再卡死在已离线设备上
Go 多客户许可证服务(新增)
- Signer 接口 + Local/Remote/NoOp 三种实现:把签发逻辑从主签名密钥解耦,客户跑 RemoteSigner 永远不接触主 HMAC 密钥
- License Server HTTP:
/license/sign+/license/heartbeat,JWT RS256 签名,24 小时本地缓存兜底 - 全部代码落在
server/go/licensing/,适合多客户部署场景
主控(MFC)
- 在线主机缩略图列:列表新增实时缩略图列,焦点离开时选中背景一致
- "播放快照"循环预览窗口:双击主机弹小窗循环回放最近的屏幕快照
- 键盘管理对话框支持剪贴板替换:可在键盘日志规则中改写复制内容
- 键盘记录支持剪贴板变更日志
Web 远程桌面 / 终端
- Web 远程终端:xterm.js + 移动端 UX 打磨(iOS safe-area、图标化工具栏、登出确认)
- 触控模式视觉光标跟随远端 IDC_* 状态:手势模式下也能看到远端真实光标形态
- 无 GUI 主机直接打开终端:Headless 客户端在 Web 端无需远程桌面入口即可起终端会话
合规与反滥用
- 反代理 RTT 检测 + 分级使用策略 + 免责声明:试用授权服务端检测异常 RTT(疑似代理/转发)拒绝授权
- 检测点迁移到 KernelManager 心跳:LAN RTT 检查从授权流程移到心跳路径,减小误判面
改进
- AVX2 运行时探测 + x264 可选编译:在不支持 AVX2 的旧 CPU 上不再启动即崩溃;x264 改为可选依赖,方便最小化构建
scheduler.h支持所有运行计划:调度框架补齐,覆盖全部任务类型- Web 管理员密码独立环境变量:
YAMA_WEB_ADMIN_PASS,与主授权密码解耦,避免 Web 暴露面拖累主控授权 - Web 端 HTML 抽离到
server/web/index.html:从 C++ 内嵌字符串迁出,前端可独立开发调试 - Web 触摸板光标对齐到 SVG 箭头尖:减少触控模式下的指向偏移
- Go 主控安全加固:登录限流 + WebSocket Origin 白名单 + REST Bearer 鉴权
Bug 修复
- 客户端 TCP 心跳硬化对抗半死连接:检测半开 TCP(对端崩了但本地 OS 还认为连接存活)并主动重连
- Web 退出远程桌面全屏后设备列表点击无效:fullscreenchange 钩子卸载顺序修复
- Web 远程桌面可靠性与 UX:多项稳定性问题(重连、按键映射、IME 提交)
- 未映射的 OEM 非 shifted 符号 + 多字符 IME commit:英语键盘下符号键发错码、中文输入法长串提交丢字
- 缩略图列在焦点失去时选中背景不一致
- .RC 文件不使用绝对资源路径:跨机器构建时资源解析失败修复
- Go 子模块
go.mod缺失:从 SimpleRemoter 迁移时遗漏的依赖文件补齐
升级提示
- MFC 主控仍是主推方案,Go 主控是补充形态——日常运维(文件管理、媒体采集、注册表、服务管理、品牌定制)请继续使用
YAMA.exe;Go 主控仅聚焦"远程桌面 + 远程终端 + 多用户",跨 Windows / Linux / macOS 编译 - Go 主控部署需配置 Web 管理员密码:通过
YAMA_WEB_ADMIN_PASS环境变量设置,与主控授权密码独立 - 多客户许可证部署:客户机房跑
RemoteSigner调用中心 License Server(/license/sign、/license/heartbeat),客户永远拿不到主 HMAC 密钥;详见server/go/licensing/ - 旧 CPU 用户:v1.3.4 启动会做 AVX2 运行时检测,无 AVX2 时禁用相关加速路径而非崩溃;如需在无 AVX2 机器上分发,建议同时关闭 x264 编译选项
- 试用授权用户:服务端会做反代理 RTT 检测,正式付费授权不受影响;如确在大延迟链路(卫星/远跨洲)上使用试用授权,请联系作者授权白名单
Downloads
- Web UI 嵌入与分发:单二进制内嵌