v1.3.9
MCP 服务端集成(AI 远程管理)& 远程控制与文件传输闭环 & 主控增强
历时约 28 天,跨 39 次提交。本版本核心是引入 MCP(Model Context Protocol)服务端——在本地 127.0.0.1:6544 暴露 JSON-RPC 2.0 接口,通过 Bearer Token 鉴权,把主控的远程管理能力封装成 23 个工具喂给本地大模型(Claude Desktop、Cursor 等),用自然语言完成「查主机 → 看进程 / 截屏 → 读日志 → 执行命令 → 操控桌面 → 传文件」的全链路操作。其余改动围绕主控增强(客户端活动历史 / 日志右键菜单三连 / 列表排序记忆)与多项稳定性修复。
MCP 服务端集成(AI 远程管理框架)
- 本地 MCP 服务端:新增
McpServer,基于 httplib 实现 JSON-RPC 2.0(initialize/ping/tools/list/tools/call),默认关闭 - MCP 设置对话框:「扩展 > MCP 设置」可配置启用开关、端口、绑定地址与 Token;改动需重启主控生效
- 分级开关:
McpReadonly(只读,默认开)、McpCmdWhitelist(命令白名单)、McpTerminal(持久终端)、McpRemoteControl(远程控制)、McpFileTransfer(文件传输)逐项门控,全程审计
安全边界:MCP 服务端默认关闭且仅本地回环监听,建议启用 Token 鉴权;执行 / 操控 / 传输类工具均为可选开关、默认关闭。
观测 → 执行 → 控制 → 传输,全链路闭环
只读观测(12 个工具默认可用)
- 主机搜索:
search_hosts/get_host_detail/list_online_hosts - 系统观测:
list_processes/list_windows/list_files/list_services/list_registry - 取证与日志:
get_screenshot(可选max_width)、get_activity_history、get_client_log、get_audit_log
远程终端
- exec_command:一次性执行,返回 stdout 与退出码,受命令白名单约束
- 持久终端:
terminal_open/terminal_exec/terminal_close,cwd 与环境变量跨命令保留
远程控制(AI 操控桌面)
remote_open/remote_close会话 +remote_keyboard(键名 / type)、remote_mouse(move / click / drag / scroll)、remote_clipboard(GBK 剪贴板写入)- 单设备单会话、闲置 300s 回收、与人工 Web 观看双向互斥
文件双向传输(V2 协议)
- download_file:远程文件 / 目录拉回主控,逐文件 SHA-256 校验,
..穿越防护 - upload_file:主控本地文件 / 目录推送到远程主机,覆盖预检与跳过
主控功能增强
- 客户端活动历史:记录活跃窗口驻留历史(上限 500 条),主机右键「活动历史」查看
- 日志右键菜单三连:消息日志右键新增「在线通知」「拉黑 IP」「解封 IP」,IPv4 提取即时生效
- 列表排序记忆:主机列表、进程 / 窗口列表排序偏好持久化,下次启动默认沿用
改进
- 重复连接 standby 处理:重复登录暂存 standby,待旧连接超时 / 断线后晋升,避免循环重连与误报离线
- 主机备注显示:远程桌面 / 虚拟屏幕标题显示主机备注而非 IP
- 三态排序:列头循环「升序 → 降序 → 恢复默认」
Bug 修复
- 客户端屏幕控制批解析错误:记录数是 7 的倍数时误判 MSG32 致注入错乱(
%48==0优先) - 心跳延迟更新 use-after-free:跨 PostMessage 持有 IoRefCount + memcpy 显式截断,修复 0xC0000409 崩溃
- ONLINELIST_PRIVILEGE 枚举错位:损坏历史主机库,权限列移至 16 恢复原始枚举值
- 远程桌面光标跨对话框污染:改
OnSetCursor逐窗口路由 - 客户端日志对话框停止刷新:
SetLimitText(0)解除 EDIT 控件上限 - 窗口标题乱码(FRP / NAT 下)、进程架构列排序无效、窗口管理器视图检查陈旧状态 等
升级提示
- MCP 默认关闭:需在「扩展 > MCP 设置」手动开启并重启主控;开启后可被本地 MCP 客户端调用,请妥善保管 Token
- 文件传输需 V2 协议客户端:download_file / upload_file 需客户端支持 V2 文件传输协议,建议升级至 v1.3.9
- 远程控制仅支持单显示器:多显示器主机阶段一拒绝,且与人工 Web 查看互斥
- 拉黑 / 解封即时生效:「拉黑 IP」写入黑名单后新连接即被拒绝;「解封 IP」恢复为待授权状态