【开源自荐】MantisZip 能预览,能自动填充密码的解压缩软件,全新版本支持更多功能

v0.5.0 大更新:界面重构与新增解压前就能预览目录树和文件冲突

软件名称

MantisZip

应用平台

Windows (跨平台支持已在计划中)

推荐类型

【开发者自荐】

一句简介

MantisZip 是一款面向 Windows 的免费开源压缩/解压工具,主打文件内外预览和密码管理器等便捷功能。

应用简介

市面上实在是找不到一款好用的免费解压软件,我就自己用AI弄了一个。基本上把我自己想要加入的功能都加进去了。
距离上次发帖已经过去几个月了。这段时间我一直在打磨软件本身,修复了一些安全问题,也把基础体验往上提了一截。v0.5.0 是 MantisZip 从 WPF 迁移到 Avalonia 之后的第一个大版本,界面和底层都做了比较大的调整

v0.5.0 主要更新

:computer_mouse: 拖拽双向交互

  • 从窗口拖到资源管理器:实时解压,Win32 覆层三色指示 + 动态光标 + Esc 取消;
    我基本是为了这个功能迁移到 Avalonia 。拖拽解压是我最常用的解压方式,但是拖拽的时候总担心松开的时候会解压到不希望的路径。现在这个解压,鼠标指向的窗口会高亮并显示路径,再也不用担心手滑扔错了。

DragExtract

  • 从资源管理器拖到窗口:添加到压缩包,绿色覆层即时提示。

DragAdd

:magnifying_glass_tilted_left: 目标目录树预览与文件冲突高亮

这是这次更新里我个人最想推荐的功能。

以前用解压软件,冲突提示都是“事后”的:文件已经开始写了,才弹窗问“覆盖吗?”。你此时没有全局视野——不知道一共有多少冲突、哪些文件会覆盖、覆盖后会发生什么。

v0.5.0 在压缩和解压窗口里加了一个目标目录树预览控件。在真正写盘之前,你可以先看到将要生成的文件结构,完整目录树会展开,如果与磁盘上已有文件冲突,对应条目会红色高亮提示

这样一来,解压从一个“不可逆操作”变成了可以先看再决定的过程:

  • 想避免污染现有目录 → 先看冲突高亮,换一个干净的位置解压;

  • 想更新现有文件 → 先确认覆盖范围,确保没有遗漏;

  • 预览阶段还可以预置策略:全部覆盖 / 全部跳过 / 全部重命名,确认无误后一键执行。

这个功能我在同类工具里没有见过完全相同的实现,如果你用过类似的,欢迎在回帖里告诉我。

:brick: 框架迁移:WPF → Avalonia

核心框架从 WPF 迁移到 Avalonia(.NET 10),界面全面重构,WPF 版进入维护模式。

直接的好处是:

  • 去掉了 WebView2 依赖——HTML、Markdown、PDF、SVG 全部改为原生渲染,安装包大幅精简,安装时不再需要额外运行时;离线安装包从两百多兆精简到五十兆。

  • 自实现了 GIF 解码器和字体预览引擎,GIF 动画不再依赖第三方库,字体预览改用 HarfBuzzSharp + SkiaSharp,支持自动连字检测;

  • 新增 Animated WebP 动画预览,与 GIF 统一处理。

:page_facing_up: Office 文档内容预览

这是预览能力的一次大升级。之前 WPF 版只能显示 Office 文档的元数据,现在可以预览实际内容:

  • DOCX:大纲导航 + 全文 + 表格;

  • XLSX:DataGrid 表格;

  • PPTX:按原始坐标定位预览。


保留的核心功能:

预览压缩包内文件

可以在压缩包内直接预览 图片 、文本 、HTML/Markdown 、SVG 、字体 BT种子等内容。

PreviewAllSmall


密码管理器

可以记录密码和匹配规则,在每次打开有密码的压缩包时,会自动尝试。如果匹配则自动后台输入密码。


如果打开的压缩包密码不在密码库,会要求输入密码,默认会把密码存入密码库。

压缩时可以选择从密码库加载旧密码,也可以输入新密码。同样也会默认存入密码库。

从此,再也不会出现"我昨天给压缩包加密码,今天想不起来"的情况了。


右键快捷压缩解压

各个压缩软件都有的右键菜单,快捷压缩解压,智能解压。

将来会增加自定义功能,用户可以自己设定解压参数并

调试日志

用户有的时候遇到问题,反馈给开发者,但是很难拿到日志,导致很难排查。所以我单独加了调试日志。

开启后记录详细操作日志到 debug.log,帮助排查问题。提供隐私脱敏选项,避免泄露用户隐私。

用户如果遇到问题,打开这个选项,复现一次,然后把日志发给开发者。开发者就能用最快的速度找到问题并解决啦。

如果可以的话,遇到问题请到github上提交,感激不尽。


下载与安装

节点 下载链接 提取码
夸克网盘 https://pan.quark.cn/s/ae193b2aa11b?pwd=mTZH mTZH
百度网盘 https://pan.baidu.com/s/1CJXNu1M1ARkH2hf48mfb-g?pwd=yevn yevn
官方 QQ 群 :backhand_index_pointing_right: 点击加入交流群 (778347352) 无需验证

https://gitee.com/mantis3d/MantisZip


最后

如果你觉得还有什么功能是压缩软件有,但是这个软件没有的,或者还有其他的疑问或想法,可以告诉我。
谢谢。

4 个赞

当务之急是把ui做好看点,你的测试图标甚至都不是一个风格的

3 个赞

不跨平台,说明不是electron,点赞!

另外,预览这些东西是要先临时解压生成临时文件吗?这些临时文件生成在哪里,如何管理?生成临时文件后软件崩溃(没有正常关闭),会不会导致临时文件永久性堆积?

这个应该没有直接关。

用Electron这种跨平台框架不代表软件是跨平台的,具体选择还是取决于开发者。毕竟少一个平台支持就少一份测试成本。

跨平台的软件也不一定是基于web的,移动端就有flutter、kmp之类的(这两个框架也可以用于桌面端),桌面端的跨平台选择就更多了,有不少新软件用的是zed编辑器自家的gpui,而zed和gpui也不是依赖于web的。

即便是基于web的跨平台框架,用的也不一定是Electron、CEF之类的自带内核的框架,可能用的是系统内置的webview2,尤其是tauri框架,tauri的轻量模式在后台可以关闭自己的内核进程,所以在后台很省内存,只有在前台时才占内存。

3 个赞

我估计有win11新版右键菜单(不过这个比较麻烦,得装另一个应用)、智能解压。

另外Bandizip特有的大文件直接拖拽到目录(不需要先保存到缓存文件夹,再由系统复制到目标文件夹)这点还没试过有没有,如果解压文件的两倍大小高于硬盘的剩余容量的话,这个功能还是有用的。

还有写入目录权限不足时自动给解压缩组件提权,比如说可以弹出uac弹窗之类的

那是因为软件里的图标除了logo和从系统获取的图标之外,全是 emoji 啊。:rofl:

后面会重新设计的。

我这个是 .NET 9 + WPF 的,正在把 WPF 迁移到 avalonia。

解压临时文件会在每次程序启动和关闭时自动清理。我也提供了手动清理的功能

话说 electron 这么不受待见吗?

Win11新版菜单已在计划中:

敬请期待。


至于"智能解压"你说的是这个吗?

这个已经有了,不过我正在考虑让它更智能化,比如加入"剥蒜"模式。

这个是我没测试到,会尽快修复。

个人认为,既然写入权限不足,除了本身就有能力使用管理员权限的用户(那也会自行获取写入权限或给软件提权),对其他大多数用户来说这就是保障文件安全和系统稳定的手段,软件像现在这样提示用户无权就足够了(当然最好是把错误信息也翻译清楚)。
从另一个方面说,如果写入权限不足而软件自行调出UAC,对老鸟用户会怀疑软件在干什么坏事,对小白用户就会觉得这软件不好好干活反而弹些警告窗——结果就是把系统的锅转移到自己头上了。反正建议不要越俎代庖。

1 个赞

我用 DO13 是自带预览功能的.

如果要写第三方软件, 主要看预览速度吧, 有些大文件的预览性能很难解决吧?

对呀。

我这个软件灵感就来自于 Total commander 和 DO。

我现在已经限制了超过一定大小(设置里面可以设置)的文件直接不预览,以免影响性能。

我现在正在想办法,看看有些格式的大文件能不能只加载部分数据而预览,比如说文档只显示第一页之类的。或者想办法流送数据。

不过这个就得等我把必要的格式支持都加上之后再做了。

我现在考虑是权限不足的时候会有一个提示,显示哪些目录权限不足,并问用户是否提升权限。

另外,你说的大文件直接拖拽到目录,不走缓存那个,是困扰我最长时间的问题。我这边已经试了六七个方案都不理想。

流式解压到内存,再从内存落盘?

问题在于,以我的理解,程序无法获知你是把鼠标拖到了哪个目录,windows只会告诉程序"鼠标松开了,你把文件给我吧"。所以只能是解压到临时目录然后交给windows去复制。这就是这个问题所在。

如果能获取鼠标拖到了哪个目录,那剩下的就是常规的解压过程。

看起来非常美好,但是一看安装包60m,我只能说个88

原来是这样的问题。系统特性相关的问题,如果Fable5大人还在的话,应该能够轻松解决吧。。。

如果你装了 dotnet runtime,那么你可以安装9m那个。

我刚刚问了AI,等我把 WPF 迁移到 avalonia,安装包大约能压缩到25m。
不过估计至少要半个月之后。