Skip to content

Latest commit

 

History

115 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KNSoft.ZPigeon

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 连接。

本地运行

  1. 启动 KNSoft.ZPigeon.Web.exe
  2. 启动一个或多个 KNSoft.ZPigeon.Client.exe
  3. 打开 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

文档

License

MIT,见 LICENSE

About

Remote access and management SDK, powerful and fast.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages