• v1.3.6 5757ec7965

    v1.3.6 Stable

    yuanyuanxiang released this 2026-06-14 07:41:11 +00:00 | 0 commits to main since this release

    v1.3.6 (2026.6.14)

    ⚠️ 安全提示

    本软件涉及远程控制功能,请谨慎下载,建议在虚拟机中测试。主控程序会连接授权服务器进行必要的通讯和防破解检测。下载并使用本软件,即视为接受上述条款。

    ROI 区域捕获 & Web 音频流 & 主界面可用性全面提升

    本次发布历时约 14 天,跨 25 次提交,围绕四条主线:服务端 ROI 区域捕获(Z 按钮拖选 + 客户端限定捕获区域,大幅节省带宽)、Web 远程桌面音频流(客户端 PCM 实时推送给浏览器,工具栏音频开关)、主控界面可用性全面补强(可拖拽分割条、消息日志面板开关、多处 CSV 导出)以及许可证工具链issue-token CLI + 匿名试用配额模式)。同期累积了 9 项 Bug 修复,涵盖 RTT 计算虚高、残留图像、缩略图误清、macOS 触控等多个长期痛点。


    新功能

    ROI 区域捕获(Z 按钮)

    • 服务端 Z 按钮:工具栏新增 Z 按钮,点击后进入 ROI 待选状态;在远程画面上拖选矩形即可向客户端发送 COMMAND_SCREEN_ROI,将捕获区域限定在选框内——仅传输感兴趣区域,远端带宽按比例下降
    • 客户端 ROI 捕获ScreenCapturerDXGI / CScreenSpy 均已适配 COMMAND_SCREEN_ROI;收到后重启屏幕采集,仅裁剪并传输指定矩形;发送 {0,0,0,0} 即清除 ROI、恢复全屏采集
    • 状态机设计:Z 按钮三状态管理——Inactive(初始)→ Armed(Z 已点击,等待拖选)→ Active(ROI 已激活,Z 高亮蓝色);拖选框小于 20px 则自动回到 Armed 状态要求重新拖选
    • 蓝色虚线选框:拖选过程中以 RGB(0, 120, 215) 蓝色虚线实时绘制矩形,与红色缩放框(Q 按钮)、绿色截图框(S 按钮)视觉明确区分
    • 坐标安全:ROI 坐标经 ScreenRectToImageRect() 映射到原始分辨率空间,含 max/min 边界钳制,保证发出的坐标始终在 [0, srcW] × [0, srcH] 内;客户端收到 w ≤ 0 || h ≤ 0 的 ROI 时直接跳过裁剪,不调用 applyROICrop,不会崩溃

    与控制模式的交互:点击 Z 按钮时如果当前处于控制模式,系统自动先退出控制模式再进入 ROI 选择;已激活的 ROI 在进入控制模式后依然保持,不受影响

    Web 远程桌面:音频流

    • 客户端 PCM 音频转发:捕获客户端桌面音频,通过 WebSocket 实时推送给所有 Web 观察者,前端 Web Audio API 维持连续无中断播放缓冲
    • 工具栏音频开关:Web 全屏工具栏新增 🔊 音频切换按钮,可即时开启 / 关闭音频接收;默认关闭,用户主动授权后开启,规避浏览器自动播放限制

    Web 远程桌面:界面增强

    • 实时带宽读出:Web 全屏页面右上角显示当前接收带宽(KB/s),辅助判断当前网络质量与编码效率
    • 可折叠全屏工具栏:工具栏支持一键折叠 / 展开,折叠后画面可用区域最大化,适合单手操作场景(手机 / 平板)
    • 主机备注随主机名显示:在线主机列表中主机名旁边同步展示备注(remark)字段,无需悬停或展开详情即可识别机器用途

    服务端主界面可用性提升

    • 可拖动分割条:主界面主机列表区域与消息日志区域之间新增可拖动分割条,拖动后布局实时响应,偏好自动持久化;替代之前固定比例的静态布局
    • 消息日志面板一键切换(HideMsg):菜单新增 HideMsg 选项(带 checkmark 状态指示),一键隐藏 / 显示消息日志面板,方便只关注主机列表时释放垂直空间
    • 在线主机信息 CSV 复制:右键选中一或多台在线主机后,可一键将 IP、机器名、备注等字段以 CSV 格式复制到剪贴板,直接粘贴 Excel 统计
    • 消息日志 CSV 复制:消息日志面板支持选中任意多行后一键复制为 CSV,方便批量导出日志行做离线分析

    Go 许可证工具链

    • issue-token CLI 子命令yama-server issue-token 直接在命令行签发包含权限声明的 JWT,运营人员无需访问 Web 界面即可快速为客户铸造授权 Token,输出可直接导入主控
    • 匿名试用模式 + 服务端配额强制:新增匿名试用路径,用户无需注册账号即可在全局配额内体验;服务端跟踪配额余量并在超额后拒绝新的试用申请,防止滥用

    授权与安全

    • AuthKernel 绑定机器 ID:AuthKernel 鉴权改用客户端机器 ID(Machine ID)作为唯一识别标识,解决多客户端部署场景下依赖 IP 识别不准确的问题
    • 主控 / 服务端一键卸载菜单:主控界面菜单新增"卸载 Master / Server 软件"入口,可直接从主控触发受管端软件卸载流程,无需登录远端手动操作

    改进

    • macOS 质量配置文件适配:macOS 客户端现在正确读取质量配置(FPS / 比特率),并在分辨率超出限制时自动触发硬件降级缩放(HW resolution downscaling),与 Windows 端行为对齐
    • 客户端构建特性开关宏:新增预处理器宏,可在构建期精细控制启用 / 禁用特定客户端模块,简化为不同合规场景或产品形态定制 binary

    Bug 修复

    • RTT 计算排除服务端 UI 队列延迟:之前 RTT 统计包含了服务端 UI 事件队列的调度等待时间,导致显示数值虚高;现在 RTT 仅统计纯网络往返时延
    • 非自适应滚动模式下残留图像:在非自适应滚动模式下,远程帧边界外区域偶尔留有上一帧的残影;本版本在每次帧更新后主动清除帧外区域
    • 子连接断开不再误清主机缩略图:RDP 等子连接断开时,主连接仍在线的主机缩略图被错误清除;已修正为仅在主连接真正断线时才清空缩略图
    • Shellcode+AES 加载器构建修复:带 Shellcode+AES 加载器路径的 ServerDll / TinyRun 编译失败;已修复构建流程
    • macOS 触控双击恢复 & 滚动速度修正:MAC 触控双击在特定操作后失效;同时将滚动步长从 10px 修正为 40px(与鼠标滚轮单格移动量一致)
    • 单显示器捕获误触黑屏检测:单显示器配置下黑屏检测逻辑被误触发,导致捕获无端重启;单显示器路径现在跳过该检测
    • 键盘输入日志定期落盘:键盘记录器每 10 分钟自动将缓冲区写入文件,防止进程意外退出时丢失尚在内存中的日志内容
    • 重连时 share_list 出现重复子客户端:连接重建时未及时清理旧的共享列表条目,导致同一客户端在列表中出现多次;已在 share_list 入口处加守卫
    • 主界面列表列标题空白InitControl() 调用时机晚于 PostMessage,导致列宽初始化失败、列标题显示为空;已将调用移到 PostMessage 之前

    升级提示

    • ROI 功能为纯增量:无需客户端升级即可使用基础 ROI 发送功能(COMMAND_SCREEN_ROI = 152);但要使客户端实际执行裁剪,客户端也需升级到 v1.3.6
    • Web 音频默认关闭:音频流默认不推送,需要用户在工具栏点击开启——规避浏览器的自动播放策略;服务端无需额外配置
    • issue-token 依赖 Go 主控issue-token 子命令仅在 Go 主控二进制中可用,MFC 主控无此命令行入口
    • 匿名试用配额:试用配额上限在服务端 config.ini 中配置(TrialQuota);从 v1.3.5 升级时默认配额为 0(即关闭试用),需显式配置后生效
    Downloads