486 lines
24 KiB
Markdown
486 lines
24 KiB
Markdown
# SimpleRemoter
|
||
|
||
**[简体中文](./ReadMe.md) | [繁體中文](./ReadMe_TW.md) | [English](./ReadMe_EN.md)**
|
||
|
||
<p align="center">
|
||
<a href="https://github.com/yuanyuanxiang/SimpleRemoter/stargazers">
|
||
<img src="https://img.shields.io/github/stars/yuanyuanxiang/SimpleRemoter?style=flat-square&logo=github" alt="GitHub Stars">
|
||
</a>
|
||
<a href="https://github.com/yuanyuanxiang/SimpleRemoter/network/members">
|
||
<img src="https://img.shields.io/github/forks/yuanyuanxiang/SimpleRemoter?style=flat-square&logo=github" alt="GitHub Forks">
|
||
</a>
|
||
<a href="https://git.simpleremoter.com/yuanyuanxiang/SimpleRemoter/releases">
|
||
<img src="https://img.shields.io/gitea/v/release/yuanyuanxiang/SimpleRemoter?gitea_url=https%3A%2F%2Fgit.simpleremoter.com&style=flat-square&logo=gitea" alt="Gitea Release">
|
||
</a>
|
||
<img src="https://img.shields.io/badge/client-Windows%20%7C%20Linux%20%7C%20macOS-blue?style=flat-square" alt="Client Platforms">
|
||
<img src="https://img.shields.io/badge/server-Windows%20%7C%20Linux%20%7C%20macOS-success?style=flat-square" alt="Server Platforms">
|
||
<img src="https://img.shields.io/badge/language-C%2B%2B17%20%2F%20Go-orange?style=flat-square&logo=cplusplus" alt="Language">
|
||
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License">
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="https://git.simpleremoter.com/yuanyuanxiang/SimpleRemoter/releases/latest">
|
||
<img src="https://img.shields.io/badge/Download-最新版本-2ea44f?style=for-the-badge&logo=gitea" alt="Download Latest">
|
||
</a>
|
||
</p>
|
||
|
||
---
|
||
|
||
> [!WARNING]
|
||
> **重要法律聲明**
|
||
>
|
||
> 本軟體**僅供教育目的及授權使用情境**:組織內遠端 IT 管理、經授權的滲透測試與安全研究、個人裝置管理與技術學習。
|
||
>
|
||
> **未經授權存取電腦系統屬違法行為。** 使用者須對遵守所有適用法律承擔全部責任。開發者對任何濫用行為概不負責。
|
||
|
||
---
|
||
|
||
## 目錄
|
||
|
||
- [專案簡介](#專案簡介)
|
||
- [本版本亮點:全平台閉環](#本版本亮點全平台閉環)
|
||
- [合規與反濫用](#合規與反濫用)
|
||
- [功能特性](#功能特性)
|
||
- [全平台支援](#全平台支援)
|
||
- [系統架構](#系統架構)
|
||
- [快速開始](#快速開始)
|
||
- [使用者文件](#使用者文件)
|
||
- [更新日誌](#更新日誌)
|
||
- [相關專案](#相關專案)
|
||
- [聯絡方式](#聯絡方式)
|
||
|
||
---
|
||
|
||
## 專案簡介
|
||
|
||
**SimpleRemoter** 是一個端到端跨平台的遠端控制解決方案。
|
||
|
||
專案核心基於經典 **Gh0st 架構**,最早始於 2019 年 1 月。歷經 7 年持續迭代——從 IOCP 通訊核心重構、x264 視訊級編碼、V2 檔案傳輸協定、多層授權體系,到 Linux 與 macOS 用戶端的引入——本版本最終完成**用戶端 + 伺服端的全平台閉環**:三大桌面作業系統(Windows / Linux / macOS)在任一側都可作為受控端或主控端。
|
||
|
||
**原始來源:** [zibility/Remote](https://github.com/zibility/Remote) | **起始日期:** 2019.1.1
|
||
|
||
[](https://star-history.com/#yuanyuanxiang/SimpleRemoter&Date)
|
||
|
||
---
|
||
|
||
## 本版本亮點:全平台閉環
|
||
|
||
本專案長期以 **C++ MFC 主控**(`YAMA.exe`)為核心交付形態——經典 Gh0st 架構、IOCP 高效能核心、完整的遠端桌面 / 檔案 / 程序 / 媒體功能堆疊、多層授權體系、品牌客製化——**至今仍是主要使用的主控**。MFC 主控內建了基於 WebSocket 的 Web 遠端桌面服務,從 v1.3.1 起就已經支援**任意平台的瀏覽器**遠控被管裝置(手機 / 平板 / Linux / macOS 桌面均可)。
|
||
|
||
本版本(v1.3.4)補上了最後一塊拼圖——**Go 主控**:一個**功能簡潔、聚焦於「遠端桌面 + 遠端終端 + 多使用者分級」** 的輕量伺服端,跨 Windows / Linux / macOS 編譯執行。它的定位**不是取代 MFC**,而是為那些**不方便執行 Windows VPS** 的使用者提供原生的 Linux / macOS 主控落腳點——例如純 Linux 伺服器、ARM Mac 長駐、嵌入式主控盒等情境。
|
||
|
||
### 兩種主控形態如何選擇
|
||
|
||
| 形態 | GUI | 功能覆蓋 | 平台 | 定位 |
|
||
|---|---|---|---|---|
|
||
| **C++ MFC 主控** (`YAMA.exe`) | 原生 Windows GUI + 內建 Web 服務 | ✅ **全部功能** | Windows | **主推方案**。日常運維、檔案管理、媒體擷取、多層授權、品牌客製化等都用它 |
|
||
| **Go 主控**(新) | Web UI(任何瀏覽器) | 遠端桌面 + 遠端終端 + 多使用者 | Windows / Linux / macOS | **補充方案**。需要「零 Windows 依賴」的純 Linux / macOS 主控部署 |
|
||
|
||
> [!TIP]
|
||
> 兩種主控**使用同一套用戶端**——可以混搭,例如一台 Windows MFC 主控 + 一台 Linux Go 主控並行管理同一批裝置群。
|
||
|
||
### Go 主控的核心能力(v1.3.4 新增)
|
||
|
||
- **遠端桌面**:H.264 流透過 WebSocket 直接推送瀏覽器,WebCodecs 硬體解碼,1080P @ 20fps 流暢
|
||
- **遠端終端**:xterm.js + ConPTY/PTY,支援調整尺寸、Tab 自動補全
|
||
- **多使用者體系**:管理員 / 一般使用者分級、Challenge-Response 登入、不透明 token、按裝置群授權
|
||
- **生產部署**:Nginx 反向代理 + Let's Encrypt + Keyboard Lock + 全螢幕控制,防止 ESC / F11 誤退出
|
||
- **刻意保持輕量**:不包含檔案管理、媒體擷取、登錄檔、服務管理等 MFC 主控專屬功能——這些請走 MFC 主控
|
||
|
||
### 全平台支援矩陣
|
||
|
||
| | **用戶端 (受控端)** | **主控端** |
|
||
|---|---|---|
|
||
| **Windows** | ✅ 完整功能 | ✅ MFC `YAMA.exe`(推薦)/ Go |
|
||
| **Linux** (X11) | ✅ 螢幕 + 終端 + 檔案 + 剪貼簿 | ✅ Go |
|
||
| **macOS** (Intel + Apple Silicon) | ✅ 螢幕 + 終端 + 檔案 + 剪貼簿 | ✅ Go |
|
||
|
||
---
|
||
|
||
## 合規與反濫用
|
||
|
||
本專案長期堅持「明確的合規姿態」立場。本版本進一步收緊反濫用邊界。
|
||
|
||
### 內建技術措施
|
||
|
||
原始碼層面構築多道獨立可驗證的反濫用屏障,詳見 [反濫用技術措施清單](./docs/Compliance_TechnicalMeasures.md):
|
||
|
||
- **入站連線 IP 區段校驗**:試用版若被部署到公網會觸發可見告警 latch
|
||
- **監聽埠數量上限**:試用版限制 ≤ 2 個監聽埠,防多租戶中轉改造
|
||
- **應用層 RTT 反代理**:LAN 內 RTT 閾值偵測,反向代理 / 隧道會被識別
|
||
- **多層授權架構**:V2 ECDSA 離線 + V1 連線 + 試用版分級,每一層限制獨立
|
||
- **Web 主控驗證**:強制 Challenge-Response 登入、登入限流、不透明 token、操作可稽核
|
||
|
||
### 合規文件
|
||
|
||
| 文件 | 內容 |
|
||
|---|---|
|
||
| 📖 [反濫用與合規使用政策](./docs/Compliance_AntiAbuse.md) | 完整的發行方-使用方責任劃分 |
|
||
| 📖 [反濫用技術措施清單](./docs/Compliance_TechnicalMeasures.md) | 每一道屏障的原始碼位置、設計動機、已知侷限 |
|
||
|
||
> [!IMPORTANT]
|
||
> **使用本軟體即視為您已閱讀、理解並接受上述合規文件全部條款。** 如您不能或不願接受任一條款,請立即停止使用並銷毀本軟體副本。
|
||
|
||
### 網路連線與隱私
|
||
|
||
| 版本類型 | 連線行為 |
|
||
|---|---|
|
||
| 試用版本 | 維持與授權伺服器的持續連線 |
|
||
| V1/V2 授權版本 | 啟動時連線驗證,通過後中斷 |
|
||
| V2 離線授權版本 | 無需連線授權伺服器 |
|
||
|
||
除獲得離線授權外,主控程式會與授權伺服器進行必要的資料互動(如偵測破解行為、驗證授權有效性)。
|
||
|
||
---
|
||
|
||
## 功能特性
|
||
|
||
### 遠端桌面
|
||
|
||

|
||
|
||
- **多種螢幕擷取**:GDI / DXGI / 虛擬桌面(Windows)、X11 + XShm(Linux)、CGDisplayStream(macOS)
|
||
- **智慧壓縮**:DIFF 差分(SSE2 最佳化)/ RGB565(節省 50% 頻寬)/ **H.264**(視訊級壓縮,x264 + VideoToolbox + WebCodecs)/ 灰階模式
|
||
- **自適應品質**:根據 RTT 自動調節影格率(5-30 FPS)、解析度、壓縮演算法
|
||
- **多顯示器**:多螢幕切換 + 多螢幕上牆
|
||
- **跨裝置檔案拖曳**:Ctrl+C/V 跨裝置複製貼上檔案
|
||
- **Web 遠端桌面**:瀏覽器直接存取,手機 / 平板可用([設定指南](./docs/WebHTTPS.md))
|
||
|
||

|
||
|
||
### 檔案管理
|
||
|
||

|
||
|
||
- **V2 傳輸協定**:支援 >4GB 大檔、斷點續傳、SHA-256 校驗
|
||
- **C2C 傳輸**:用戶端之間直接傳輸,無需經過主控
|
||
- **批次操作**:搜尋、壓縮、批次傳輸
|
||
|
||
### 終端管理
|
||
|
||

|
||
|
||
- **互動式 Shell**:Tab 自動補全、ANSI escape、調整尺寸
|
||
- **現代終端**:Windows ConPTY、Linux / macOS PTY
|
||
- **Web 終端**:xterm.js + WebSocket,與原生體驗一致
|
||
|
||
### 其他功能
|
||
|
||
| 模組 | 能力 |
|
||
|---|---|
|
||
| **程序管理** | 程序清單、CPU / 記憶體佔用、終止、DLL 注入 |
|
||
| **視窗管理** | 最大化 / 最小化 / 隱藏 / 關閉 |
|
||
| **媒體擷取** | 網路攝影機、雙向語音、鍵盤記錄 |
|
||
| **系統控制** | 服務管理、登錄檔、工作階段登出 / 關機 |
|
||
| **網路功能** | SOCKS 代理、FRP 穿透、埠映射 |
|
||
| **程式碼執行** | 遠端執行 DLL、記憶體載入、熱更新 |
|
||
|
||
---
|
||
|
||
## 全平台支援
|
||
|
||
### Windows 用戶端
|
||
|
||
**系統需求**:Windows 7 SP1 及以上
|
||
**功能完整性**:✅ 全部功能支援
|
||
|
||
### Linux 用戶端(v1.2.5+)
|
||
|
||
**系統需求**:
|
||
- 顯示伺服器:X11/Xorg(暫不支援 Wayland)
|
||
- 必需函式庫:libX11;推薦函式庫:libXtst(XTest 擴充)、libXss(閒置偵測)
|
||
|
||
| 功能 | 狀態 | 實作 |
|
||
|---|---|---|
|
||
| 遠端桌面 | ✅ | X11 螢幕擷取 + libx264 H.264 硬體編碼 |
|
||
| 遠端終端 | ✅ | PTY 互動式 Shell |
|
||
| 檔案管理 | ✅ | V2 協定、雙向傳輸、大檔 |
|
||
| 程序管理 | ✅ | 清單 + 終止 |
|
||
| 剪貼簿同步 | ✅ | xclip / xsel 外部工具,支援檔案 URI |
|
||
| 心跳 / RTT | ✅ | RFC 6298 RTT 估算 |
|
||
| 常駐程序 | ✅ | 雙 fork 守護化 |
|
||
|
||
**編譯**:`cd linux && cmake . && make`
|
||
|
||
### macOS 用戶端(v1.3.2+)
|
||
|
||
**系統需求**:
|
||
- macOS 10.15 (Catalina) 及以上
|
||
- 架構:Intel (x64) 和 Apple Silicon (arm64) 通用二進位檔
|
||
- 系統權限:螢幕錄影、輔助功能、完整磁碟存取
|
||
|
||
| 功能 | 狀態 | 實作 |
|
||
|---|---|---|
|
||
| 遠端桌面 | ✅ | CGDisplayStream + VideoToolbox H.264 硬體編碼 |
|
||
| 鍵鼠控制 | ✅ | CGEvent,支援雙擊、拖曳 |
|
||
| 遠端終端 | ✅ | PTY 互動式 Shell(zsh/bash) |
|
||
| 檔案管理 | ✅ | V2 協定、大檔 |
|
||
| 程序管理 | ✅ | proc_listpids + 終止 |
|
||
| 剪貼簿同步 | ✅ | NSPasteboard,支援檔案 URL + NSFilenamesPboardType |
|
||
| 常駐模式 | ✅ | `-d` 後台執行、電源管理、閒置偵測 |
|
||
|
||
**編譯**:`cd macos && ./build.sh`
|
||
|
||
### Go 主控(v1.3.4+)
|
||
|
||
**系統需求**:Go 1.21+(僅編譯時);二進位執行無依賴
|
||
|
||
| 能力 | 實作 |
|
||
|---|---|
|
||
| 遠端桌面 | H.264 → WebSocket → WebCodecs,1080P @ 20fps |
|
||
| 遠端終端 | xterm.js + PTY/ConPTY 透明轉發 |
|
||
| 多使用者 | Challenge-Response + 不透明 token + 按群授權 |
|
||
| 部署 | Nginx 反向代理 / Let's Encrypt / systemd unit / `/etc/environment` |
|
||
|
||
**編譯**:`cd server/go && go build -o server_linux_amd64 ./cmd`
|
||
|
||
---
|
||
|
||
## 系統架構
|
||
|
||
### 全平台拓撲
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────┐
|
||
│ 主控層 │
|
||
│ │
|
||
│ ┌──────────────────┐ ┌──────────────────┐ │
|
||
│ │ C++ MFC 主控 │ │ Go 主控 │ │
|
||
│ │ YAMA.exe │ │ (Win/Linux/Mac) │ │
|
||
│ │ Windows only │ │ Web UI 全平台 │ │
|
||
│ └────────┬─────────┘ └────────┬─────────┘ │
|
||
└────────────┼──────────────────────────┼─────────────────┘
|
||
│ │
|
||
│ TCP (自訂二進位協定) │ TCP (裝置) + WS (瀏覽器)
|
||
└────────┬─────────────────┘
|
||
│
|
||
┌──────────────┼──────────────┐
|
||
▼ ▼ ▼
|
||
┌─────────┐ ┌─────────┐ ┌─────────┐
|
||
│ Windows │ │ Linux │ │ macOS │
|
||
│ 用戶端 │ │ 用戶端 │ │ 用戶端 │
|
||
│ (DXGI) │ │ (X11) │ │ (CG) │
|
||
└─────────┘ └─────────┘ └─────────┘
|
||
```
|
||
|
||
### 多層授權(簡化視圖)
|
||
|
||
```
|
||
超級管理員(授權伺服器)
|
||
│ V2 授權 (ECDSA P-256)
|
||
▼
|
||
第一層主控 ──┬── 第一層主控 ──┬── 第一層主控 ◄── 獨立營運 / 完全隔離
|
||
│ V1 │ V1 │ V1
|
||
▼ ▼ ▼
|
||
下級主控 → 用戶端 (10,000+) → 裝置群
|
||
```
|
||
|
||
| 授權 | 驗證 | 特點 |
|
||
|---|---|---|
|
||
| V2 授權 | ECDSA P-256 簽章 | 離線驗證、下級連線數限制 |
|
||
| V1 授權 | HMAC + 連線驗證 | 連接上級伺服器驗證 |
|
||
| 試用版 | 連線驗證 | 功能受限、連線限制(詳見 [合規文件](./docs/Compliance_AntiAbuse.md)) |
|
||
|
||
完整說明:[多層授權方案](./docs/MultiLayerLicense.md)
|
||
|
||
---
|
||
|
||
## 快速開始
|
||
|
||
### 5 分鐘快速體驗
|
||
|
||
無需編譯,下載即用:
|
||
|
||
1. **下載發行版** - 從 [Releases](https://git.simpleremoter.com/yuanyuanxiang/SimpleRemoter/releases/latest) 下載最新版本
|
||
2. **啟動主控** - 執行 `YAMA.exe`(或 Linux 上的 `server_linux_amd64`),輸入授權資訊
|
||
3. **生成用戶端** - 工具列「生成」設定伺服器 IP 和埠
|
||
4. **部署用戶端** - 複製到目標機器執行
|
||
5. **開始控制** - 用戶端上線後雙擊遠端桌面
|
||
|
||
> [!TIP]
|
||
> 首次測試建議在同一台機器上執行主控和用戶端,使用 `127.0.0.1` 作為伺服器位址。
|
||
|
||
### Go 主控部署(VPS)
|
||
|
||
參見 [Web 遠端桌面設定](./docs/WebHTTPS.md)。最小步驟:
|
||
|
||
```bash
|
||
# 1. 在 VPS 上跑 Go 主控
|
||
nohup ./server_linux_amd64 --port 6543 --http-port 9001 > yama.log 2>&1 &
|
||
|
||
# 2. nginx 反代 9001 到 HTTPS
|
||
# 詳見 docs/WebHTTPS.md
|
||
|
||
# 3. 瀏覽器開啟 https://yourdomain.com/,登入、新增用戶端
|
||
```
|
||
|
||
### 試用授權(v1.2.4+)
|
||
|
||
提供 2 年有效期、20 並發連線、僅限內網的試用口令:
|
||
|
||
```
|
||
主控 IP:127.0.0.1
|
||
序號:12ca-17b4-9af2-2894
|
||
密碼:20260201-20280201-0020-be94-120d-20f9-919a
|
||
驗證碼:6015188620429852704
|
||
有效期:2026-02-01 至 2028-02-01
|
||
```
|
||
|
||
> [!NOTE]
|
||
> **多層授權方案**
|
||
>
|
||
> 支援代理商 / 開發者獨立營運:第一層使用者獲得授權後可完全離線使用,下級使用者只連線到您的伺服器。完整說明:[多層授權方案](./docs/MultiLayerLicense.md)
|
||
|
||
### 編譯
|
||
|
||
- **C++ 主控 & Windows 用戶端**:VS 2019/2022/2026 開啟 `SimpleRemoter.sln` → Release | x64
|
||
- **Linux 用戶端**:`cd linux && cmake . && make`
|
||
- **macOS 用戶端**:`cd macos && ./build.sh`
|
||
- **Go 主控**:`cd server/go && go build ./cmd`
|
||
|
||
---
|
||
|
||
## 使用者文件
|
||
|
||
| 文件 | 適用對象 | 內容 |
|
||
|---|---|---|
|
||
| 📖 [快速部署指南](./docs/QuickStart.md) | 首次使用者 | 10 分鐘首次部署 |
|
||
| 📖 [多級網路搭建指南](./docs/NetworkSetup.md) | 需要管理下級的使用者 | 多級網路架構 |
|
||
| 📖 [日常使用手冊](./docs/UserManual.md) | 所有使用者 | 全功能詳解 |
|
||
| 📖 [代理商營運手冊](./docs/AgentManual.md) | 代理商 / 經銷商 | 下級授權、FRP 設定 |
|
||
| 📖 [客製化開發指南](./docs/CustomizationGuide.md) | 技術型客戶 | 品牌客製化、二次開發 |
|
||
| 📖 [Web 遠端桌面設定](./docs/WebHTTPS.md) | 行動端 / Go 主控使用者 | HTTPS 反代、網域設定 |
|
||
| 📖 [反濫用政策](./docs/Compliance_AntiAbuse.md) | 所有使用方 | 合規邊界、責任劃分 |
|
||
| 📖 [反濫用技術措施](./docs/Compliance_TechnicalMeasures.md) | 合規稽核方 | 屏障原始碼位置 + 設計動機 |
|
||
|
||
---
|
||
|
||
## 更新日誌
|
||
|
||
### v1.3.5 (2026.5.31)
|
||
|
||
**硬體編碼擴充(H.264 / AV1)& 多客戶授權生產化 & FRP 子級自動化**
|
||
|
||
**新功能:**
|
||
- **用戶端硬體編碼**:新增 FFmpeg 路徑的 `CFFmpegH264Encoder` / `CFFmpegAV1Encoder`,可呼叫 NVENC / Quick Sync / AMF 等 GPU 編碼器;`EncoderFactory` 執行時自動優選
|
||
- **靜畫跳編碼**:擷取層比對前後影格,完全相同時跳過編碼與傳輸——硬體編碼器在靜畫時不再被強行餵入相同影格
|
||
- **選單驅動的壓縮 / 解壓**:自訂檔案 + 資料夾選擇器(`ZstaPickerDlg`),可從遠端主機直接選混合目錄樹打包或解壓到目標路徑
|
||
- **下級主控自動啟動 frp client**:上級簽發 V2 授權時一併下發 frp 設定,子級主控啟動即接通中繼鏈路,無需人工設定 `frpc.toml`
|
||
- **合規可裁剪建置**:`DISABLE_X264` / `DISABLE_FFMPEG` 編譯開關,可在不動原始碼的前提下產出完全不含 x264 / FFmpeg 的二進位,搭配 `LICENSE-THIRD-PARTY.txt`
|
||
|
||
**改進:**
|
||
- **多客戶授權伺服端硬化**:`licenses.ini` hot-path 互斥鎖 + 30s 節流,寫入頻率從 0.6 → 0.07 次/秒(外推 100 在線:~160 → ~3.3 次/秒);閉環「預設續期配額消失」的 read-modify-write 競態
|
||
- **`licenses.ini` IP 清單 4KB 截斷修復**:分段寫入避免溢出尾部被永久丟棄
|
||
- **匯入 SN 按 `BindType` 嚴格校驗**:避免離線版 / 連線版 / 試用版 SN 串庫
|
||
- **用戶端 SCLoader 大瘦身**:移除一萬行硬編碼 stub(`SCLoader.cpp`),改用主控執行時下發 DLL 注入
|
||
- **用戶端 logger 優雅退出**:程序結束時刷出佇列裡的日誌並記錄退出訊號
|
||
- **IOCPClient 早期封包防護**:`setManagerCallBack` 之前抵達的封包不再觸發空回呼崩潰
|
||
- **多顯示器游標位置修正 & MJPEG 錄製翻轉修復**:trace cursor 跨螢幕座標系修正;MJPEG 上下顛倒回放修正 + 編碼失敗 0 位元組 AVI 殘留清理
|
||
- **FRP `privilegeKey` 改用 UTC 時間戳**:跨時區主控 / 中繼 / 用戶端不再因本地時區讓 frp auth 失效
|
||
- **Linux 用戶端 `install.sh` / `uninstall.sh`**:補齊一鍵部署 / 解除安裝指令稿
|
||
- **Go 伺服端建置管線**:`build.ps1` / `build.cmd` 把 Go 主控納入主建置流程
|
||
- **Release / Download 連結全面遷移到 Gitea**:v1.3.4+ 不再發行到 GitHub
|
||
|
||
**Bug 修復:**
|
||
- Web 檔案管理觸控雙擊不穩:觸控閾值放寬避免誤判拖曳 + 兩次 `click` 模擬實體雙擊;修復跨平台資料夾重新命名 / 點擊無回應
|
||
- 向 sub-master 發送 AUTH 時密碼產生路徑錯誤,下級始終認證失敗
|
||
- 試用 SN 誤進入 V2 / V1 授權下發分支
|
||
|
||
### v1.3.4 (2026.5.20)
|
||
|
||
**Go 主控 & 全平台主控閉環 & Linux/macOS 用戶端剪貼簿**
|
||
|
||
**新功能:**
|
||
- **Go 主控**:Go 語言實作的跨平台輕量主控服務(Windows / Linux / macOS),聚焦於「遠端桌面 + 遠端終端 + 多使用者分級」——不取代 MFC 主控,為需要純 Linux/macOS 落地的運維情境兜底
|
||
- **Web 遠端桌面(Go 主控)**:H.264 → WebSocket → WebCodecs 解碼、1080P @ 20fps、桌面 + 行動端全適配;遠端游標同步、Keyboard Lock 防 ESC/F11 誤退、控制態下 F11/Esc 直傳目標
|
||
- **Web 遠端終端(Go 主控)**:xterm.js + PTY/ConPTY 透明轉發、調整尺寸、中斷自動清理面板
|
||
- **多使用者體系(Go 主控)**:管理員 / 一般使用者分級、按裝置群授權、Challenge-Response 登入、登入限流(IP + 使用者名)、不透明 token
|
||
- **Linux 用戶端剪貼簿**:基於 xclip / xsel 的雙向剪貼簿同步,支援 `text/uri-list` 檔案路徑
|
||
- **macOS 用戶端剪貼簿**:基於 NSPasteboard 的雙向剪貼簿同步,檔案 URL + 舊版 API 相容
|
||
|
||
**改進:**
|
||
- Web 工作階段自適應品質被 clamp 到 H264-only 等級(≥ Good),避免 Ultra/High(DIFF/RGB565)讓瀏覽器無法解碼
|
||
- Linux 用戶端預設 `QualityLevel` 改為 `QUALITY_GOOD`(對齊 Windows/macOS),不再請求伺服端自適應
|
||
- 登入文字欄位按用戶端能力位條件解碼 UTF-8 / GBK,修正德文 / 法文等帶變音符的主機名 / 地理位置亂碼
|
||
- 裝置清單穩定排序(按上線時間),避免每次心跳 / WS 推播都洗牌
|
||
- RDP 重置按鈕接通到裝置端 `CMD_RESTORE_CONSOLE`
|
||
- MFC 主控開啟 Web 遠控工作階段時不再短暫閃一下視窗(OnInitDialog 工作階段判定上移)
|
||
|
||
**Bug 修復:**
|
||
- Web 工作階段從全螢幕點關閉後裝置清單點擊失靈(fullscreen 子樹規則,`showPage` 統一退全螢幕)
|
||
- 用戶端突然中斷後 Web 遠控頁面停留在 "Connected" 永不更新(新增 `device_offline` 通知)
|
||
- 多顯示器輪詢導致兩路螢幕子連線同時灌影格,畫面在兩個顯示器間跳變(`BindScreenConn` 退役舊 sub-conn)
|
||
- Go 主控 `ListDevices` 因 map 迭代隨機化導致清單亂序
|
||
|
||
### v1.3.3 (2026.5.10)
|
||
|
||
**Linux/macOS 用戶端深化 & 雙層認證安全**
|
||
|
||
- 伺服端身份校驗(Layer 1):Linux/macOS 用戶端 HMAC-SHA256 校驗伺服端身份
|
||
- 子連線認證(Layer 2,TOKEN_CONN_AUTH):所有子連線首封簽章 + clientID 釘死
|
||
- Linux 用戶端:H.264 硬體編碼、XFixes 游標類型偵測、UTF-8 協定能力位
|
||
- macOS 用戶端:檔案管理器、遠端終端、剪貼簿同步、常駐程序模式
|
||
- 主控:螢幕預覽縮圖、區域截圖、遠端桌面縮放、Web 使用者按群過濾
|
||
- 共用程式碼抽到 `common/`(rtt_estimator / client_auth_state / posix_net_helpers)
|
||
|
||
### v1.3.2 (2026.5.1)
|
||
|
||
**macOS 用戶端 & Web 遠端桌面增強**
|
||
|
||
- 全新 macOS 原生用戶端:螢幕擷取、H.264 編碼、鍵鼠控制
|
||
- Web 遠端桌面游標同步
|
||
- 觸發器功能、使用者管理(角色權限)
|
||
- DLL 執行增強、遠端桌面輸入法切換
|
||
|
||
### v1.3.1 (2026.4.15)
|
||
|
||
**Web 遠端桌面(MFC 主控)& 多主控共享增強**
|
||
|
||
- Web 遠端桌面:基於 WebSocket 實作,手機 / 平板瀏覽器存取
|
||
- 多顯示器停用自適應、狀態列到期日期自動更新
|
||
- 多層授權自動更新、DLL 快取重用
|
||
|
||
### v1.3.0 (2026.4.8)
|
||
|
||
**多層級 FRP 架構 & 品牌客製化**
|
||
|
||
- 本機 FRPS 伺服器、多層級架構自動 FRP 整合
|
||
- V2 授權下級連線數限制、授權檔匯入 / 匯出
|
||
- 增強型硬體 ID (V2)、UI 品牌客製化
|
||
- 執行時功能限制可設定
|
||
|
||
### 更早版本
|
||
|
||
v1.2.x 系列(郵件通知、遠端音訊 Opus、V2 授權協定、V2 檔案傳輸、現代 Web 終端 xterm.js、遠端桌面工具列重寫、自適應品質控制、Linux 用戶端初版……)及 2019 年以來的全部演進,請見 [history.md](./history.md)。
|
||
|
||
---
|
||
|
||
## 相關專案
|
||
|
||
- [HoldingHands](https://github.com/yuanyuanxiang/HoldingHands) - 全英文介面遠端控制
|
||
- [Gh0st](https://github.com/yuanyuanxiang/Gh0st) - 經典 Gh0st 實作
|
||
|
||
---
|
||
|
||
## 聯絡方式
|
||
|
||
| 管道 | 連結 |
|
||
|------|------|
|
||
| **QQ** | 962914132 |
|
||
| **Telegram** | [@doge_grandfather](https://t.me/doge_grandfather) |
|
||
| **Email** | [yuanyuanxiang163@gmail.com](mailto:yuanyuanxiang163@gmail.com) |
|
||
| **Issues** | [問題回報](https://t.me/SimpleRemoter) |
|
||
| **PR** | [貢獻程式碼](https://git.simpleremoter.com/) |
|
||
|
||
### 贊助支持
|
||
|
||
本專案源於技術學習與興趣愛好,作者將根據業餘時間不定期更新。如果本專案對您有所幫助,歡迎贊助支持:
|
||
|
||
[](https://github.com/yuanyuanxiang/yuanyuanxiang/blob/main/images/QR_Codes.jpg)
|
||
|
||
---
|
||
|
||
<p align="center">
|
||
<sub>如果您喜歡這個專案,請給它一個 ⭐ Star!</sub>
|
||
</p>
|