fcorbelli/catpaq

GitHub: fcorbelli/catpaq

catpaq 是一款由 zpaqfranz 驱动的 ZPAQ 归档图形界面管理工具,支持归档浏览、版本回溯、文件提取与创建等全流程操作。

Stars: 33 | Forks: 0

# catpaq ## 由 zpaqfranz 驱动的 ZPAQ 归档 GUI 工具。浏览版本、提取文件、测试完整性并添加新内容——无需安装 ### 与大多数其他 ZPAQ 归档 GUI 相比,它可以创建归档,而不仅仅是提取其内容,其操作方式在概念上类似于 7-Zip、WinRAR 等工具的界面。 ![catpaq 截图](https://raw.githubusercontent.com/fcorbelli/catpaq/main/screenshots/200x200.jpg) _本项目的名称是为了纪念我心爱的猫咪 Sharon Stone(小名 Frufru)。我非常想念她。 :sob:_ ZPAQ 是目前最好的压缩格式之一——极高的压缩率、支持增量备份、完整的版本历史记录。 问题在于:它没有官方的 GUI。 **catpaq** 解决了这个问题。 将其放在 `zpaqfranz` 旁边,打开一个归档,你就可以开始了。 ## 功能 - **浏览任何 ZPAQ 归档** — 查看所有文件和文件夹,以及完整的版本历史记录 - **时光机** — 在归档快照之间导航,并提取文件的任何历史版本 - **完整性测试** — 验证你的归档,提供实时进度和 ETA,结果直接显示在日志中 - **添加文件** — 从内置的文件浏览器中选择文件和文件夹,并将它们添加到任何归档中 - **提取** — 提取单个文件、文件夹或所有内容,支持 GUI 目标选择器 - **加密归档** — 支持 zpaq 的 AES 加密以及 zpaqfranz 的 Franzen 密码保护 - **过滤与搜索** — 在大型归档中快速查找文件 - **哈希计算** — 支持 CRC32、SHA256、BLAKE3、XXH3 等,并支持单个文件时复制到剪贴板 - **便携** — 无需安装程序,无需写入注册表,无需管理员权限(除非你需要设置文件关联) - **跨平台** — 可在 Windows、Linux 和 macOS 上运行(_开发中_) ## 环境要求 Catpaq 是一个前端工具:它需要 `zpaqfranz` 可执行文件来完成实际工作,并且(在 Windows 上)它会提示为你自动下载。 BTW `zpaqfranz` [官方仓库](https://github.com/fcorbelli/zpaqfranz) ## 安装说明 无需安装程序。 1. 从 [Releases 页面](../../releases) 下载最新版本 2. 将归档解压到你喜欢的任意文件夹 3. 将 `zpaqfranz`(在 Windows 上为 `zpaqfranz.exe` 和 `zpaqfranz.dll`)放在同一文件夹中 4. 运行 `catpaq.exe` (Windows) 或 `catpaq` (Linux/macOS) **技术细节。** `catpaq` 的每个版本都在内部硬编码了 `zpaqfranz.exe` 和 `zpaqfranz.dll` 的 SHA-256 哈希值。这样做是为了限制代码“注入”的可能性。因此,必须注意保持 `catpaq.exe`、`zpaqfranz.exe` 和 `zpaqfranz.dll` 对齐(在运行它们的目录中)。 未来我可能会改变这一策略,例如,我可能会为 Windows 生成单一的 `.EXE` 文件。然而,我还必须考虑向不同系统(Mac、Linux)的可移植性,在这些系统上我还没有进行足够的实验。 这些是首批发布版本;相关工作会随着时间的推移不断完善。 (Windows) 要直接从你的文件管理器中打开 `.zpaq` 文件,请以管理员身份运行 catpaq 并使用 **Settings → Associate .zpaq and .zpaq.franzen**。 ## 截图 | 归档浏览器 | 完整性测试 | 文件浏览器 | |---|---|---| | ![Browse](https://raw.githubusercontent.com/fcorbelli/catpaq/main/screenshots/browse.png) | ![Test](https://raw.githubusercontent.com/fcorbelli/catpaq/main/screenshots/test.png) | ![Explorer](https://raw.githubusercontent.com/fcorbelli/catpaq/main/screenshots/explorer.png) | ## 工作原理 Catpaq 是 `zpaqfranz` 之上的一个 GUI 层。 每一个操作——列表、提取、测试、添加——都会转换为在后台运行的 `zpaqfranz` 命令。 输出会实时流式传输到 Log 选项卡中,因此你始终可以准确看到正在发生什么。 **Add 选项卡**是一个内置的文件浏览器:浏览你的磁盘,选择文件,然后只需点击几下即可将它们发送到任何归档。 无需从外部窗口进行拖放。 使用两种不同的模式(DLL 和 EXE)旨在最大化归档列表的性能。为简单起见,DLL 包含了大量多余的代码,但这使其更容易与 EXE 保持对齐。 在 `zpaqfranz` 的新版本中,你可以注意到使用了 `DL` 定义进行管理。本质上,这是使用直接的操作系统回调,而不是 Lazarus 自身的机制。 ## 从源码构建 Catpaq 使用 **Free Pascal / Lazarus** 编写。要自行构建: 1. 安装 [Lazarus](https://www.lazarus-ide.org/)(在 4.4 版本上开发,FPC 3.2.2) 2. 克隆此仓库 3. 在 Lazarus IDE 中打开 `catpaq.lpr` 4. Build → Compile 几乎没有外部依赖 若要更新硬编码的哈希值,你可以使用 newcat.cpp https://github.com/fcorbelli/catpaq/blob/main/work/newcat.cpp ## 许可证 MIT — 详情请参阅 [LICENSE](LICENSE)。
标签:GUI图形界面, HTTP 参数枚举, ZPAQ, 哈希校验, 归档管理工具, 数据备份, 文件压缩