# MantisZip
**Repository Path**: mantis3d/MantisZip
## Basic Information
- **Project Name**: MantisZip
- **Description**: MantisZip 是一款现代开源的 Windows 压缩包管理器。与传统压缩工具不同,我们的项目非常注重通过两个核心功能来提升用户体验:压缩包内文件即时无缝预览,以及针对加密文件的内置安全密码管理。
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 32
- **Forks**: 6
- **Created**: 2026-06-02
- **Last Updated**: 2026-09-25
## Categories & Tags
**Categories**: application-software
**Tags**: None
## README
> 🌐 Language: 中文 | [English](/docs/README_en.md)
----
👁 预览 · 🔑 密码管理器 · 🔀 拖拽交互 · ⚙️ 高级解压选项
---
## 📚 简介
MantisZip 是一款免费开源的压缩/解压工具,基于 .NET 10 + Avalonia 构建。主打**文件内预览**和**密码管理器**等便捷功能。无需解压即可直接查看压缩包内的图片、文本、Markdown、HTML、Office 文档、PDF、SVG、字体、ICO 多帧画廊等内容。
## ✨ 功能亮点与专项特写
### 👁️ 文件内预览
可以在压缩包内直接预览 **图片**、**文本**、**HTML/Markdown**、**PDF**、**SVG**、**Office 文档(DOCX/XLSX/PPTX)**、**字体**、**ICO 多帧画廊**、**动画图片(GIF / Animated WebP)**、**CSV 表格** 等内容。
以内容(魔数)识别实际格式,不需要担心扩展名不对预览不了的问题。
#### 🔍 深度探索:各类型高级预览特写
🖼️ 媒体与图片类预览
支持 PNG 透明通道展示、压缩包内 GIF / Animated WebP 动画直接播放、ICO 多帧画廊。
|
📄 文档与排版类预览
无缝切换纯文本、Markdown 实时渲染、HTML(原生控件树)、PDF(逐页渲染)、SVG(栅格化)、Office 文档(DOCX/XLSX/PPTX)、字体字形预览。
|
**Office 文档内容预览效果:**
📊 点击展开:Office 文档可预览文字与表格排版



#### 部分格式支持**元数据展示**(无需加载完整文件):
📊 点击展开:查看硬核数据类预览(Office 文档、SQLite 数据库、CSV、BT 种子、ISO)
| 预览类型 | 展示信息 |
|----------|----------|
| PE 可执行文件(exe/dll) | 公司、产品名、文件版本、架构、子系统、描述 |
| PDF 文档 | 逐页渲染 + 版本、页数、标题、作者、加密状态 |
| Office 文档(docx/xlsx/pptx) | DOCX:大纲导航 + 全文 + 真表格;XLSX:DataGrid 表格;PPTX:原始坐标定位预览 |
| 音频(WAV / FLAC) | 时长、采样率、位深、声道、码率 |
| 视频(MP4 / MKV / AVI) | 分辨率、时长、编码 |
| 数据库(SQLite) | 编码、页面大小、表数量 |
| 光盘映像(ISO) | 卷标、格式、大小 |
| BT 种子 | InfoHash、文件树、Magnet 链接、Tracker、创建者 |
| ICO 多帧画廊 | 全部帧提取、FlattenAlpha 切换、透明背景棋盘格 |
| CSV 表格 | DataGrid 表格化展示(可配置行列上限) |
----
### 📁 结果预览面板
压缩/解压设置窗口实时文件树预览,冲突高亮、过滤灰显、精简模式、异步加载。

----
### 🔀 拖拽交互
#### 从压缩包拖出 → 实时解压
从窗口拖文件到资源管理器,自动解压到目标目录。Win32 覆层三色状态指示(检测中 / 可释放 / 不可释放)+ 动态光标 + Esc 取消。
- 
#### 从资源管理器拖入 → 添加到压缩包
从资源管理器拖文件/文件夹到 MantisZip 窗口,即可添加到当前目录。窗口内绿色覆层即时提示可添加状态。

----
### 🗂 自定义文件选择器
替代系统对话框,支持多选累积、目录树、收藏/历史/窗口速选、盘符下拉、文件类型筛选。

----
### 🔑 智能密码管理器

保存常用密码,可以根据规则自动尝试匹配密码。
如果一个文件输入过正确密码,可以选择保存记录,下次打开与解压则无需再次输入密码。密码以 DPAPI 加密存储。
支持导入导出(明文 JSON),方便备份和迁移。密码库上限 1000 条,自动尝试密码仅前 100 条,防止暴力破解滥用。
📊 点击展开:密码与规则设置与匹配
压缩时可以选择从密码库加载密码,或者手动输入新密码

如果打开一个有密码的文件会提示输入密码并保存规则

当压缩包正确设置密码与匹配规则,再次打开则无痕自动匹配,并且不影响预览功能。

当压缩包没有正确设置密码与匹配规则,则会显示加锁图标,并且不能预览。

----
### ⚡ 更多解压冲突选项
除了其他软件的「覆盖」「跳过」和「自动重命名」之外,还增加了「覆盖旧文件」和「覆盖小文件」,「自动重命名」也可无缝切换至手动重命名。


----
### 界面增强
📊 点击展开:界面增强
🎨 紧凑度与主题
**紧凑度模式** — Compact / Normal / Loose 三档间距与控件高度,运行时切换无需重启。
**主题三态化** — 跟随系统 / 亮色 / 暗色,全局界面字体可设置。

----
📄 文件列表增强
文件列表增加尺寸比例条、展平目录与过滤工具。目录行聚合显示子树大小与日期,列排序三态循环(升序→降序→恢复原始顺序),排序状态跨会话持久化。


----
## 🤔 已知问题
- 有些格式的压缩包**不支持**单项预览,预览时会有提示。
- RAR 格式不支持压缩(只读解压)。
- 目前仅支持 Windows 平台。基于 Avalonia 框架构建,跨平台支持已在计划中。
---
## 📦 支持的格式 | Supported Formats
| 格式 | 压缩 | 解压 | 加密 |
|------|:----:|:----:|:----:|
| ZIP | ✅ | ✅ | ✅ AES-256 |
| 7z | ✅ | ✅ | ✅ |
| TAR | ✅ | ✅ | ❌ |
| GZ / TGZ | ✅ | ✅ | ❌ |
| RAR | ❌ | ✅ | ✅ |
| ISO | ❌ | ✅(只读浏览) | ❌ |
---
## 📋 系统要求
- **操作系统**: Windows 10 (1809+) / Windows 11
- **运行时**: [.NET 10 Runtime](https://dotnet.microsoft.com/download/dotnet/10.0)
- **备注**: 基于 Avalonia 框架构建,跨平台支持计划中
---
## 🔧 构建方法
```powershell
# 克隆仓库
git clone https://github.com/mantis3d/MantisZip.git
cd MantisZip
# 构建(Avalonia 主力版)
dotnet build src\MantisZip.UI.Avalonia\MantisZip.UI.Avalonia.csproj
# 运行
dotnet run --project src\MantisZip.UI.Avalonia\MantisZip.UI.Avalonia.csproj
# 运行测试
dotnet test tests\MantisZip.UI.Avalonia.Tests\MantisZip.UI.Avalonia.Tests.csproj
```
**输出路径**: `src/MantisZip.UI.Avalonia/bin/Debug/net10.0/MantisZip.UI.Avalonia.exe`
---
## ⌨️ 命令行
MantisZip 支持强大的命令行调用(例如右键菜单集成)。
```powershell
# 打开压缩包浏览
MantisZip.UI.Avalonia.exe --open "D:\文档.zip"
# 快速压缩(默认设置直接压缩)
MantisZip.UI.Avalonia.exe --compress-quick "D:\照片" -- "D:\备份.zip"
```
完整参数列表见 [命令行使用指南](docs/CLI.md)。
---
## 🏗 项目架构
关于项目的底层模块划分与技术栈架构设计,请参见 [项目架构文档](docs/ARCHITECTURE.md)。
---
## 📄 许可证
本项目使用 **MIT 许可证** — 详见 [LICENSE](LICENSE) 文件。
This project is licensed under the MIT License.
---
## 📦 下载与安装
| 节点 | 下载渠道 | 提取码| 适用人群 |
| :--- | :--- | :--- | :--- |
| **夸克网盘** | [👉 点击前往下载](https://pan.quark.cn/s/ae193b2aa11b) | **`mTZH`** | **国内推荐**!移动端/PC端不限速,支持一键转存与极速同步。 |
| **百度网盘** | [👉 点击前往下载](https://pan.baidu.com/s/1CJXNu1M1ARkH2hf48mfb-g?pwd=yevn) | **`yevn`** | 国内常规备用通道,方便习惯使用百度云盘生态的用户下载。 |
| **官方 QQ 群** | [👉 点击加入交流群 (778347352)](https://qm.qq.com/cgi-bin/qm/qr?k=778347352) | *无需验证* | **核心推荐**!进群文件一键极速下载,获取最新测试版、调教作者与Bug反馈。 |
---
## 🙏 致谢与依赖
MantisZip 的诞生离不开全球开源社区的无私奉献。在此,对本项目所依赖的优秀开源库、工具及创作者致以最崇高的敬意。
### 📦 核心第三方依赖库
#### MantisZip.Core
| 包名 | 版本 | 用途 | 许可证 |
|------|------|------|--------|
| [SharpCompress](https://github.com/adamhathcock/sharpcompress) | 0.48.1 | ZIP/TAR/GZ 压缩和解压核心引擎 | MIT |
| [SharpSevenZip](https://github.com/sevenzipsharp/SevenZipSharp) | 2.0.45 | 7z/RAR/ISO 压缩和解压(封装 7z.dll)| LGPL-2.1 |
| [Microsoft.Data.Sqlite](https://www.nuget.org/packages/Microsoft.Data.Sqlite/) | 10.0.8 | SQLite 预览读取 | MIT |
#### MantisZip.UI.Avalonia
| 包名 | 版本 | 用途 | 许可证 |
|------|------|------|--------|
| [Avalonia](https://github.com/AvaloniaUI/Avalonia) | 12.0.4 | 跨平台 UI 框架 | MIT |
| [CommunityToolkit.Mvvm](https://github.com/CommunityToolkit/dotnet) | 8.4.2 | MVVM 辅助(ObservableObject + source generators) | MIT |
| [Markdig](https://github.com/xoofx/markdig) | 0.40.0 | Markdown 解析(AST → 原生控件树) | BSD-2-Clause |
| [ReverseMarkdown](https://github.com/magicmousen/ReverseMarkdown) | 4.7.0 | HTML → Markdown 转换(预览 HTML 降级路径) | MIT |
| [PdfPig](https://github.com/UglyToad/PdfPig) | 0.1.15 | PDF 解析与逐页渲染 | Apache-2.0 |
| [Svg.Skia](https://github.com/nickspag/Svg.Skia) | 2.0.0.5 | SVG 栅格化(无需 WebView2)| MIT |
| [SkiaSharp](https://github.com/nickspag/SkiaSharp) | 3.119.4 | 2D 图形渲染(PDF/SVG/字体位图)| MIT |
| [HarfBuzzSharp](https://github.com/nickspag/HarfBuzzSharp) | 14.2.0 | 字体预览字形布局与连字检测 | MIT |
| [ClosedXML](https://github.com/ClosedXML/ClosedXML) | 0.105.0 | XLSX 表格预览 | MIT |
| [DocumentFormat.OpenXml](https://github.com/nickspag/DocumentFormat.OpenXml) | 3.5.1 | DOCX/PPTX 文档解析 | MIT |
| [Ude.NetStandard](https://github.com/jehugaleahsa/udetector) | 1.2.0 | Mozilla 字符编码检测(文本预览) | MIT |
#### 外部工具(运行时依赖)
| 工具 | 用途 | 许可证 | 备注 |
|------|------|--------|------|
| [7z.dll](https://www.7-zip.org/) | 7z/RAR 原生解析(SharpSevenZip 绑定) | GNU LGPL | 随应用分发,动态链接 |
---
### 🤖 智能化开发辅助
本项目在敏捷开发与重构过程中,深度借助了以下先进的 AI 编程智能体,实现了独立开发生产力的跨越式飞跃:
- [OpenCode](https://opencode.ai) 负责底层核心异步架构的搭建与 .NET 高级特性重构。
- [Reasonix](https://reasonix.io) 负责核心业务功能(如免解压文件预览、智能密码管理器)的高效开发、深度联调与 Bug 修复。
- [DeepSeek](https://www.deepseek.com) 全程提供底层硬核编程大语言模型的能力支撑。
*(特别感谢上述 AI 工具及其背后开发团队的卓越工作!)*
---
## 💖 支持项目
MantisZip 是一款完全免费且独立开发的开源项目。如果它提升了你的工作效率,不妨为作者注入一些继续开发的动力!☕
### 🌐 境外赞助
如果您身处海外,推荐通过 Polar 赞助。支持国际信用卡、Apple Pay 等无缝支付:
---
### 🇨🇳 国内赞助
如果您在国内,支持通过 **爱发电(微信/支付宝)** 或 **微信直接打赏**。您可以直接扫描下方二维码:
---
### 💬 交流与反馈 (Community)
如果你在体验《MantisZip》的过程中遇到了 Bug、有新的功能想法,或者单纯想和同行切磋 .NET/Avalonia 独立开发技术,欢迎加入我们的开发者社区:
* **QQ 交流群**:`778347352`(👉 [点击一键加入群聊](https://qm.qq.com/cgi-bin/qm/qr?k=778347352))
* **代码库提交**:[提交 Bug 或 Feature Request](../../issues)
* **Discord 交流群**: (👉 [点击一键加入群聊](https://discord.gg/PpuyhceJpZ))
> 💡 **小提示**:进群请备注 "GitHub / MantisZip"。
## Star History
[](https://www.star-history.com/?repos=mantis3d%2FMantisZip&type=date&legend=top-left)