From b89428bf356f50fb805aaff3e6b2dc76dced9d3e Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Wed, 7 Oct 2026 13:57:34 +0200 Subject: [PATCH] Release v1.4.0 --- ReadMe.md | 26 ++++++++++++++++++ ReadMe_EN.md | 26 ++++++++++++++++++ ReadMe_TW.md | 26 ++++++++++++++++++ client/Script.rc | 16 +++++------ client/TestRun.rc | Bin 4578 -> 4578 bytes server/2015Remote/2015Remote.rc | Bin 186770 -> 177482 bytes server/2015Remote/2015Remote_vs2015.vcxproj | 3 ++ .../2015Remote_vs2015.vcxproj.filters | 3 ++ server/2015Remote/UIBranding.h | 2 +- 9 files changed, 93 insertions(+), 9 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 8e714ee..eca5b7e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -378,6 +378,32 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 & ## 更新日志 +### v1.4.0 (2026.10.7) + +**SimplePlugins 功能迁移 & 远程交互增强 & MCP 扩展 & 国际化** + +**新功能:** +- **SimplePlugins 功能迁移(实验功能)**:文件管理 / 隐私屏幕 / 远程画板三个功能原生迁入客户端,作为在线主机右键「实验功能」子菜单交付,配 16x16 图标(位图数组 66→69) +- **MCP 设备管理控制工具**:新增 kill_process / operate_window / control_service / power_action(单一 McpManage 开关 + 关闭只读),ready→confirm 生命周期 + WaitSendIdle 排空出站缓冲;MCP 设置新增「管理操作」勾选、主工具栏 MCP 入口 +- **远程交谈**:「远程交谈」工具栏按钮(COMMAND_CHAT 161 / TOKEN_CHAT_START 62)打开双向聊天,支持服务端触发屏幕锁 / 解锁 +- **TCP/UDP 连接管理**:工具栏按钮列出受管主机 TCP/UDP 连接,右键强制断开 IPv4 TCP(iphlpapi 枚举 + CConnectionsDlg) +- **主机管理**:迁移 CMachineManager(进程 / 窗口 / 网络 / 软件 / IE 历史 / 收藏夹 / 服务 / 任务 / hosts 枚举 + 进程注入),COMMAND_MACHINE_MANAGE 162 +- **授权失败触发器**:新增 TRIGGER_AUTH_FAILED 触发类型(与主机上线触发独立),授权失败时下发插件 DLL,受 ShouldLogAuth 去重约束 +- **iPhone 远程音频**:WebAudio + 自托管 opus-decoder WASM 解码,修复 iOS 无 MSE 静音 +- **画质与传输控制**:远程桌面 / 屏幕预览质量等级菜单(各 6 档可配置)+ 文件传输速度对话框(7 档 + 无限档,CMD_FILE_SPEED 252) +- **Shine/HELL 协议选择**:分享 / 传输主机时可选协议,尾随冒号字段透传,旧客户端兼容 +- **Go Web UI 子路径部署**:YAMA_WEB_BASE_PATH 挂载整个 Web UI 到 URL 前缀 +- **国际化**:德语(de_DE)第 4 种语言、语言切换工具栏按钮、剩余字符串翻译补齐;远程桌面剪贴板按钮(全屏可达) + +**改进:** +- 通知设置关键词改为多行输入(每行一个,存储仍分号分隔,兼容既有 notify.ini) + +**Bug 修复:** +- HTTP 分片续包误置 m_bShouldUnmask 致后续包丢失(进程列表 kill 后空列表) +- 即时消息弹窗标题乱码(GBK code_page 声明) +- geo-IP 查询阻塞主机双击提示(仅本地库加载时查询 + 进程内缓存) +- 主机管理 IE 历史字符串泄漏(CoTaskMemFree)、隐私屏幕 0xCC 乱码日志 + ### v1.3.9 (2026.9.2) **MCP 服务端集成(AI 远程管理)& 远程控制与文件传输闭环 & 主控增强** diff --git a/ReadMe_EN.md b/ReadMe_EN.md index 1212016..621eeb8 100644 --- a/ReadMe_EN.md +++ b/ReadMe_EN.md @@ -378,6 +378,32 @@ Valid : 2026-02-01 to 2028-02-01 ## Changelog +### v1.4.0 (2026.10.7) + +**SimplePlugins Feature Migration & Remote Interaction Enhancements & MCP Expansion & i18n** + +**New features:** +- **SimplePlugins feature migration (experimental)**: file management / privacy screen / drawing board migrated natively into the client and exposed as an "Experimental Features" right-click submenu, with 16x16 icons (bitmap array 66→69) +- **MCP device management-control tools**: kill_process / operate_window / control_service / power_action behind a single McpManage flag (plus read-only off), with a ready→confirm lifecycle and WaitSendIdle buffer draining; "management operations" checkbox in MCP settings and an MCP toolbar entry +- **Two-way remote chat**: a "远程交谈" toolbar button (COMMAND_CHAT 161 / TOKEN_CHAT_START 62) opens the chat dialog, with server-triggered screen lock / unlock +- **TCP/UDP connection management**: a toolbar button lists the managed host's TCP/UDP connections with right-click force-disconnect for IPv4 TCP (iphlpapi enumeration + CConnectionsDlg) +- **Machine management**: CMachineManager migrated (process / window / network / software / IE history / favorites / service / task / hosts enumeration plus process injection), COMMAND_MACHINE_MANAGE 162 +- **Auth-failed trigger**: new TRIGGER_AUTH_FAILED type (independent of the host-online trigger) pushes plugin DLLs on authorization failure, gated by ShouldLogAuth dedup +- **iPhone remote audio**: Web Audio API + self-hosted opus-decoder WASM decoding fixes silent audio on iOS without MSE +- **Quality & transfer controls**: configurable remote-desktop / screen-preview quality-level menus (six presets each) plus a file-transfer speed dialog (seven presets + unlimited, CMD_FILE_SPEED 252) +- **Shine/HELL protocol selection**: choose the protocol when sharing / transferring a host, passed as a trailing colon field, backward compatible +- **Go web UI subpath deployment**: YAMA_WEB_BASE_PATH mounts the whole web UI under a URL prefix +- **i18n**: German (de_DE) as the fourth language, a language-switch toolbar button, remaining string translations; remote-desktop clipboard buttons (reachable in fullscreen) + +**Improvements:** +- Notification keyword input is now multi-line (one keyword per line; the stored format stays semicolon-separated, compatible with existing notify.ini) + +**Bug fixes:** +- HTTP continuation chunks mis-set m_bShouldUnmask, dropping subsequent packets (blank process list after kill) +- Garbled instant-message popup title (GBK code_page declaration) +- geo-IP lookup blocking the host double-click tooltip (only queried when a local DB is loaded, plus in-process caching) +- Machine-management IE-history string leak (CoTaskMemFree) and privacy-screen 0xCC garbled logs + ### v1.3.9 (2026.9.2) **MCP Server Integration (AI Remote Management) & Remote Control / File Transfer Loop & Master Enhancements** diff --git a/ReadMe_TW.md b/ReadMe_TW.md index 6144cb6..31cb60a 100644 --- a/ReadMe_TW.md +++ b/ReadMe_TW.md @@ -378,6 +378,32 @@ nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 & ## 更新日誌 +### v1.4.0 (2026.10.7) + +**SimplePlugins 功能遷移 & 遠端互動增強 & MCP 擴充 & 國際化** + +**新功能:** +- **SimplePlugins 功能遷移(實驗功能)**:檔案管理 / 隱私螢幕 / 遠端畫板三個功能原生遷入用戶端,作為線上主機右鍵「實驗功能」子選單交付,配 16x16 圖示(位圖陣列 66→69) +- **MCP 裝置管理控制工具**:新增 kill_process / operate_window / control_service / power_action(單一 McpManage 開關 + 關閉唯讀),ready→confirm 生命週期 + WaitSendIdle 排空出站緩衝;MCP 設定新增「管理操作」勾選、主工具列 MCP 入口 +- **遠端交談**:「遠端交談」工具列按鈕(COMMAND_CHAT 161 / TOKEN_CHAT_START 62)開啟雙向交談,支援伺服端觸發螢幕鎖 / 解鎖 +- **TCP/UDP 連線管理**:工具列按鈕列出受管主機 TCP/UDP 連線,右鍵強制斷開 IPv4 TCP(iphlpapi 列舉 + CConnectionsDlg) +- **主機管理**:遷移 CMachineManager(處理程序 / 視窗 / 網路 / 軟體 / IE 歷史 / 收藏夾 / 服務 / 排程工作 / hosts 列舉 + 處理程序注入),COMMAND_MACHINE_MANAGE 162 +- **授權失敗觸發器**:新增 TRIGGER_AUTH_FAILED 觸發類型(與主機上線觸發獨立),授權失敗時下發外掛程式 DLL,受 ShouldLogAuth 去重約束 +- **iPhone 遠端音訊**:WebAudio + 自託管 opus-decoder WASM 解碼,修復 iOS 無 MSE 靜音 +- **品質與傳輸控制**:遠端桌面 / 螢幕預覽品質等級選單(各 6 檔可設定)+ 檔案傳輸速度對話框(7 檔 + 無限檔,CMD_FILE_SPEED 252) +- **Shine/HELL 協定選擇**:分享 / 傳輸主機時可選協定,尾隨冒號欄位透傳,舊用戶端相容 +- **Go Web UI 子路徑部署**:YAMA_WEB_BASE_PATH 掛載整個 Web UI 到 URL 前綴 +- **國際化**:德語(de_DE)第 4 種語言、語言切換工具列按鈕、剩餘字串翻譯補齊;遠端桌面剪貼簿按鈕(全螢幕可達) + +**改進:** +- 通知設定關鍵詞改為多行輸入(每行一個,儲存仍分號分隔,相容既有 notify.ini) + +**Bug 修復:** +- HTTP 後續封包誤置 m_bShouldUnmask 致後續封包遺失(處理程序列表 kill 後空列表) +- 即時訊息快顯視窗標題亂碼(GBK code_page 宣告) +- geo-IP 查詢阻塞主機雙擊提示(僅本機資料庫載入時查詢 + 處理程序內快取) +- 主機管理 IE 歷史字串洩漏(CoTaskMemFree)、隱私螢幕 0xCC 亂碼記錄 + ### v1.3.9 (2026.9.2) **MCP 伺服端整合(AI 遠端管理)& 遠端控制與檔案傳輸閉環 & 主控增強** diff --git a/client/Script.rc b/client/Script.rc index 39703ae..4653557 100644 --- a/client/Script.rc +++ b/client/Script.rc @@ -31,20 +31,19 @@ FONT 10, "System", 0, 0, 0x0 BEGIN LTEXT "Static",IDC_EDIT_MESSAGE,5,5,170,95 END + IDD_CHAT DIALOGEX 0, 0, 235, 155 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Chat" FONT 10, "System", 0, 0, 0x0 BEGIN - EDITTEXT IDC_EDIT_CHATLOG,3,3,229,107,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | WS_BORDER | WS_TABSTOP | WS_VISIBLE - EDITTEXT IDC_EDIT_NEWMSG,3,113,170,38,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP | WS_VISIBLE - PUSHBUTTON "Send",IDC_BUTTON_SEND,178,116,54,14,BS_DEFPUSHBUTTON | WS_TABSTOP | WS_VISIBLE - PUSHBUTTON "End",IDC_BUTTON_END,178,133,54,14,WS_TABSTOP | WS_VISIBLE + EDITTEXT IDC_EDIT_CHATLOG,3,3,229,107,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL + EDITTEXT IDC_EDIT_NEWMSG,3,113,170,38,ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL + DEFPUSHBUTTON "Send",IDC_BUTTON_SEND,178,116,54,14 + PUSHBUTTON "End",IDC_BUTTON_END,178,133,54,14 END - - ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO @@ -56,6 +55,7 @@ BEGIN IDD_DIALOG, DIALOG BEGIN END + IDD_CHAT, DIALOG BEGIN END @@ -103,7 +103,7 @@ IDR_WAVE WAVE "Res\\msg.wav" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,3,9 + FILEVERSION 1,0,4,0 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -121,7 +121,7 @@ BEGIN BEGIN VALUE "CompanyName", "FUCK THE UNIVERSE" VALUE "FileDescription", "A GHOST" - VALUE "FileVersion", "1.0.3.9" + VALUE "FileVersion", "1.0.4.0" VALUE "InternalName", "ServerDll.dll" VALUE "LegalCopyright", "Copyright (C) 2019-2026" VALUE "OriginalFilename", "ServerDll.dll" diff --git a/client/TestRun.rc b/client/TestRun.rc index 18322841cc7c7147b9521b9f094e51af4367542f..8caf50740a3995f223f5eaa4e1c54266174fc987 100644 GIT binary patch delta 33 ncmaE){78927YC~egARki=6()sW*}3K!CY`<%OE z!+E_&{TBO{4!hQJElu2`U9z|>Z1HBN^c}WB4awKVJtOe6oNw`yi${!+IhqeS_h><~ zObb14lx4Q1+%n5@pQVJ?%8i;`pFOCB(&+|m#qd#wR^@fU85 z#4}vZu}1K7J^BOIAcplBsly&08AF8wTBO`R(k4}B&43nSbPCjftoBQg>-~aduV16g zJuiVVtvxS=pML%cOvS)TX@An3v|^8@Yi9BJ7t0P2D3_mamAlTbl{vO-xyrUg`UM8b zoC_An1s4X⋘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 ZvXA|xUsIvF|Spph9v4j~J9 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 Qvl~_j`jZypZRF|y2P1-6HUIzs diff --git a/server/2015Remote/2015Remote_vs2015.vcxproj b/server/2015Remote/2015Remote_vs2015.vcxproj index 1495085..aa60399 100644 --- a/server/2015Remote/2015Remote_vs2015.vcxproj +++ b/server/2015Remote/2015Remote_vs2015.vcxproj @@ -526,6 +526,8 @@ + + @@ -561,6 +563,7 @@ + diff --git a/server/2015Remote/2015Remote_vs2015.vcxproj.filters b/server/2015Remote/2015Remote_vs2015.vcxproj.filters index e93389f..3f88d7e 100644 --- a/server/2015Remote/2015Remote_vs2015.vcxproj.filters +++ b/server/2015Remote/2015Remote_vs2015.vcxproj.filters @@ -352,5 +352,8 @@ + + + \ No newline at end of file diff --git a/server/2015Remote/UIBranding.h b/server/2015Remote/UIBranding.h index 4ed20c1..250a875 100644 --- a/server/2015Remote/UIBranding.h +++ b/server/2015Remote/UIBranding.h @@ -46,7 +46,7 @@ // 程序版本号 [建议格式: X.Y.Z] // 影响:关于对话框、标题栏 -#define BRAND_VERSION "1.3.9" +#define BRAND_VERSION "1.4.0" // 启动画面名称 [建议大写,更有 Logo 感] // 影响:启动画面 Logo 文字(大号艺术字体渲染)