ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PeaZip 免费压缩管理器:跨平台开源归档工具的功能矩阵、源码结构与构建指南

PeaZip 免费压缩管理器:跨平台开源归档工具的功能矩阵、源码结构与构建指南 桌面应用【免费下载链接】PeaZipFree Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager. Features volume spanning, compression, authenticated encryption. Supports 7Z, 7-Zip sfx, ACE, ARJ, Brotli, BZ2, CAB, CHM, CPIO, DEB, GZ, ISO, JAR, LHA/LZH, NSIS, OOo, PAQ/LPAQ, PEA, QUAD, RAR, RPM, split, TAR, Z, ZIP, ZIPX, Zstandard.项目地址https://gitcode.com/gh_mirrors/pe/PeaZip点击查看免费下载PeaZip 是一款面向 BSD、Linux、macOS 与 Windows 的免费开源归档管理器本文基于仓库 README.md 及其配套源码目录 peazip-sources/系统梳理其功能矩阵200 归档格式、跨平台原生支持、安全特性、源码目录结构与构建发布流程Portable/安装包并给出文件管理器、命令行脚本、安全与许可等关键机制的源码级佐证。读完本文你将能够理解 PeaZip 的整体能力边界并掌握从源码构建、打包到部署的完整路径。项目定位与核心特性PeaZip 是一个跨平台的免费归档管理器为 BSD、Linux、macOS 和 Windows 提供开源替代方案可替代 WinZip、WinRar 等专有软件同时提供无需安装的便携Portable版本。其核心定位可以从三个层面概括格式覆盖广支持 200 种归档类型与变体7z、ace、arc、brotli、bz2、cab、gz、iso、pea、rar、tar、wim、zip、zipx、zpaq、zstandard 等并处理分卷归档001、r01、z01…。功能不止于压缩可转换现有归档、拆分/合并文件、编辑注释、在归档中搜索、向独立归档添加文件。安全性强支持多种归档加密标准提供文件哈希工具并可将 GUI 任务导出为 CLI 脚本。此外PeaZip 还内置了一个能力不俗的文件管理器书签、搜索、即时内容过滤、重复文件检测以及集成的文本、十六进制和图像查看器。跨平台与原生应用支持PeaZip 以原生应用形式运行于多个平台详见 README.md 的 Features 一节BSDx86-64Linuxx86-64 与 aarch64macOS/DarwinIntel x86-64 与 aarch64例如 Mx Apple Silicon SoC 家族Windows/Win64x86 与 x86-64并兼容 Wine/ReactOSLinux 发行说明 dev/readme_Linux.txt 进一步指出预构建包面向 aarch64 和 x86_64针对 GTK2 与 Qt6 widgetset另有用于评估调试的实验性 GTK3-alpha打包为 DEB、RPM 与免安装的 Portable 包同时 PeaZip 也通过 Flatpak 分发Qt6aarch64 与 x86_64 双架构。强大的压缩与格式后端PeaZip 本身是图形化前端实际压缩能力依赖多个开源技术后端。仓库源码说明 dev/readme.txtTHIRD PARTIES 一节明确列出了这些后端及其许可7zLGPL与p7zipLGPL主流格式支持放置于res/bin/7z7-Zip-zstd 编解码器LGPL放置于res/bin/7z/Codecs仅 Windows。BrotliMIT放置于res/bin/brotli。ZstandardBSD/GPLv2 双许可放置于res/bin/zstd。FreeArc / ARCGPL放置于res/bin/arc。ZPAQ/LPAQ/PAQ8*GPL分别放置于res/bin/zpaq、res/bin/lpaq、res/bin/paq。QUAD/BALZ/BCMLGPL / 公有领域 / Apache v2放置于res/bin/quad。strip 与 UPXGPL放置于res/bin/upxstrip 仅 Windows 需要。需要强调的是这些第三方二进制是平台相关的因此不随源码包提供但包含在程序预编译包中构建时需按目标 OS 与 CPU 架构下载对应二进制放入 res/bin 相应子目录。仓库中每个子目录都留有place xxx binary here.txt占位说明文件例如 res/bin/7z/place 7z binary here.txt。可选的非自由后端PeaZip 还可以支持以下不得包含在基础包中的二进制因闭源或非自由许可WinAce UnACEroyalty-free可放置于res/bin/unace作为后端但因非自由许可不得打包。RarLab UnRarroyalty-free可放置于res/bin/unrar作为后端同样不得打包。RarLab Rar.exeshareware可安装在同一系统上PeaZip 可自动配置用其创建 RAR 归档但因非自由且非 royalty-free 许可而不得打包。用户可在主菜单Options Settings 的 Advanced 标签页设置 PeaZip不使用非自由软件或格式该行为也可在编译期通过project_peach.lpi中的HLIBRE_DIR常量硬编码0不硬编码从配置读取1硬编码为仅允许使用已知自由软件组件2硬编码为仅允许使用已知自由软件组件与开放归档格式读写均不受专利限制。这一设计体现了 PeaZip 的“安全优先”定位强加密、双因素认证、加密密码管理器与安全删除见 README.md Security-focused 条目。仓库源码结构PeaZip 采用 Lazarus/FreePascal 编写Windows 安装程序使用 InnoSetup 脚本类 Pascal 语法。源码组织如下dev 目录应用本体与引擎dev/ 包含编译与构建 PeaZip 自身二进制所需的全部源码project_peach.lpi编译为peazip主可执行文件即文件与归档管理器的 GUI 前端原名 PEACH即 PEA launcher负责调用 PEA、7z 及其他工具。project_pea.lpi编译为pea提供 PEA 文件格式支持、文件管理工具、加密与哈希例程。project_demo_lib.lpi可选的演示应用展示如何将 PEA 源码作为库使用仅作示例非 PeaZip 必需。metadarkstyle/zamtmn 的 metadarkstyle Lazarus 包为 Windows 10 提供深色模式支持非 Windows 平台不使用但 Lazarus IDE 需要将该包手动加入项目或从项目依赖中移除GUI 路径主菜单 Project Project Inspector。dragdropfilesdll.src/Windows 专用编译dragdropfilesdll.dll提供 Windows 下应用与系统间的文件拖放功能依赖可选 Lazarus 包 DragDropLazarus 5.2 或更新版本。安全提示PeaZip 在 Windows 启动时会通过internaldllcheck过程校验该 DLL 的 SHA256 是否匹配硬编码白名单值以防止 DLL Hijacking 攻击一旦不匹配即停止运行并报错。若重编译或修改该 DLL必须同步更新internaldllcheck中的参考哈希。installer/InnoSetup 脚本创建带文件关联与菜单/SendTo 集成的 Windows 安装程序例如 peazip-setup_script_WIN64.iss其中包含[Tasks]桌面图标、[Files]安装 peazip.exe / pea.exe / dragdropfilesdll.dll 与 res 目录、[Icons]生成 Add to archive...、-add2archive等命令行快捷方式。dev 目录中的.res文件通过 windres 编译为.rc参见 windres_pea.bat 与 windres_peazip.bat用于在 Windows 平台为可执行文件提供 manifest 与二进制信息作者、版本等。加密与数学工具库单元源自 Wolfgang Ehrhardt 的 crypto libraryZlib 许可例如 aes、crc_hash、fca、serpent、tf、util 系列并已打补丁支持 aarch64 构建——这一事实可以从 dev/ 下大量aes_*.pas、sha*.pas、crc*.pas等单元文件得到印证。res 目录运行资源与分发素材res/ 包含运行 PeaZip 所需资源与便携/可安装应用部署素材核心子目录如下res/conf/配置文件目录存放 conf.txt 及用户自建的自定义脚本、压缩设置与归档布局详见下文配置一节。res/bin/架构相关二进制目录存放第三方后端7z、arc、brotli、zpaq、zstd 等构建时需要自行放入对应平台二进制。res/share/非架构相关数据目录可原样用于所有系统与包类型包含batch/命令行脚本示例与系统集成素材详见下文copying/项目 LGPLv3 许可证 copying.txt 与第三方许可icons/.ico/.png 图标更多 png 见 batch/freedesktop_integrationlang/应用文本的多语言翻译lang-wincontext/唯一仅面向 Windows的 res 目录含本地化 Windows 右键菜单的 .reg 文件presets/预置压缩设置文件可编辑但用户自定义设置应存入配置目录readme/面向 Windows 与 Linux 用户的系统相关说明themes/主题文件以.theme.7z形式提供图形资源与 UTF-8 带 BOM 的主题选项文件。根目录应包含或链接peazip_help.pdf以提供离线帮助。res/portable一个空文件作为便携模式的标记。ShellExWindows 11 迷你上下文菜单支持仓库根目录另有一个 PeaZip.ShellEx/ 子项目由用户 Umoxfo 提供代码用于生成带Windows 11 迷你上下文菜单支持的 PeaZip 应用包将 PeaZip 便携包放入仓库根input目录用 Visual Studio 2022 打开 PeaZip.ShellEx.sln按 MSIX 打包流程应用项目为 PeaZip.Package生成应用包。从源码构建 PeaZipQuick Startdev/readme.txt 提供了完整的快速构建指南核心步骤可归纳为六步1) 安装 Lazarus IDE从 lazarus-ide.org 安装 Lazarus。2) 编译与构建先向原版 Lazarus 添加附加包lazbuild --add-package (peazip sources)/dev/metadarkstyle/metadarkstyle.lpk lazbuild --add-package (peazip sources)/dev/dragdropfilesdll/DragDropLazarus.lpk # 仅 Windows 构建 dragdropfilesdll.dll 需要随后构建项目lazbuild (peazip sources)/dev/project_peach.lpi lazbuild (peazip sources)/dev/project_pea.lpi lazbuild (peazip sources)/dev/dragdropfilesdll/dragdropfilesdll.lpi # 仅 Windows注意lazbuild可替换为完整路径Windows 通常为C:\lazarus\lazbuild.exeLinux 上 Lazarus 默认构建 GTK2 widgetset可用--widgetset指定其他 widgetset例如lazbuild --widgetsetqt6 project_peach.lpi针对 Qt6 库编译。也可以在 IDE 中通过Project Project Options Configuration and Target设置目标 OSLinux、Darwin/macOS、Windows…、widgetsetGTK、Qt、win32、cocoa…与 CPU 架构x86、x86_64、AARCH64…或用Run Build all手动编译。若出现未解析依赖错误可通过主菜单Package Add package file (.lpk)添加依赖或在Project Inspector中移除如移除 MetaDarkStyle详见 readme.txt 的 HINT: HOW TO ADD OR REMOVE PACKAGE (.LPK) DEPENDENCIES 一节。3) 移动二进制将pea、peazip二进制Windows 再加 dragdropfilesdll.dll放到 (peazip sources) 根目录此后不再需要 dev 目录。4) 添加第三方二进制下载目标 OS/CPU 架构对应的第三方二进制7z、brotli、zpaq、zstandard…放入 res/bin 对应子目录如res/bin/7zres/share 目录已包含全部所需非二进制资源无需额外操作。5) 便携包即就绪此时得到可用的 PeaZip Portable 包配置保存在res/conf目录可直接压缩整个根目录迁移应用与配置。6) 创建可安装包可选删除res/portable空文件后PeaZip 将把配置写入宿主系统用户目录如 *x 系系统的$XDG_CONFIG_HOME随后把应用根目录放入安装包由安装程序复制到目标位置多数 Linux 发行版为/usr/lib。包命名与目录布局约定命名约定为name-version.architectureDEB 例外采用 Debian 命名name_version_architectureversion 字段先为x.y.z版本号再为目标 OSLINUX、WINDOWS、WIN64Linux 上还需声明 widgetset如 GTK2、Qt6与发布号通常 -1architecture 在 Linux 声明目标架构Debian 用 amd64 替代 x86_64Windows 省略。便携包目录应包含pea/peazip二进制、res/按类型分组的资源、res/portable空文件、res/bin架构相关二进制、res/share非架构相关数据、res/conf配置文件。安装包基于便携包构建1) 移除res/portable文件使配置写入用户目录$XDG_CONFIG_HOME/peazip或$HOME/.config/peazip遵循 Open Desktop 标准2) 按目标系统文件系统标准放置资源例如 Linux 包中(peazip)写入/usr/lib/peazipres/bin保持目录而res/share链接到/usr/share/peazip。推荐用符号链接复用系统已有二进制如将res/bin/7z/7z链接到/usr/bin/7z避免系统存在需单独更新的第二份二进制该机制也可用于重定向配置目录。3) Windows 包需将按 peazip-setup_script_WIN*-configure.iss 编译的 Configure peazip.exe 放入res/bin。peazip-x.y.z.pack.zip提供当前版本 DEB/RPM 包目录结构示例帮助开发者针对不同包管理器组装发行包无需编译源码。配置文件详解便携模式下配置保存在 res/conf/conf.txt安装模式下写入用户配置目录。该文件以[键] 值的形式记录了大量运行时选项以下是可对照 GUI 设置理解的关键配置项主题与外观themes\main-embedded\theme.txt指定主题、$00FF9933等颜色值、clWindow/clAppWorkspace等 VCL 颜色常量。语言[language]指定语言文件如default.txt与序号。默认格式与压缩级别[default archiving format]18、[default 7z compression level]2、[default 7z compression method]LZMA2、[default zip compression level]2、[default zip compression method]Deflate、[default zpaq compression level]、[default Brotli compression level]3、[default Zstd compression level]2等。加密相关[encryption algorithm for ARC 0 AES 1 Serpent 2 Twofish 3 Blowfish]、[encryption algorithm for ZIP 0 AES 1 ZipCrypto (legacy)]、[encrypt also filenames, if the feature is supported by the format]、[privacy_mode directive 0 none 1 ask for password or keyfile when application starts, skippable 2 non skippable]、[keep password for current session]。任务窗口行为[0: always keep open task window for inspection of reports 1: (default) keep open only for errors, list, test operations 2: keep open only for errors, list 3: never keep open for inspection]默认值 2 的注释即写在键名中是理解该键取值语义的绝佳示例。哈希/校验[preferred checksum and hash algorithms]默认CRC32 CRC64 MD5 RIPEMD160 SHA1 BLAKE2S SHA256 SHA3_256[default checksum/hash algorithm for the file browser]4。删除策略[default deletion mode for delete after extraction / delete after archiving option: 0 recycle (Windows) 1 quick 2 zero 3 secure]。自由软件合规[Free Software compliance 0 permissive (default) 1 allow only Free Software components 2 allow only Free Software components and open archive formats; 1 and 2 modes can be hardcoded at compile time]与前述HLIBRE_DIR编译常量对应。文件浏览器[archive browser speed optimization]、[show hidden files and folders in the filesystem]、[smart file name sorting]、[middle mouse button click action]、[always start file browser from ...]等。这些配置项与 GUI 的 Options Settings 面板一一对应修改后重启或重新加载布局即生效自定义压缩设置与用户脚本应保存在配置目录中而非 res/share/presets这与 PeaZip 的设计行为保持一致。命令行与系统集成PeaZip 可被脚本调用也提供多种桌面集成方式样例均位于 res/share/batch/Windows bat 脚本bat/目录24 个如 Add to archive、Extract、Test、Convert 等。*Linux/x sh 脚本sh/目录24 个例如 Add to zip.sh 内容为$(dirname ${BASH_SOURCE[0]})/../../../../peazip -add2zip %F即通过-add2zip参数调用 peazip 可执行文件将传入文件%F添加到 zip。同类脚本还覆盖-add2archive通用、-add27z、-add2brotli、-add2pea、-add2tar、-add2zpaq、-add2zstd等以及 Extract/Convert/Test/Set comment/Open as archive 等操作并可执行peazip-reset.sh重置配置。freedesktop_integration/81 个文件面向 Gnome、KDE 等符合 freedesktop 标准的桌面环境含 .desktop 文件、Nautilus 脚本、Nemo actions、KDE service menus 等各有独立 readme例如 readme_add_peazip_to_gnome_context_menu.txt。macOS service menus/36 个文件Automator 工作流将 PeaZip 集成进 macOS 右键菜单。Windows/88 个文件SendTo 菜单快捷方式、Windows 11 迷你上下文菜单的 .reg 脚本以及 windows-system-wide-hotkey.txt 帮助文件。各目录均有说明文件如 readme-batch.txt 概述目录用途1) 从命令行脚本使用 PeaZip2) 与宿主系统集成。安装与运行Linux / Windows / macOSLinux预构建包见 dev/readme_Linux.txtDEB、RPM 与 Portable 包覆盖 aarch64/x86_64、GTK2/Qt6 widgetset预构建包不覆盖所有架构/widgetset/包格式组合也不针对特定发行版因此建议优先使用发行版仓库中的安装包缺失或过旧时可向维护者请求收录。Qt6 版本部分机器运行 Qt 版 PeaZip 需要libQt6Pas.so应安装到/usr/local/lib或等效目录如/usr/lib可用发行版工具安装或手动复制后运行ldconfig。Flatpakio.github.peazip.PeaZipQt6aarch64 与 x86_64。系统集成参考 freedesktop_integration/ 下的 .desktop 样例与 readme。提示在控制台直接运行peazip二进制可获得更多故障反馈如缺失依赖。Windows安装包由 InnoSetup 脚本构建如 peazip-setup_script_WIN64.iss提供文件关联、开始菜单与 SendTo 集成并安装dragdropfilesdll.dll以支持系统级拖放兼容 Wine/ReactOS。右键菜单本地化使用 res/share/lang-wincontext/ 下的 .reg 文件。macOS提供 Darwin 原生包Intel x86_64 与 aarch64macOS 右键菜单通过 macOS service menus/ 中的 Automator 工作流集成。许可与第三方致谢PeaZip 采用LGPLv3许可许可证文本见 res/share/copying/copying.txt。加密与数学库单元源自 Wolfgang Ehrhardt 的 crypto libraryZlib 许可已打补丁以支持 aarch64。第三方二进制7z/p7zip、FreeArc、PAQ/ZPAQ、Brotli、Zstd、UPX 等版权归各自作者各自许可文本收录于 res/share/copying/third-parties/如 7z License.txt、brotli note.txt、zstd note.txt、zpaqfranz-license.txt 等。GUI 中部分图标灵感来自 Tango Desktop Project、Crystal/Crystal Clear 与 NuoveXTCreative Commons Attribution Share-Alike 与 LGPL 许可。版本快照与更多资料最新源码位于仓库 peazip-sources/每个x.y.z版本还以peazip-x.y.z.src.zip源码快照形式发布。源码包内 dev/readme.txt 是编译与打包的权威指南含详细版 DETAILED GUIDE 与 .lpk 依赖管理提示README.md 与 README.zh.md 提供功能概览与中文速览。主题、翻译、FAQ、基准测试、截图等资料通过 README 的 Useful Links 指向项目官网相应页面见 README.md。综上PeaZip 以「跨平台原生前端 多开源后端」架构实现了 200 归档格式与完整文件管理能力其源码仓库同时承载了 Portable/安装包的完整构建链路与丰富的系统集成样例开发者既可开箱即用也可按本文所述流程从源码定制自己的发行包。赞分享桌面应用【免费下载链接】PeaZipFree Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager. Features volume spanning, compression, authenticated encryption. Supports 7Z, 7-Zip sfx, ACE, ARJ, Brotli, BZ2, CAB, CHM, CPIO, DEB, GZ, ISO, JAR, LHA/LZH, NSIS, OOo, PAQ/LPAQ, PEA, QUAD, RAR, RPM, split, TAR, Z, ZIP, ZIPX, Zstandard.项目地址https://gitcode.com/gh_mirrors/pe/PeaZip点击查看免费下载相关推荐PeaZip源代码编译指南从零开始构建跨平台压缩工具PeaZip源代码编译指南从零开始构建跨平台压缩工具 PeaZip是一款功能强大的开源压缩软件支持7Z、ZIP、RAR等200多种格式提供跨平台的文件和归桌面应用【亲测免费】 推荐开源利器PeaZip - 免费的跨平台文件压缩与解压工具推荐开源利器PeaZip 免费的跨平台文件压缩与解压工具 项目介绍 PeaZip是一款强大的免费档案管理器适用于Linux、macOS和Windows操作系桌面应用PeaZip免费开源的跨平台压缩软件终极指南PeaZip免费开源的跨平台压缩软件终极指南 您是否正在寻找一款功能强大且完全免费的压缩软件PeaZip 正是您需要的完美解决方案这款开源压缩工具不仅支持桌面应用上一篇CoreUI React图标库全面解析CoreUI Icons与自定义图标下一篇QtScrcpy终极指南如何用电脑完美控制安卓手机屏幕创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表