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.
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" />
<PackageReference Include="Xbgit.Tools" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=Xbgit.Tools&version=1.3.0-Alpha3&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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 | Versions 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.
-
net9.0
- Dapper (>= 2.1.28)
- log4net (>= 3.3.1)
- MQTTnet (>= 5.0.0.1405)
- Newtonsoft.Json (>= 13.0.4)
- Otp.NET (>= 1.4.0)
- PdfPig (>= 0.1.15)
- PDFsharp (>= 6.1.1)
- SSH.NET (>= 2024.2.0)
- System.Data.SQLite.Core (>= 1.0.118)
- System.Drawing.Common (>= 9.0.0)
- System.IO.Ports (>= 9.0.0)
- System.Management (>= 9.0.0)
- System.ServiceProcess.ServiceController (>= 9.0.0)
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 密钥,避免并发双向握手时密钥不匹配
- 新增并发双向握手集成测试验证