v1.3.6
ROI 区域捕获 & Web 音频流 & 主界面可用性全面提升
历时约 14 天,跨 25 次提交。本版本围绕四条主线:服务端 ROI 区域捕获(Z 按钮拖选 + 客户端限定捕获区域,大幅节省带宽)、Web 远程桌面音频流(客户端 PCM 实时推送给浏览器,工具栏音频开关)、主控界面可用性全面补强(可拖拽分割条、消息日志面板开关、多处 CSV 导出)以及许可证工具链(issue-token CLI + 匿名试用配额)。同期累积了 9 项 Bug 修复,涵盖 RTT 计算虚高、残留图像、缩略图误清、macOS 触控等多个长期痛点。
ROI 区域捕获(Z 按钮)
- 工具栏新增 Z 按钮:点击后在远程画面上拖选矩形,向客户端发送
COMMAND_SCREEN_ROI,将捕获区域限定在选框内——仅传输感兴趣区域,远端带宽按比例下降 - 客户端
ScreenCapturerDXGI/CScreenSpy均已适配:收到后重启采集,只裁剪并传输指定矩形;发送{0,0,0,0}清除 ROI、恢复全屏 - 三状态机:Z 按钮 Inactive → Armed(等待拖选)→ Active(ROI 激活,Z 高亮蓝色);拖选框小于 20px 自动回到 Armed 状态
- 蓝色虚线选框:拖选过程中实时绘制,与红色缩放框(Q)、绿色截图框(S)视觉明确区分
- 坐标经
ScreenRectToImageRect()映射并含边界钳制,保证发出的坐标始终合法
与控制模式的交互:点击 Z 按钮时若处于控制模式,系统自动先退出控制模式再进入 ROI 选择;已激活的 ROI 在进入控制模式后继续保持。
Web 远程桌面:音频流
- 客户端 PCM 音频转发:捕获客户端桌面音频,通过 WebSocket 实时推送给所有 Web 观察者,前端 Web Audio API 维持连续无中断播放缓冲
- 工具栏音频开关:全屏工具栏新增 🔊 音频切换按钮,可即时开启 / 关闭音频接收;默认关闭,规避浏览器自动播放限制
Web 远程桌面:界面增强
- 实时带宽读出:Web 全屏页面实时显示当前接收带宽(KB/s)
- 可折叠全屏工具栏:工具栏支持一键折叠 / 展开,折叠后画面可用区域最大化
- 主机备注随主机名显示:在线列表中主机名旁同步展示备注字段,无需悬停即可识别机器
主控界面可用性提升
- 可拖动分割条:主机列表 / 消息日志区域间新增可拖动分割条,替代固定比例布局,偏好自动持久化
- 消息日志面板一键切换(HideMsg):菜单新增 HideMsg(带 checkmark),一键隐藏 / 显示消息日志面板
- 在线主机信息 CSV 复制:右键选中主机后,IP / 机器名 / 备注等以 CSV 格式复制到剪贴板
- 消息日志 CSV 复制:消息日志支持选中多行后一键复制为 CSV,方便批量导出
Go 许可证工具链
issue-tokenCLI 子命令:yama-server issue-token直接在命令行签发 JWT,运营侧无需访问 Web 界面- 匿名试用模式 + 服务端配额强制:用户无需注册账号即可在全局配额内体验;超额自动拒绝
授权与安全
- AuthKernel 绑定机器 ID:鉴权改用 Machine ID,解决多客户端部署场景下 IP 识别不准确的问题
- 主控 / 服务端一键卸载菜单:主控界面新增菜单直接触发受管端软件卸载,无需登录远端手动操作
改进
- macOS 客户端正确读取质量配置(FPS / 比特率),支持超分辨率时硬件降级缩放,与 Windows 端行为对齐
- 新增客户端构建特性开关宏,简化合规定制场景的 binary 裁剪
Bug 修复
- RTT 计算排除服务端 UI 队列延迟,消除数值虚高
- 非自适应滚动模式下帧边界外残留图像
- 子连接断开(如 RDP)误清主连接仍在线主机的缩略图
- Shellcode+AES 加载器路径 ServerDll / TinyRun 构建失败
- macOS 触控双击失效修复;滚动步长 10px → 40px 每格
- 单显示器捕获误触黑屏检测,导致捕获无端重启
- 键盘输入日志每 10 分钟自动落盘,防进程退出时丢失
- 重连时
share_list出现重复子客户端 InitControl()调用时机修正,消除列标题空白
升级提示
- ROI 需双端升级:服务端可发送
COMMAND_SCREEN_ROI,但客户端执行裁剪也需升级到 v1.3.6 - Web 音频默认关闭:需用户在工具栏主动开启,规避浏览器自动播放策略;服务端无需额外配置
issue-token仅 Go 主控:该子命令仅在 Go 主控二进制中可用,MFC 主控无此命令行入口- 匿名试用配额:升级前默认配额为 0(关闭),需在
config.ini中显式配置TrialQuota后生效