KNSoft.ZPigeon 是面向 Windows 10 及以上系统的远程管理平台。项目通过原生 Windows 能力提供覆盖系统、网络、存储、任务、硬件、软件和远程访问的统一 Web 管理界面。
- 高效传输:以 QUIC 与 TLS 1.3 为主要传输路径,支持异步 Request、流式 Channel、背压控制、KeepAlive、大文件分块传输和 XPRESS 自适应压缩。
- 清晰架构:Transport、Connection、Protocol 和业务模块严格分层,Client 只负责执行,Server 统一发起控制。
- 原生实现:核心使用纯 C,优先采用 KNSoft.NDK、NT 层接口和 KNSoft.MakeLifeEasier,减少不必要的包装与转换。
- 安全优先:严格验证 Server 身份,Client 使用持久化 CNG 实例密钥;远程错误保留 NTSTATUS、Win32、Winsock、HRESULT、QUIC 等原始类型和代码。
- 极简高效:不背负旧系统、未发布协议和历史兼容路径,直接使用 Windows 10 及以上系统能力。
- 功能全面:通过同一管理端覆盖 Windows 主要管理能力,并提供可复用的 ACL、文件选择和十六进制编辑组件。
- 易于部署:同一 Solution 构建原生 SDK、Client、Server 桥接层和 C# Web 管理端。
- Protocol:定义传输无关的 Frame、消息、状态和模块 Codec。
- Client SDK:运行于被控端,维护连接并执行 Server 下发的本机操作。
- Server SDK:并发维护已认证 Client 连接并针对指定连接发起管理请求。
- Server Native:向托管程序提供稳定的 C ABI。
- Server Managed:封装可复用的 .NET 管理能力。
- Web:提供本地回环管理 API、已连接 Client 首页和按 Client 隔离的可视化控制界面。
- Transport:支持 QUIC、TLS/TCP 和 DTLS/UDP,默认使用 QUIC。
多个 Client 可同时主动连接一个 Server,并接受 Server 的统一管理。首页按客户端公钥指纹列出当前连接,选择后进入该 Client 的独立管理上下文。
-
ZPigeon
- 连接:查看 Client 连接、传输、请求、吞吐和延迟状态,并以自动或手动五档策略控制传输压缩。
-
系统管理
- 系统信息:查看 Windows、计算机、系统配置和环境变量,并修改可编辑项目。
- WSL:查看、启动、终止和设置默认 Linux 发行版,并显示版本、默认用户及互操作配置。
- 页面文件:查看和配置页面文件路径、系统管理大小或自定义大小。
- 沙箱:管理 AppContainer Profile、能力与回环配置,并生成安全默认的
.wsb配置启动 Windows Sandbox。 - WinObj:按需展开 Windows Object Manager 命名空间,并仅为实际存在子目录的节点显示展开按钮。
- 注册表:以树形界面浏览和管理注册表项、注册表值、ACL 及二进制数据。
- 用户与会话:查看和管理本地用户、终端会话及登录会话,并显示 Microsoft 账户 UPN。
- WMI:浏览命名空间、类和实例,并执行 WQL 查询。
- 更新:查看更新状态和安装历史,并可立即检查更新。
- 证书:管理当前用户和本地计算机证书存储;导入时可选择作用域、存储区和 PFX/P12 私钥选项。
- 凭据:管理 Windows 凭据和 Web 凭据。
- 事件查看器:浏览频道和事件,管理日志状态、属性和清除操作,并支持增量流式导出。
-
网络
- 端口转发:管理 TCP、UDP 及 RDP、CDP、WinDbg 等内置转发规则。
- 代理与 VPN:查看和管理当前用户 WinINET 代理、系统 WinHTTP 代理及 RAS VPN 配置;VPN 只在已连接时提供断开操作。
- 网络共享:管理本机发布的共享和连接到其他主机的共享。
- 网络适配器:查看接口状态、地址、速率、统计信息和网络类别,并支持启用、禁用及公用/专用网络切换。
- 路由表:显示 IPv4 和 IPv6 路由、下一跃点、接口、跃点数及来源。
- 网络连接:显示 TCP、UDP、IPv4、IPv6 端点、连接状态和所属 PID,并可关闭受支持的已建立 IPv4 TCP 连接。
- WLAN:按无线接口查看网络和配置文件,执行连接管理并读取受支持的已保存密码。
- 防火墙:管理网络配置文件、入站规则和出站规则。
-
存储管理
- 文件:提供接近资源管理器的目录树、分页浏览、类型图标、按文件类型注册的右键菜单、搜索、传输、哈希、属性、ACL 和二进制编辑;目录树与文件列表共用独立的文件夹菜单,并可从所选目录打开任一可用 Shell;支持分页文本与结构化数据查看、分档图片预览、PDF 与浏览器原生媒体流、系统归档浏览、快捷方式与证书查看/安装,以及脚本、INF、注册表、字体和安装包操作;Client 还可使用 BITS 或 WinHTTP 将 HTTP/HTTPS 资源直接下载到当前目录。
- 便携设备:浏览和管理 MTP 设备中的对象,并支持上传和下载。
- 剪贴板:读取、编辑并监听用户剪贴板内容和格式变化;图像及其他二进制格式以原始字节传输。
-
任务管理
- 进程:统一查看 Windows 与 WSL 进程;Windows 进程支持控制、优先级、内存读写及转储,WSL 进程支持终止、挂起和恢复。
- 窗口:提供原生窗口树和按需展开的 UI Automation 树;支持窗口属性、控制、静态图像和视频流。
- 服务:查看服务状态、配置、依存关系和恢复设置,并执行常用控制操作。
- 任务计划:以树形界面浏览和管理计划任务。
-
硬件管理
- 硬件信息:按处理器、主板、内存、显示器、存储、网络、设备和电源分页查看原生硬件信息。
- 设备管理:以树形界面查看设备并执行启用、禁用、重启和卸载等操作。
- 蓝牙:查看无线电和设备状态,管理发现、传入连接和设备配对。
- 键盘:按需使用低级键盘钩子实时查看按键事件,不在 Client 留存记录。
- 位置:按需读取被控端 Windows 位置服务的当前报告。
- 固件:按需读取 CPUID、SMBIOS 和 ACPI,并管理受支持的 UEFI 变量和启动项。
- 视频:枚举被控端摄像头,并按可选分辨率、帧率和图像质量实时查看画面。
- 音频:管理输入输出设备、合成器和音量,并获取输入或输出音频流。
- 串口:枚举并配置串口,以文本或十六进制方式实时收发和导出调试数据。
- 电源:显示电池与 UPS 状态,管理电源计划,并执行锁屏、注销、睡眠、休眠、关机、重启和固件启动。
-
软件管理
- 已安装程序:查看传统程序、Windows App、WinGet 软件和 Windows 可选功能;支持后台静默下发 MSI、MSIX/AppX、Bundle、App Installer 及依赖包,并管理 Windows App 和 WinGet 软件。
- 部署作业:安装、升级和卸载由 Client 原生后台作业执行,反馈阶段、进度、结构化结果码和重启需求;安装器不允许自动重启系统。
- 字体:查看当前用户和本地计算机字体,并安装或卸载字体文件。
- 浏览器:管理 Edge 和 Chrome,读取浏览数据、配置文件和版本,并提供 CDP 调试入口。
-
远程访问
- 远程终端:基于系统 ConPTY 提供多会话 Shell,以及批处理、PowerShell、VBScript、HTA 脚本执行和完整交互;文件管理可复用同一 Shell 枚举与会话入口,并以所选文件夹为工作目录。
- 远程执行:运行本机或下发的程序与脚本,并反馈 PID、状态和退出码;软件包统一从软件管理下发。
- 远程桌面:通过受控端口转发建立到被控端的 RDP 连接。
- 启动
KNSoft.ZPigeon.Web.exe。 - 启动一个或多个
KNSoft.ZPigeon.Client.exe。 - 打开
http://127.0.0.1:9972,再从首页选择 Client。
当前 Web 是本机闭环原型,仅接受 127.0.0.1 的规范 Host 和同源浏览器请求;HTTP 与 WebSocket 都会拒绝恶意网页发起的跨站访问。没有浏览器来源信息的本机原生程序仍视为可信,本阶段不把任意本机进程纳入安全边界。对外访问应通过本机反向代理,并重新设计 HTTPS、身份验证和可信代理边界。
Web 根据浏览器语言显示中文或英文;不受支持的语言回退到英文。业务二进制数据在 Native、Managed、HTTP 和浏览器之间保持字节形态,仅将小型操作参数与记录元数据编码为 JSON,避免 Base64、UTF-16 字符串和 JSON 的无意义往返转换。
普通构建保持 /W3 且不隐式运行代码分析。使用 msbuild Source\CodeAnalysis.proj /t:Cpp 单独运行原生 C/C++ 分析,使用 /t:Managed 运行现代 Roslyn/.NET Analyzer,或使用 /t:All 依次运行两者并校验 I18N 目录。全局 RunCodeAnalysis 只用于原生项目,托管项目不再进入已废弃的 FxCop 路径;每类分析在运行前会删除自己的旧报告,SARIF 统一写入 Source\OutDir\CodeAnalysis。
- Design.md:架构、协议与安全模型。
- Handoff.md:项目原则与交接说明。
- Progress.md:当前实现状态。
- Release.md:发布前检查清单。
MIT,见 LICENSE。