内容
<div align="center">
<a href="https://ziplark.com"><img src="assets/banner.png" alt="Ziplark — 每个存档,一个小型应用" width="640" /></a>
[](https://github.com/zhitongblog/ziplark/actions/workflows/ci.yml)
[](https://github.com/zhitongblog/ziplark/releases/latest)
[](https://github.com/zhitongblog/ziplark/releases)
[](https://github.com/zhitongblog/ziplark/stargazers)
[](LICENSE)
[](https://ziplark.com)
**免费、快速、跨平台的存档工具。** 支持解压 ZIP、RAR (包括 RAR5)、7z、tar、ISO 以及常见的压缩-tar变体;创建 ZIP (带有 AES-256)、7z 和 tar 存档。一个小型 Rust 引擎,三种驱动方式:桌面应用、命令行界面(CLI)和 MCP 服务器。
[**下载**](https://ziplark.com/#download) · [官网](https://ziplark.com) · [报告问题](https://github.com/zhitongblog/ziplark/issues)
</div>
## 安装
```bash
# macOS — Homebrew
brew install --cask zhitongblog/tap/ziplark # 桌面应用
brew install zhitongblog/tap/ziplark # CLI + MCP (ziplark, ziplark-mcp)
```
```powershell
# Windows — Scoop (CLI + MCP)
scoop bucket add ziplark https://github.com/zhitongblog/scoop-bucket
scoop install ziplark
# winget (待审核): winget install zhitongblog.Ziplark
```
或者从 [发布页面](https://github.com/zhitongblog/ziplark/releases/latest) 获取任何平台的构建版本
(macOS `.dmg`,Windows `.msi`/`.exe`,Linux `.deb`/`.AppImage`,以及 CLI 存档)。
| | 读取 / 解压 | 创建 | 加密 |
|---|:---:|:---:|---|
| ZIP | ✅ | ✅ | AES-256 (读取 ZipCrypto) |
| 7z | ✅ | ✅ | AES-256 |
| RAR / RAR5 | ✅ | — | 读取加密 |
| tar | ✅ | ✅ | — |
| tar.gz / .bz2 / .xz / .zst / .lz4 | ✅ | ✅ | — |
| gz / bz2 / xz / zst / lz4 (单流) | ✅ | ✅ | — |
| ISO 9660 / Joliet (光盘映像) | ✅ | — | — |
> RAR 和 ISO 仅支持解压:RAR 的压缩格式是专有的,而 ISO 是光盘映像容器(我们使用独立的依赖解析器读取 ISO 9660 + Joliet)。其他格式可以创建和读取。
## 为什么选择 Ziplark
- **小巧。** 大小优化的发布配置文件(`opt-level=z`,LTO,剥离,`panic=abort`)。桌面应用使用操作系统网页视图(无捆绑 Chromium)。
- **安全。** 每个解压路径都通过单个 zip-slip 防护措施 - 没有条目可以逃离目标目录。
- **一个引擎。** GUI、CLI 和 MCP 服务器是 `ziplark-core` 的薄壳;CLI 执行的操作与应用执行的操作完全相同。
## 仓库布局
```
crates/ziplark-core 存档引擎(所有格式,安全防护)
crates/ziplark-cli `ziplark` 命令行工具
crates/ziplark-mcp MCP 服务器(从任何 LLM 驱动 Ziplark)
src-tauri Tauri 2 桌面应用(Rust 命令)
ui 桌面前端(纯 HTML/CSS/JS)
```
## 1. 桌面应用
```bash
# 开发运行(打开窗口)
cargo tauri dev # 或:cargo run -p ziplark-gui
# 构建发布版本 .app + .dmg(macOS),.exe/.msi(Windows),AppImage/deb(Linux)
cargo tauri build
```
将存档拖到窗口中以检查和解压,或切换到 **创建** 以拖入文件/文件夹,选择格式 + 压缩级别(和可选密码),并保存。
## 2. CLI — `ziplark`
```bash
cargo build --release -p ziplark-cli # 二进制文件位于 target/release/ziplark
ziplark list movie.rar
ziplark extract photos.zip -o ./out
ziplark create backup.tar.zst ./src ./README.md --level best
ziplark create secret.zip ./private --password hunter2
ziplark test download.7z
ziplark info mystery.bin
```
每个命令都接受 `--json` 用于脚本编写。`--include <PAT>` 在解压时过滤条目;`--level store|fast|default|best` 和 `--password` 用于创建。
### 右键(文件管理器)集成
将 **在此处解压与 Ziplark** 和 **压缩到 ZIP 与 Ziplark** 添加到您的操作系统文件管理器的上下文菜单:
```bash
ziplark shell-integration install # 启用
ziplark shell-integration status # 显示已安装的内容
ziplark shell-integration uninstall # 移除
```
每个平台:**macOS** 安装两个 Automator 快速操作(Finder → 右键 → 快速操作);**Windows** 在存档文件类型和文件/文件夹上添加每个用户(`HKCU`,无需管理员)的 shell 动词;**Linux** 安装 KDE 服务菜单和 Nautilus 脚本。每个条目都调用 `ziplark` CLI(`extract-here` / `compress-zip`),因此它跟随二进制文件的位置。两个辅助命令也可以直接使用:
```bash
ziplark extract-here movie.zip # → ./movie/ 在存档旁边
ziplark compress-zip ./photos ./a.txt # → ./Archive.zip 在它们旁边
```
## 3. MCP 服务器 — `ziplark-mcp`
模型上下文协议服务器(JSON-RPC 超过 stdio)。读取工具(`ziplark_info`、`ziplark_list`、`ziplark_test`)始终可用;写入工具(`ziplark_extract`、`ziplark_create`)需要 `--allow-write`。
```bash
cargo build --release -p ziplark-mcp
```
使用 MCP 客户端注册它:
```json
{
"mcpServers": {
"ziplark": {
"command": "/path/to/target/release/ziplark-mcp",
"args": ["--allow-write"]
}
}
}
```
## 构建和测试
```bash
cargo test # 引擎往返 + 安全测试
cargo build --release # 所有 crate,大小优化
```
## 许可证
**MIT** © 2026 **doaipm** — 一个 doaipm 项目。参见 [LICENSE](LICENSE)。
Ziplark 捆绑了第三方开源组件及其许可证,在 [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) 中确认。特别是,RAR 解压使用 **UnRAR** 库,该库在 UnRAR 许可证下(不是 MIT),可能不用于重新创建 RAR 压缩算法。