Xbgit.Tools 1.3.0-Alpha3

This is a prerelease version of Xbgit.Tools.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Xbgit.Tools --version 1.3.0-Alpha3
                    
NuGet\Install-Package Xbgit.Tools -Version 1.3.0-Alpha3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xbgit.Tools" Version="1.3.0-Alpha3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Xbgit.Tools" Version="1.3.0-Alpha3" />
                    
Directory.Packages.props
<PackageReference Include="Xbgit.Tools" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Xbgit.Tools --version 1.3.0-Alpha3
                    
#r "nuget: Xbgit.Tools, 1.3.0-Alpha3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Xbgit.Tools@1.3.0-Alpha3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Xbgit.Tools&version=1.3.0-Alpha3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Xbgit.Tools&version=1.3.0-Alpha3&prerelease
                    
Install as a Cake Tool

Xbgit.Tools - 综合工具包

概述

Xbgit.Tools 是一个综合性的工具包,提供了多种实用功能,包括网络通信、日志记录、数据处理、文件操作、设备控制、安全加密、系统管理等。适用于 .NET 9.0 开发环境,旨在简化开发流程并提高效率。

功能模块

1. Core - 核心工具

提供基础的通用工具类:

  • StringUtils.cs:字符串操作工具(比较、替换、正则、随机生成、全角检测等)。
  • DateTimeUtils.cs:日期时间处理工具(格式化、运算、比较、NTP 网络时间)。
  • EnumUtils.cs:枚举扩展工具。
  • RetryUtils.cs:重试/弹性机制,支持指数退避、自定义重试条件、CancellationToken。
  • CacheUtils.cs:线程安全内存缓存,支持 TTL 过期、LRU 淘汰、后台自动清理。
  • EncodingUtils.cs:编码转换工具(Base64、URL、Hex、Unicode、HTML、HexDump)。
  • ReflectionUtils.cs:反射工具(属性读写、方法调用、对象映射、特性扫描、枚举描述)。
  • CronUtils.cs:Cron 表达式解析与调度计算(下次/上次执行时间、匹配检测、中文描述)。
  • CommandLineUtils.cs:命令行参数解析器(长短选项、标志、引号感知、命令构建)。
  • I18nUtils.cs:国际化资源管理(多语言、JSON 加载、点路径键、回退语言、格式化参数)。
  • Configuration/GenericConfigManager.cs:基于 JSON 的线程安全单例配置管理器。
  • StatusStyleUtils.cs:状态样式解析(OperationStatus 枚举→StatusLevel 语义级别→StatusStyle 结构体,含颜色/文本/符号,UI 无关)。
  • OperationHandlerUtils.cs:通用操作处理(同步/异步安全执行、异常捕获、计时、回调、防重入、取消支持、IOperationFeedback 反馈接口)。

2. Data - 数据处理工具

提供数据相关的工具类:

  • JsonUtils.cs:JSON 格式化、验证、合并、序列化/反序列化。
  • SqliteHelper.cs:基于 Dapper 的 SQLite 全功能封装(连接池、CRUD、批量插入、跨库合并、分页、备份)。
  • XmlUtils.cs:XML 节点/属性增删改查(XPath)。
  • VersionUtils.cs:日期版本号体系(YYYY.MM.DD.N),支持解析、比较、自增。
  • CsvUtils.cs:CSV/TSV 读写,支持 RFC 4180(引号字段、嵌入换行、分隔符转换)。
  • IniUtils.cs:INI 配置文件读写(Section/Key/Value、注释保留)。
  • ValidationUtils.cs:数据校验(邮箱、手机号、身份证、银行卡、统一社会信用代码、ISBN、车牌号等)。
  • Mock/GenDataUtils.cs:测试数据生成器(中文姓名、身份证、银行卡、地址、公司名等)。

3. Device - 设备相关工具

提供设备相关的工具类:

  • Android/AndroidUtils.cs:Android ADB/scrcpy 封装(应用管理、文件传输、屏幕投射、触摸模拟)。
  • Android/AndroidSqliteTool.cs:通过 ADB 在 Android 设备上执行 SQLite 查询。
  • SerialPortUtils.cs:串口通信封装(打开/关闭、读写、后台监听、多格式支持)。
  • WakeOnLan.cs:网络唤醒(WOL),支持多种 MAC 格式、重复发送提高可靠性。

4. Files - 文件操作工具

提供文件操作相关的工具类:

  • FileUtils.cs:文件读写、复制、移动、重命名、MD5 校验、变更检测。
  • FolderUtils.cs:文件夹大小、批量 MD5、条件创建、递归复制(CopyFolder)。
  • Compression/GzipUtils.cs:GZip 压缩解压,支持 AES 加密压缩。
  • Compression/ZipUtils.cs:ZIP 压缩解压,支持 AES 加密压缩。
  • FileWatcherUtils.cs:增强型文件监控(防抖、包含/排除模式过滤、事件聚合)。
  • ImageUtils.cs:图片处理(缩放、裁剪、旋转、翻转、文字/图片水印、压缩、格式转换、缩略图、Base64)。
  • PdfUtils.cs:PDF 操作(合并、拆分、文本提取、水印、删除页、旋转、图片转 PDF、信息读取)。
  • VersionControl/SvnUtils.cs:SVN CLI 封装(update/commit/status/远程检查)。
  • VersionControl/GitUtils.cs:Git CLI 封装(clone/pull/push/commit/branch/tag/stash/log)。
  • BackupUtils.cs:文件/文件夹备份还原(原样复制/ZIP 压缩、按数量/天数保留、备份查询、自动清理、全局/临时备份根目录)。

5. Net - 网络通信工具

提供网络通信相关的工具类:

  • MqttUtils.cs:MQTT 协议工具,支持多 Broker 管理、消息发布/订阅、自动重连控制等。
  • HttpUtils.cs:HTTP 请求工具(GET/POST,支持代理)。
  • FtpUtils.cs:FTP 文件传输工具(上传/下载/列目录/删除)。
  • WebSocketUtils.cs:WebSocket 客户端,支持自动重连、持续监听、事件驱动。
  • SocketUtils.cs:TCP/UDP Socket 封装(服务端/客户端、端口检测)。
  • EmailUtils.cs:SMTP 邮件发送(附件、抄送、密送、HTML 正文)。
  • SshUtils.cs:SSH/SFTP 远程操作(命令执行、文件上传下载、目录管理)。
  • RestApiUtils.cs:Fluent REST API 客户端构建器(链式配置、Bearer/Basic 认证、重试、文件上传下载)。
  • Communication/:传输无关的节点间通信框架(心跳、P2P/广播、版本约束匹配),可注入任意 ITransportChannel。
  • Transport/:传输通道抽象与工厂(ITransportChannel/TransportFactory、MQTT 与 Socket 通道、TLV 帧编解码)。
  • Discovery/:临时服务器 UDP 发现与宿主(星型拓扑下的动态发现、公告广播、当前服务器设置)。
  • Messaging/:端到端加密即时消息能力层(MessagingClient 门面、在线状态/联系人/群组/阅后即焚管理、SQLite 本地历史、大消息分片重组)。
MqttUtils 功能说明
方法 说明
AddBrokerAsync(...) 添加 MQTT 代理服务器,支持 TCP/WS/WSS 协议
ConnectAllAsync() 连接所有已添加的 Broker
PublishAsync(topic, payload, retain, qos) 发布消息到指定主题
SubscribeAsync(topic) 订阅指定主题
UnsubscribeAsync(topic) 取消订阅指定主题
DisconnectAllAsync() 断开所有 Broker 连接
SetReconnectEnabled(brokerAddress, port, enabled) 设置指定 Broker 的自动重连开关
SetAllReconnectEnabled(enabled) 设置所有 Broker 的自动重连开关
RemoveBrokerAsync(brokerAddress, port) 移除指定 Broker(断开连接、停止重连、释放资源)
CancelReconnect(client) 取消指定客户端的重连尝试
IsConnected(brokerAddress, port) 获取指定 Broker 的连接状态
GetAllConnectedStatus() 获取所有 Broker 的连接状态
ClearRetainedMessageAsync(topic) 清理指定主题的保留消息
MakeMqttMessage(messages) 将字典构建为 JSON 格式消息字符串

6. Security - 安全加密工具

提供安全加密相关的工具类:

  • SafeUtils.cs:RSA/AES/AES-GCM 加解密、MD5/SHA256 哈希、PBKDF2/HKDF 密钥派生、ECDH 密钥协商、RSA-PSS 数字签名、TOTP 动态口令、字符串混淆。
  • MultiDataEncryptor.cs:多公钥分块加密/多私钥解密。
  • CertificateUtils.cs:X.509 证书管理(自签生成、PFX/CER 导入导出、有效期/指纹校验、TLS 流封装)。
  • SecureChannel.cs:端到端安全通道(临时 ECDH 握手、HKDF 会话密钥、AES-GCM 加密 + RSA-PSS 签名、密钥自动轮换)。
  • SecureChannelConfig.cs:安全通道配置(本节点/受信任证书、加密开关、密钥轮换策略、握手超时)。

7. Log - 日志记录工具

提供日志记录相关的工具类:

  • RasUtils.cs:基于 MQTT 的远程日志发送工具(RSA 加密传输、离线队列、自动重试)。
  • MqttConfig.cs:MQTT 日志配置模型。

8. System - 系统工具

提供 Windows 系统相关的工具类:

  • WinUtils.cs:系统信息、开机自启、管理员权限检测、UAC 提权、系统代理管理。
  • ServiceUtils.cs:Windows 服务管理(查询/启动/停止/重启/安装/卸载)。
  • TaskSchedulerUtils.cs:Windows 计划任务管理(创建/删除/运行/启用/禁用)。
  • ClipboardUtils.cs:剪贴板操作(文本/图片,P/Invoke 实现,线程安全)。
  • ScreenCaptureUtils.cs:屏幕截图(全屏/区域/窗口,多显示器支持,PNG 输出)。
  • HardwareInfoUtils.cs:硬件信息查询(CPU/内存/磁盘/GPU/主板/网卡,WMI 实现)。
  • EventLogUtils.cs:Windows 事件日志读写(写入/读取/清除/源管理/日志信息)。

9. Exceptions - 自定义异常

提供统一异常体系:

  • XbgitException:基础异常类。
  • NetworkException:网络相关异常。
  • DeviceException:设备通信异常。
  • ConfigurationException:配置异常。
  • FileOperationException:文件操作异常。
  • SecurityException:加密/安全异常。
  • ValidationException:数据校验异常。
  • RetryExhaustedException:重试耗尽异常。
  • ExceptionHelper:异常辅助工具(完整消息提取、网络异常判断、异常包装)。

安装

使用 NuGet 包管理器

dotnet add package Xbgit.Tools --version 1.2.0-Alpha2

使用 PackageReference

在你的 .csproj 文件中添加以下行:

<PackageReference Include="Xbgit.Tools" Version="1.2.0-Alpha2" />

依赖项

包名 版本 用途
log4net 3.3.1 日志记录
MQTTnet 5.0.0.1405 MQTT 通信
Newtonsoft.Json 13.0.4 JSON 处理
Otp.NET 1.4.0 TOTP 动态口令
System.Data.SQLite.Core 1.0.118 SQLite 数据库
Dapper 2.1.28 轻量 ORM
SSH.NET 2024.2.0 SSH/SFTP 远程操作
System.IO.Ports 9.0.0 串口通信
System.Management 9.0.0 WMI 硬件信息查询
System.Drawing.Common 9.0.0 图片处理/屏幕截图
System.ServiceProcess.ServiceController 9.0.0 Windows 服务管理
PDFsharp 6.1.1 PDF 创建/合并/拆分/水印
UglyToad.PdfPig 0.1.9 PDF 文本提取

版本历史

1.2.0-Alpha2

  • feat: 第二批功能扩展
    • 新增 Core/ReflectionUtils: 反射工具(属性读写、方法调用、对象映射、特性扫描)
    • 新增 Core/CronUtils: Cron 表达式解析与调度计算
    • 新增 Core/CommandLineUtils: 命令行参数解析器
    • 新增 Core/I18nUtils: 国际化资源管理(多语言、JSON 加载、点路径键)
    • 新增 Files/ImageUtils: 图片处理(缩放/裁剪/旋转/水印/压缩/格式转换)
    • 新增 Files/PdfUtils: PDF 操作(合并/拆分/水印/文本提取/旋转/图片转 PDF)
    • 新增 Net/RestApiUtils: Fluent REST API 客户端构建器
    • 新增 System/EventLogUtils: Windows 事件日志读写

1.2.0-Alpha1

  • feat: 大规模功能扩展
    • 新增 Core/RetryUtils: 重试/弹性机制,支持指数退避
    • 新增 Core/CacheUtils: 线程安全内存缓存,支持 TTL 和 LRU 淘汰
    • 新增 Core/EncodingUtils: 编码转换(Base64/URL/Hex/Unicode/HTML)
    • 新增 Data/CsvUtils: CSV/TSV 读写,支持 RFC 4180
    • 新增 Data/IniUtils: INI 配置文件读写
    • 新增 Data/ValidationUtils: 数据校验(邮箱/手机号/身份证/银行卡/统一社会信用代码等)
    • 新增 Net/WebSocketUtils: WebSocket 客户端,支持自动重连
    • 新增 Net/SocketUtils: TCP/UDP Socket 封装
    • 新增 Net/EmailUtils: SMTP 邮件发送
    • 新增 Net/SshUtils: SSH/SFTP 远程操作
    • 新增 Device/SerialPortUtils: 串口通信封装
    • 新增 Device/WakeOnLan: 网络唤醒(WOL)
    • 新增 Files/FileWatcherUtils: 增强型文件监控(防抖/过滤)
    • 新增 Files/VersionControl/GitUtils: Git CLI 封装
    • 新增 System/ServiceUtils: Windows 服务管理
    • 新增 System/TaskSchedulerUtils: Windows 计划任务管理
    • 新增 System/ClipboardUtils: 剪贴板操作
    • 新增 System/ScreenCaptureUtils: 屏幕截图
    • 新增 System/HardwareInfoUtils: 硬件信息查询(WMI)
    • 重构 Exceptions/CustomException: 统一异常体系

1.1.5-Alpha8

  • feat(mqtt): MqttUtils 新增重连控制与 Broker 移除功能
    • 新增 SetReconnectEnabled 方法,支持按 Broker 启用/禁用自动重连
    • 新增 SetAllReconnectEnabled 方法,支持全局启用/禁用自动重连
    • 新增 RemoveBrokerAsync 方法,支持安全移除目标服务器(断开连接、停止重连、清理订阅、释放资源)
    • 断开连接回调中增加重连启用状态判断,禁用时自动跳过重连

1.0.0

  • 初始版本

许可证

本项目基于 自定义许可证。

贡献

欢迎贡献代码和报告问题!请参考 贡献指南。

联系方式

  • 作者: 张天宝
  • 公司: xbgit.cn
  • 邮箱: ztianb@foxmail.com
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.4.0-Alpha3 42 9/28/2026
1.4.0-Alpha2 73 8/31/2026
1.4.0-Alpha1 67 8/26/2026
1.3.0-Alpha5 77 8/24/2026
1.3.0-Alpha4 68 8/17/2026
1.3.0-Alpha3 69 8/3/2026
1.3.0-Alpha2 68 8/3/2026
1.3.0-Alpha1 71 8/3/2026
1.2.0-Alpha5 57 7/29/2026
1.2.0-Alpha4 73 7/28/2026
1.2.0-Alpha3 65 7/27/2026
1.2.0-Alpha2 68 7/27/2026
1.1.5-Alpha7 80 6/17/2026
1.1.5-Alpha4 76 6/11/2026
1.1.5-Alpha3 66 6/11/2026
1.1.5-Alpha2 67 5/19/2026
1.1.4-Alpha5 69 4/21/2026
1.1.4-Alpha4 73 4/21/2026
Loading failed

fix: 1.3.0-Alpha3 修复 SecureChannel 并发双向握手问题

           - 修复 Security/SecureChannel: 处理握手请求时复用已有的 ephemeral 密钥,避免并发双向握手时密钥不匹配
           - 新增并发双向握手集成测试验证