diff --git a/Documents/zh-CN/Privacy.md b/Documents/zh-CN/Privacy.md new file mode 100644 index 000000000..4f2ee6dce --- /dev/null +++ b/Documents/zh-CN/Privacy.md @@ -0,0 +1,17 @@ +# NanaZip - 隐私政策 + +## 收集的信息 + +NanaZip 本身不会收集任何信息。但它会访问你本地文件系统上的文件和文件夹。此外,Windows 商店和 Windows 应用托管程序会收集使用数据,例如谁购买/使用了应用以及崩溃报告。如果你在应用内打开了指向其他网站的文件或链接,请参阅相关网站的隐私政策。 + +## 赞助版相关 + +由于微软商店许可 API 的实现,从 NanaZip 3.0 开始,NanaZip 会尝试访问互联网,以便检查赞助版附加组件的授权状态。 + +为优化用户体验,NanaZip 只会在你首次启动 NanaZip 文件管理器时检查一次赞助版授权状态。如果你在购买或兑换赞助版后需要刷新授权状态,可以点击赞助按钮进行手动刷新。 + +## 信息的使用 + +NanaZip 不会收集或在线共享任何其它数据。我们保留更改本政策的权利。任何政策变更将会及时更新。 + +## 最后更新日期:2024 年 5 月 28 日 \ No newline at end of file diff --git a/Documents/zh-CN/ReleaseNotes.md b/Documents/zh-CN/ReleaseNotes.md new file mode 100644 index 000000000..f563a1f90 --- /dev/null +++ b/Documents/zh-CN/ReleaseNotes.md @@ -0,0 +1,241 @@ +# NanaZip 发布日志 + +如需预览版的发布日志,请参阅 [NanaZip 预览版发布日志](ReleaseNotesPreview.md)。 + +**NanaZip 5.0 Update 2 (5.0.1263.0)** + +- 新功能 + - 提供 K7 风格的执行别名(K7.exe、K7C.exe 和 K7G.exe),以简化命令行用户体验,并为开发中的 POSIX 版 NanaZip(AptxZip)提供一致的命令名称风格。 +- 改进 + - 更新 Mile.Windows.UniCrt 至 1.2.328。 + - 更新 Mile.Xaml 至 2.5.1250。 + - 从 Mile.Project.Windows 迁移至 Mile.Project.Configurations。 +- 修复 + - 修复 NanaZip.Codecs 在以“Open Inside #”模式打开 WebAssembly (WASM) 二进制文件(只读支持)时崩溃的问题。 + - 修复 NanaZip.Codecs 在以“Open Inside #”模式打开 .NET 单文件应用包(只读支持)时崩溃的问题。 + - 修复 NanaZip.Codecs 在以“Open Inside #”模式打开 Electron Archive (asar)(只读支持)时崩溃的问题。 + - 修复解压 *.br 压缩包时崩溃的问题。(感谢 HikariCalyx) + - 修复 XXH3_128bits 打印结果字节序错误的问题。(感谢 fuchanghao) + +**NanaZip 5.0 Update 1 (5.0.1252.0)** + +- 新功能 + - 引入 .NET 单文件应用程序包的只读支持(当前暂不支持解压包内压缩文件)。 + - 引入 Electron Archive (asar) 的只读支持。 + - 引入 ROMFS 文件系统镜像的只读支持。 + - 引入 ZealFS 文件系统镜像的只读支持。 + - 引入 WebAssembly (WASM) 二进制文件的只读支持。 + - 引入 **开发中** 的 littlefs 文件系统镜像只读支持(当前仅可获取块信息)。 +- 改进 + - 更新乌克兰语和俄语翻译(贡献者:SlowDancer011)。 + - 更新匈牙利语翻译(贡献者:JohnFowler58)。 + - 更新维护工具相关依赖包。 +- 修复 + - 修复 UFS/UFS2 文件系统镜像只读支持下空文件夹被排除的问题。 + - 修复 UFS/UFS2 文件系统镜像只读支持下取消解压时不可用的问题。 + +**NanaZip 5.0 (5.0.1250.0)** + +- 新功能 + - 引入 UFS/UFS2 文件系统镜像的只读支持。(感谢 NishiOwO) + - 引入开发中的 NanaZip 平台抽象层(K7Pal),用于封装平台相关基础设施。(感谢 RuesanG 的反馈)(https://github.com/M2Team/NanaZip/tree/main/K7Pal) + - 提供基于 Windows CNG API 实现的哈希函数接口,NanaZip 从 K7Pal 使用如下哈希函数: + - MD2 + - MD4 + - MD5 + - SHA-1 + - SHA-256 + - SHA-384 + - SHA-512 + - ED2K(在 NanaZip.Codecs 中实现为 K7Pal MD4 封装器) + - 更新 NanaZip.Specification.SevenZip 头文件。 + - 引入智能解压(Smart Extraction)。(贡献者:R-YaTian) + - 新增解压后打开文件夹的设置选项。(贡献者:DaxDupont) +- 改进 + - 主线 7-Zip 实现同步至 24.09。(https://github.com/ip7z/7zip/releases/tag/24.09,感谢 Igor Pavlov,FadeMind 与 peashooter2 提供的信息) + - BLAKE3 实现同步至 1.5.5。(https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.5.5) + - RHash 实现同步至最新 master(v1.4.5 之后)。(https://github.com/rhash/RHash/commit/cf2adf22ae7c39d9b8e5e7b87222046a8f42b3dc) + - xxHash 实现同步至 v0.8.3。(https://github.com/Cyan4973/xxHash/releases/tag/v0.8.3) + - 更新 Mile.Windows.Helpers 至 1.0.671。(https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.671.0) + - 更新巴西葡萄牙语翻译(贡献者:maisondasilva)。 + - 更新波兰语翻译(贡献者:ChuckMichael)。 + - 更新简体中文和繁体中文翻译中的 'Want * History' 字符串。(贡献者:R-YaTian)(此项在 NanaZip 5.0 Preview 1 中遗漏提及) + - 确保 NanaZip Core(除自解压文件外)和 NanaZip Classic 均使用 10.0.19041.0 及以上版本的 ucrtbase.dll。 + - NanaZip 控制台版迁移至 NanaZip.Core 项目。 + - NanaZip.Codecs 和 NanaZip.Frieren 移除对 C++/WinRT 的依赖。 + - 所有组件移除 VC-LTL 依赖,非自解压组件均改用 Mile.Windows.UniCrt(https://github.com/ProjectMile/Mile.Windows.UniCrt)。 + - 调整自解压组件的编译配置以优化二进制体积。 + - 开始简化 NanaZip 特有的解码器和编码器实现。 + - 启用 NanaZip 自解压文件禁止创建子进程功能(自解压安装模式除外,相关二进制不包含在 NanaZip MSIX 包中)。 +- 修复 + - NanaZip.Frieren.DarkMode 新增 GetDpiForWindowWrapper 以修复旧版 Windows 兼容性问题。 + - 修复 ModernSHBrowseForFolderW 因 DefaultFolder 无法设置而导致失败的问题。(贡献者:dinhngtu) + - 修复从右键菜单调用 NanaZip 时窗口和对话框会被置于后台的问题。(贡献者:R-YaTian) + +**NanaZip 3.1 (3.1.1080.0)** + +- 尝试探索新的赞助按钮设计,但最终回退至旧设计以获得更自然的外观。(贡献者:dongle-the-gadget、Gaoyifei1011) +- 优化简体中文翻译。(贡献者:DeepChirp) +- 改进赞助版文档说明。(贡献者:sirredbeard) +- 改进阿尔巴尼亚语翻译。(贡献者:RDN000) +- 改进德语翻译。(贡献者:CennoxX) +- 修复多个深色模式下的界面样式问题。(贡献者:rounk-ctrl) +- 忽略文本缩放系数,解决 UI 布局问题。 +- 主线 7-Zip 实现同步至 24.08。(https://github.com/ip7z/7zip/releases/tag/24.08,感谢 Igor Pavlov,atplsx 和 wallrik 的反馈) +- LZ4 实现同步至 1.10.0。(https://github.com/lz4/lz4/releases/tag/v1.10.0) +- Mile.Project.Windows 子模块同步至 2024 年 8 月 12 日最新版。 +- VC-LTL 升级至 5.1.1。 +- YY-Thunks 升级至 1.1.2。 +- Mile.Windows.Helpers 升级至 1.0.645。 +- Mile.Xaml 升级至 2.3.1064。 +- Mile.Windows.Internal 升级至 1.0.2971。 +- 在 Windows 11 23H2 及以上系统中,应用运行时将延后包更新。(建议者:AndromedaMelody) +- 优化维护工具,支持 NanaZip 全目标自动打包。 + +**NanaZip 3.0 Update 1 (3.0.1000.0)** + +- Mile.Windows.Internal 升级至 1.0.2889。 +- 使 7-Zip Zstandard 分支特有选项支持多语言翻译。(贡献者:ChuckMichael) +- 赞助弹窗添加波兰语翻译。(贡献者:ChuckMichael) +- 修复与讯飞输入法、搜狗拼音和透明浮窗的兼容性问题。(贡献者:dinhngtu) +- 更新赞助按钮的界面布局。(建议者:namazso) +- NanaZip 现仅在首次启动文件管理器或点击赞助按钮时检查赞助版授权状态,以优化用户体验。 +- 更新 NanaZip 安装文档说明。(贡献者:dongle-the-gadget) +- 未选择文件时,使用“解压”对话框进行操作。(贡献者:dinhngtu) +- 修复 XAML 控件的提示气泡无法透明的问题。 +- 修复部分 Windows 10 环境下深色模式字体渲染异常的问题。 +- 调整深色模式下的文字颜色以提升用户体验。(建议者:userzzzq) +- 主线 7-Zip 实现同步至 24.06。(https://github.com/ip7z/7zip/releases/tag/24.06,感谢 Igor Pavlov,KsZAO 的反馈) + +**NanaZip 3.0 (3.0.996.0)** + +- 说明 + - NanaZip 3.0 及以后将有两种发行版本:NanaZip 和 NanaZip Classic。但 NanaZip 3.0 尚未提供 Classic 版本,因为还未准备好。详见:https://github.com/M2Team/NanaZip#differences-between-nanazip-and-nanazip-classic + - NanaZip 打包版不再支持 32 位 x86,因为受支持的 32 位 x86 Windows 已不支持仅运行于 32 位 x86 处理器。 + - NanaZip 3.0 及以后将有 NanaZip 赞助版(Sponsor Edition),详见:https://github.com/M2Team/NanaZip/blob/main/Documents/SponsorEdition.md + - NanaZip 引入了预装支持,详见:https://github.com/M2Team/NanaZip/issues/398 +- 新功能 + - 全部 GUI 组件支持深色模式。 + - 引入 Mica 支持。若开启深色模式且关闭 HDR,所有 GUI 组件可享受全窗口沉浸式 Mica 效果。(感谢 Andarwinux) + - 主线 7-Zip 实现同步至 24.05(https://github.com/ip7z/7zip/releases/tag/24.05,感谢 Igor Pavlov,AVMLOVER-4885955 和 PopuriAO29 提供信息) + - NanaZip 自解压执行文件存根使用 7-Zip 主线 Zstandard 解码器替换官方 Zstandard 解码器,以减小二进制体积。 + - NanaZip.Core 项目同样使用主线 Zstandard 解码器。 + - NanaZip.Core 移除主线 XXH64 Hash 处理器,因 NanaZip.Codecs 已有 xxHash 实现,且非 x86 性能更佳。 + - 实现新工具栏,替换旧菜单栏和旧工具栏。 + - 按照其他 Nana 系列项目设计,刷新关于对话框界面布局。 + - 新增 GmSSL 提供的 SM3 哈希算法(https://github.com/guanzhi/GmSSL)。 +- 改进 + - 重写并拆分核心库与自解压执行文件实现,分别为 NanaZip.Codecs 和 NanaZip.Core 项目。详见:https://github.com/M2Team/NanaZip/issues/336 + - 确保核心库和自解压执行文件实现支持 Windows Vista RTM(Build 6000.16386)。 + - 缩小自解压执行文件的二进制体积。 + - 7-Zip ZS 实现同步至最新 master(https://github.com/mcmilk/7-Zip-zstd/commit/79b2c78e9e7735ddf90147129b75cf2797ff6522) + - Zstandard 及内置 xxHash 实现同步至 v1.5.6(https://github.com/facebook/zstd/releases/tag/v1.5.6) + - Brotli 实现同步至 v1.1.0(https://github.com/google/brotli/releases/tag/v1.1.0) + - RHash 实现同步至 v1.4.4 之后的最新 master(https://github.com/rhash/RHash/commit/d916787590b9dc57eb9d420fd13e469160e0b04c) + - BLAKE3 实现同步至 1.5.1 之后的最新 master(https://github.com/BLAKE3-team/BLAKE3/commit/0816badf3ada3ec48e712dd4f4cbc2cd60828278) + - Mile.Project.Windows 更新为 Git 子模块版(https://github.com/ProjectMile/Mile.Project.Windows) + - Mile.Windows.Helpers 升级至 1.0.558(https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.558.0) + - Mile.Xaml 升级至 2.2.944(https://github.com/ProjectMile/Mile.Xaml/releases/tag/2.2.944.0) + - 使用 Mile.Windows.Internal 包(https://github.com/ProjectMile/Mile.Windows.Internal) + - 使用 Mile.Detours 包(https://github.com/ProjectMile/Mile.Detours) + - 文件夹选择器对话框改用现代 IFileDialog 实现(贡献者:reflectronic) + - 可直接跳转到 NanaZip 文件关联设置页(贡献者:AndromedaMelody) + - 驱动器右键菜单集成 NanaZip(贡献者:AndromedaMelody) + - 文件扩展名支持同步自 https://github.com/mcmilk/7-Zip-zstd + - 压缩对话框新增其他方法(https://github.com/mcmilk/7-Zip-zstd/commit/cf29d0c1babcd5ddf2c67eda8bb36e11f9c643b9) + - 构造函数按成员声明顺序重排初始化顺序(https://github.com/mcmilk/7-Zip-zstd/commit/8b011d230f1ccd8990943bd2eaad38d70e6e3fdf) + - 修正哈希结果可选大写/小写输出(https://github.com/mcmilk/7-Zip-zstd/commit/4fae369d2d6aa60e2bb45eea1fb05659a2599caa) + - 更新俄语翻译(贡献者:Blueberryy) + - 更新波兰语翻译(贡献者:ChuckMichael) + - 命令行版本增加禁止创建子进程的防护策略(贡献者:dinhngtu) + - NanaZip 文件管理器启用 Explorer Patcher DLL 阻断,主线程运行时重新启用远程库加载防护,无副作用(贡献者:dinhngtu) +- 修复 + - 修复 shell 扩展中 IEnumExplorerCommand::Next 的问题(感谢 cnbluefire) +- 其它开发相关调整 + +**NanaZip 2.0 Update 1 (2.0.450.0)** + +- 通过将 WindowsTargetPlatformMinVersion 调整为 10.0.19041.0,优化除自解压执行文件存根项目外所有 NanaZip 打包二进制体积。 +- 为解决与 Explorer Patcher 兼容性问题,主线程不再启用动态代码防护(贡献者:dinhngtu)。 +- Mile.Xaml 升级至 1.1.434(https://github.com/ProjectMile/Mile.Xaml/releases/tag/1.1.434.0) +- Mile.Windows.Helpers 升级至 1.0.8(https://github.com/ProjectMile/Mile.Windows.Helpers/commits/main) +- 右键菜单支持深色模式。 +- 关于对话框采用 Windows 11 XAML 控件风格和沉浸式 Mica 效果。 +- 修正 About 对话框的模态弹窗交互行为。 +- 持续刷新应用与文件类型图标(设计:Shomnipotence) + +**NanaZip 2.0 (2.0.396.0)** + +- 说明 + - 将最低系统要求提升至 Windows 10 Version 2004(Build 19041)及以上,以解决 XAML Islands 相关问题。 + - 增加了为所有用户安装 NanaZip 的说明。(贡献者:AndromedaMelody,建议者:Wolverine1977) +- 新功能 + - 集成 RHash(AICH、BLAKE2b、BTIH、ED2K、EDON-R 224、EDON-R 256、EDON-R 384、EDON-R 512、GOST R 34.11-94、GOST R 34.11-94 CryptoPro、GOST R 34.11-2012 256、GOST R 34.11-2012 512、HAS-160、RIPEMD-160、SHA-224、SHA3-224、SHA3-256、SHA3-384、SHA3-512、Snefru-128、Snefru-256、Tiger、Tiger2、TTH、Whirlpool)与 xxHash(XXH3_64bits、XXH3_128bits)算法。 + - 允许 NanaZip 与任意文件类型关联。(贡献者:manfromarce) + - 文件类型关联新增对 hfsx 的支持。(建议者:AndromedaMelody) +- 改进 + - 刷新应用程序及文件类型图标。(设计:Shomnipotence) + - 使用 XAML Islands 刷新关于对话框。 + - 7-Zip 升级至 22.01。(https://www.7-zip.org/history.txt,感谢 Igor Pavlov,HylianSteel、Random-name-hi和DJxSpeedy 提供信息) + - Zstandard 升级至 1.5.2(https://github.com/facebook/zstd/releases/tag/v1.5.2) + - BLAKE3 升级至 1.3.1(https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.3.1) + - LZ4 升级至 1.9.4(https://github.com/lz4/lz4/releases/tag/v1.9.4) + - 所有目标二进制启用控制流保护(CFG),以缓解 ROP 攻击。(贡献者:dinhngtu) + - 标记所有 x86 和 x64 目标二进制兼容 CET Shadow Stack。(贡献者:dinhngtu) + - 运行时严格句柄检查,阻止使用无效句柄。(贡献者:dinhngtu) + - Release 版本禁用动态代码生成,防止运行时生成恶意代码。(贡献者:dinhngtu,感谢 AndromedaMelody) + - 阻止运行时从远程源加载意外库。(贡献者:dinhngtu) + - 启用包完整性检查。(贡献者:AndromedaMelody) + - 启用 EH Continuation Metadata(建议者:dinhngtu,感谢 mingkuang) + - 启用签名返回保护。 + - 项目新增 Mile.Xaml。 + - 开始添加对解包模式的前置支持。 +- 修复 + - 修复导致 Everything 崩溃的外壳扩展问题。(感谢 No5972、startkkkkkk、SakuraNeko、bfgxp、riverar) + - 提升 Windows 10 Version 1607 下自解压执行文件存根的每显示器 DPI 感知支持。 + - 修复 i18n 资源文件换行符问题。(感谢 ygjsz) + - 手动为包清单生成资源标识。(建议者:AndromedaMelody) + - 解决 NanaZip 未出现在经典右键菜单的兼容问题。(贡献者:dinhngtu) + - 启动压缩时检查 7z 压缩参数合法性。(贡献者:dinhngtu) + +**NanaZip 1.2 (1.2.252.0)** + +- 修复自解压执行文件“未找到序号 345”问题。(感谢 FadeMind) +- 所有 GUI 组件支持每显示器 DPI 感知。 +- 调整并简化编译器选项以实现现代化。 +- 修复关于对话框的 i18n 问题。(感谢 AndromedaMelody) +- 更新安装教程。(建议者:AndromedaMelody) +- 修复仅存在应用商店版 notepad 时无法启动编辑器的问题。(感谢 AndromedaMelody) +- 通过将语言文件从 .txt 迁移到 .resw 现代化 i18n 实现。(贡献者:AndromedaMelody,建议者:Maicol Battistini) +- ModernWin32MessageBox 更新,解决部分情况下的无限循环问题。(感谢 AndromedaMelody) +- 微调图标并为预览版提供专用图标。(设计:Alice(四月天),感谢 StarlightMelody) +- 修复打开压缩包时的崩溃问题。(感谢 1human 和 Maicol Battistini) +- 选项对话框移除语言页,NanaZip 现跟随 Windows 的语言设置。 +- 修复文件类型关联的 i18n 实现问题。(贡献者:AndromedaMelody) +- 自解压执行文件 GUI 版添加 i18n 支持。(贡献者:AndromedaMelody) + +**NanaZip 1.1 (1.1.194.0)** + +- 重新引入 7-Zip 的汇编实现以提升性能。 +- 使用 Task Dialog 重新实现关于对话框。 +- 消息框现代化,采用 Task Dialog。(感谢 DJxSpeedy) +- 7-Zip 升级至 21.07。(感谢 Igor Pavlov,HylianSteel 提供信息) +- 继承自 7-Zip 的翻译更新。 +- 德语翻译更新。(贡献者:Hen Ry) +- 波兰语翻译更新。(贡献者:ChuckMichael) +- 改进多卷 RAR 文件检测,修复 https://github.com/M2Team/NanaZip/issues/82。(感谢 1human) +- 简化文件类型关联定义,并为其添加“打开”操作。(感谢 Fabio286) +- 修复 CI 问题。 +- VC-LTL 升级至 5.0.4。 +- C++/WinRT 升级至 2.0.211028.7。 + +**NanaZip 1.0 (1.0.95.0)** + +- 使用 MSBuild 现代化构建工具链,支持 MSIX 打包和并行编译。(感谢 AndromedaMelody、be5invis、青春永不落幕 和 oxygen-dioxide) +- 采用 [VC-LTL 5.x](https://github.com/Chuyu-Team/VC-LTL5) 工具链,使二进制体积比官方 7-Zip 更小,因为可以直接使用 ucrtbase.dll 及现代编译链优化。(感谢 mingkuang) +- 在 Windows 10/11 文件资源管理器中加入右键菜单支持。(感谢 shiroshan) +- 新图标设计。(设计:Alice(四月天)、Chi Lei、Kenji Mouri、Rúben Garrido、Sakura Neko。感谢 AndromedaMelody 和 奕然) +- 细节调整和优化。(感谢 adrianghc、Blueberryy、ChuckMichael、Legna、Maicol Battistini、SakuraNeko 和 Zbynius) +- 7-Zip 从 21.03 升级至 21.06。(感谢 Dan、lychichem、sanderdewit 提供信息,感谢 Igor Pavlov) +- 支持解析 NSIS 压缩包中的 NSIS 脚本。(建议:alanfox2000,感谢 myfreeer) +- 合并 7-Zip ZStandard 分支的功能。(建议:fcharlie,感谢 Tino Reichardt) \ No newline at end of file diff --git a/Documents/zh-CN/ReleaseNotesPreview.md b/Documents/zh-CN/ReleaseNotesPreview.md new file mode 100644 index 000000000..b4e4302c7 --- /dev/null +++ b/Documents/zh-CN/ReleaseNotesPreview.md @@ -0,0 +1,249 @@ +# NanaZip 预览版发布日志 + +如需稳定版发布日志,请参阅 [NanaZip 发布日志](ReleaseNotes.md)。 + +**NanaZip 5.1 预览 0 (5.1.1263.0)** + +本版本包含 NanaZip 5.0 Update 2 (5.0.1263.0) 的全部改进内容。 + +**NanaZip 5.1 预览 0 (5.1.1252.0)** + +本版本包含 NanaZip 5.0 Update 1 (5.0.1252.0) 的全部改进内容。 + +**NanaZip 5.0 预览 2 (5.0.1243.0)** + +- 持续完善开发中的 NanaZip 平台抽象层(K7Pal)。(https://github.com/M2Team/NanaZip/tree/main/K7Pal) + - 修复 7-Zip 哈希算法封装器在加密 RAR5 格式解压时崩溃及密码错误问题,详见 https://github.com/M2Team/NanaZip/issues/542。(感谢 RuesanG) + - 新增 K7PalHashDuplicate API。 + - 移除 K7PalHashReset API 以提升安全性。 + - 精简哈希上下文中保存的信息以提升安全性。 + - 7-Zip 的 SHA-1 哈希算法通过 NanaZip 平台抽象层(K7Pal)实现。 +- 更新 zh-Hans 与 zh-Hant 的 'Want * History' 相关翻译。(贡献者:R-YaTian,5.0 Preview 1 未提及) +- 新增解压后打开文件夹的设置选项。(贡献者:DaxDupont) +- 引入智能解压(Smart Extraction)。(贡献者:R-YaTian) +- 修复通过右键菜单启动 NanaZip 时窗口与对话框被置于后台的问题。(贡献者:R-YaTian) +- xxHash 升级至 v0.8.3。(https://github.com/Cyan4973/xxHash/releases/tag/v0.8.3) + +**NanaZip 5.0 预览 1 (5.0.1215.0)** + +- 引入 NanaZip 平台抽象层(K7Pal),用于封装平台相关基础设施。(https://github.com/M2Team/NanaZip/tree/main/K7Pal,开发中) + - 提供基于 Windows CNG API 实现的哈希函数接口,NanaZip 使用如下哈希函数: + - MD2 + - MD4 + - MD5 + - SHA-1 + - SHA-256 + - SHA-384 + - SHA-512 + - ED2K(NanaZip.Codecs 内实现为 K7Pal MD4 封装器) +- 主线 7-Zip 实现同步至 24.09。(https://github.com/ip7z/7zip/releases/tag/24.09,感谢 Igor Pavlov,FadeMind 与 peashooter2 提供信息) +- NanaZip 控制台版最终迁移至 NanaZip.Core 项目。 +- 修复 ModernSHBrowseForFolderW 因 DefaultFolder 无法设置而失败的问题。(贡献者:dinhngtu) +- Mile.Windows.UniCrt 升级至 1.1.278。 + +**NanaZip 5.0 预览 0 (5.0.1188.0)** + +- 本版本包含 NanaZip 3.1 (3.1.1080.0) 的全部改进内容。(https://github.com/M2Team/NanaZip/releases/tag/3.1.1080.0) +- 巴西葡萄牙语翻译更新。(贡献者:maisondasilva) +- 确保 NanaZip Core(除自解压文件外)和 NanaZip Classic 使用 10.0.19041.0 及以上版本的 ucrtbase.dll。 +- Mile.Windows.Helpers 升级至 1.0.671。(https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.671.0) +- NanaZip 控制台版迁移至 NanaZip.Core 项目(MSIX 包未收录,需等待下个预览版以包含 NanaZip 3.1 中 CVE-2024-11477 修复)。 +- NanaZip.Codecs 与 NanaZip.Frieren 移除 C++/WinRT 依赖。 +- NanaZip.Frieren.DarkMode 新增 GetDpiForWindowWrapper,修复旧版 Windows 兼容性问题。 +- 自解压相关项目移除 VC-LTL 依赖。 +- 调整自解压项目编译配置以优化二进制体积。 +- 非自解压组件改用 Mile.Windows.UniCrt(https://github.com/ProjectMile/Mile.Windows.UniCrt)。 +- 更新 NanaZip.Specification.SevenZip 头文件。 +- 开始简化 NanaZip 特有的解码器和编码器实现。 +- BLAKE3 实现同步至 1.5.5。(https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.5.5) +- RHash 实现同步至 v1.4.5 之后的最新 master。(https://github.com/rhash/RHash/commit/cf2adf22ae7c39d9b8e5e7b87222046a8f42b3dc) +- 自解压文件支持禁止创建子进程(自解压安装模式除外,相关二进制未包含在 NanaZip MSIX 包)。 + +**NanaZip 3.5 预览 0 (3.5.1000.0)** + +本版本包含 NanaZip 3.0 Update 1 (3.0.1000.0) 的全部改进内容。 + +**NanaZip 3.5 预览 0 (3.5.996.0)** + +本版本包含 NanaZip 3.0 (3.0.996.0) 的全部改进内容。 + +**NanaZip 3.0 预览 0 (3.0.756.0)** + +- NanaZip 核心库与自解压执行文件实现重写并拆分,核心库为 NanaZip.Core 项目。 +- 核心库与自解压执行文件兼容 Windows Vista RTM(Build 6000.16386)。 +- 自解压执行文件二进制体积进一步缩小。 +- 主线 7-Zip 实现同步至 23.01。(https://www.7-zip.org/history.txt) +- 7-Zip ZS 实现同步至最新 master。(https://github.com/mcmilk/7-Zip-zstd/commit/ce27b4a0d3a94313d256c3d077f1784baffb9eee) +- 新增 GmSSL 提供的 SM3 哈希算法。(https://github.com/guanzhi/GmSSL) +- Zstandard 及内置 xxHash 实现同步至 v1.5.5。(https://github.com/facebook/zstd/releases/tag/v1.5.5) +- Brotli 实现同步至 v1.1.0。(https://github.com/google/brotli/releases/tag/v1.1.0) +- RHash 实现同步至最新 master。(https://github.com/rhash/RHash/commit/b8c91ea6551e99e10352386cd46ea26973bb4a4d) +- Mile.Project.Windows 更新为 Git 子模块版。(https://github.com/ProjectMile/Mile.Project.Windows) +- Mile.Windows.Helpers 升级至 1.0.15。(https://github.com/ProjectMile/Mile.Windows.Helpers/commit/b522a956f7dd42dc205869d362f96a777bcb2aa0) +- Mile.Xaml 升级至 2.1.661。(https://github.com/ProjectMile/Mile.Xaml/releases/tag/2.1.661.0) +- 俄语翻译更新。(贡献者:Blueberryy) +- 修复 About 对话框文本换行问题。(感谢 MenschenToaster) +- 文件夹选择器对话框改用现代 IFileDialog 实现。(贡献者:reflectronic) +- 可直接跳转到 NanaZip 文件关联设置页。(贡献者:AndromedaMelody) +- 驱动器右键菜单集成 NanaZip。(贡献者:AndromedaMelody) +- 文件扩展名支持同步自 https://github.com/mcmilk/7-Zip-zstd +- 压缩对话框新增其他方法。(https://github.com/mcmilk/7-Zip-zstd/commit/cf29d0c1babcd5ddf2c67eda8bb36e11f9c643b9) +- 构造函数按成员声明顺序重排初始化顺序。(https://github.com/mcmilk/7-Zip-zstd/commit/8b011d230f1ccd8990943bd2eaad38d70e6e3fdf) +- 修正哈希结果可选大写/小写输出。(https://github.com/mcmilk/7-Zip-zstd/commit/4fae369d2d6aa60e2bb45eea1fb05659a2599caa) +- 其它开发相关调整。 + +**NanaZip 2.1 预览 0 (2.1.451.0)** + +- 图标进一步更新。(设计:Shomnipotence,NanaZip 2.0 正式版已更新) +- 增加为所有用户安装 NanaZip 的说明。(NanaZip 2.0 正式版已更新) +- 项目新增 Mile.Xaml。(NanaZip 2.0 正式版已更新) +- 关于对话框采用 XAML Islands 刷新界面。(NanaZip 2.0 正式版已更新) +- 开始添加对解包模式的前置支持。(NanaZip 2.0 正式版已更新) +- 除自解压存根项目外,所有打包二进制将 WindowsTargetPlatformMinVersion 提升至 10.0.19041.0 以优化体积。(NanaZip 2.0 Update 1 已更新) +- 主线程禁用动态代码防护以解决与 Explorer Patcher 的兼容性问题。(贡献者:dinhngtu,NanaZip 2.0 Update 1 已更新) +- Mile.Xaml 升级至 1.1.434。(NanaZip 2.0 Update 1 已更新,https://github.com/ProjectMile/Mile.Xaml/releases/tag/1.1.434.0) +- Mile.Windows.Helpers 升级至 1.0.8。(NanaZip 2.0 Update 1 已更新,https://github.com/ProjectMile/Mile.Windows.Helpers/commits/main) +- 右键菜单支持深色模式。(NanaZip 2.0 Update 1 已更新) +- 关于对话框采用 Windows 11 XAML 控件风格和 Mica 效果。(NanaZip 2.0 Update 1 已更新) +- 修正 About 对话框的模态弹窗交互行为。(NanaZip 2.0 Update 1 已更新) +- 持续刷新应用与文件类型图标。(设计:Shomnipotence,NanaZip 2.0 Update 1 已更新) + +**NanaZip 2.0 预览 2 (2.0.376.0)** + +- 7-Zip 升级至 22.01。(感谢 Igor Pavlov,HylianSteel、Random-name-hi 和 DJxSpeedy 提供信息) +- 文件类型关联新增对 hfsx 的支持。(建议者:AndromedaMelody) +- 将最低系统要求提升至 Windows 10 Version 2004(Build 19041)及以上,以解决 XAML Islands 相关问题。 +- LZ4 升级至 v1.9.4。 +- 启用包完整性检查。(贡献者:AndromedaMelody) +- Debug 版本不启用“禁用动态代码生成”防护,解决编解码器加载错误。(感谢 AndromedaMelody) +- 持续启用多项安全防护: + - 启用 EH Continuation Metadata。 + - 启用签名返回保护。 +- 手动为包清单生成资源标识。(建议者:AndromedaMelody) +- 解决 NanaZip 未出现在经典右键菜单的兼容问题。(贡献者:dinhngtu) +- 启动压缩时检查 7z 压缩参数合法性。(贡献者:dinhngtu) +- 图标进一步更新。(设计:Shomnipotence) + +**NanaZip 2.0 预览 1 (2.0.313.0)** + +- 修复导致 Everything 崩溃的外壳扩展问题。(感谢 No5972、startkkkkkk、SakuraNeko、bfgxp、riverar) +- 允许 NanaZip 与任意文件类型关联。(贡献者:manfromarce) +- 7-Zip 升级至 22.00。(感谢 Igor Pavlov,HylianSteel 提供信息) +- 集成 RHash 与 xxHash 哈希算法: + - AICH + - BLAKE2b + - BTIH + - ED2K + - EDON-R 224、EDON-R 256、EDON-R 384、EDON-R 512 + - GOST R 34.11-94、GOST R 34.11-94 CryptoPro + - GOST R 34.11-2012 256、GOST R 34.11-2012 512 + - HAS-160、RIPEMD-160 + - SHA-224 + - SHA3-224、SHA3-256、SHA3-384、SHA3-512 + - Snefru-128、Snefru-256 + - Tiger、Tiger2 + - TTH + - Whirlpool + - XXH3_64bits、XXH3_128bits +- Zstandard 升级至 1.5.2。 +- BLAKE3 升级至 1.3.1。 +- Windows 10 Version 1607 下自解压执行文件存根提升每显示器 DPI 感知支持。 +- 修复 i18n 资源文件换行符问题。(感谢 ygjsz) +- 启用多项安全防护(贡献者:dinhngtu): + - 所有目标二进制启用控制流保护(CFG),以缓解 ROP 攻击 + - 标记所有 x86 和 x64 目标二进制兼容 CET Shadow Stack + - 运行时严格句柄检查,阻止使用无效句柄 + - 禁用动态代码生成,防止运行时生成恶意代码 + - 阻止运行时从远程源加载意外库 + +**NanaZip 1.2 Update 1 预览 1 (1.2.253.0)** + +- 修复文件类型关联的 i18n 实现问题。(贡献者:AndromedaMelody,NanaZip 1.2 正式版已修复) +- 自解压 GUI 版添加 i18n 支持。(贡献者:AndromedaMelody,NanaZip 1.2 正式版已修复) + +**NanaZip 1.2 预览 4 (1.2.225.0)** + +- ModernWin32MessageBox 持续优化,解决部分情况下的无限循环问题。(感谢 AndromedaMelody) +- 修复打开压缩包时的崩溃问题。(感谢 1human 和 Maicol Battistini) +- 选项对话框移除语言页,NanaZip 现跟随 Windows 的语言设置。 + +**NanaZip 1.1 Servicing Update 1 预览 3 (1.1.220.0)** + +- 通过将语言文件从 .txt 迁移到 .resw 现代化 i18n 实现。(贡献者:AndromedaMelody,建议者:Maicol Battistini) +- ModernWin32MessageBox 优化,解决部分情况下的无限循环问题。(感谢 AndromedaMelody) +- 微调图标并为预览版提供专用图标。(设计:Alice(四月天),感谢 StarlightMelody) + +**NanaZip 1.1 Servicing Update 1 预览 2 (1.1.201.0)** + +- 修复自解压执行文件出现“未找到序号 345”问题。(感谢 FadeMind) +- 所有 GUI 组件支持每显示器 DPI 感知。 +- 调整并简化编译器选项以实现现代化。 +- 修复关于对话框的 i18n 问题。(感谢 AndromedaMelody) +- 更新安装教程。(建议者:AndromedaMelody) +- 修复仅存在应用商店版 notepad 时无法启动编辑器的问题。(感谢 AndromedaMelody) + +**NanaZip 1.1 Servicing Update 1 预览 1 (1.1.196.0)** + +- 简化文件类型关联定义并为其添加 open 动词支持。(感谢 Fabio286,NanaZip 1.1 正式版已修复) +- VC-LTL 升级至 5.0.4。(NanaZip 1.1 正式版已更新) + +**NanaZip 1.1 预览 2 (1.1.153.0)** + +- 修复无法正常加载右键菜单的问题。(感谢 DJxSpeedy) + +**NanaZip 1.1 预览 2 (1.1.152.0)** + +- 关于对话框重写为 Task Dialog。 +- 德语翻译更新。(贡献者:Hen Ry) +- 重新引入 7-Zip 的汇编实现以提升性能。 +- 继承自 7-Zip 的翻译更新。 +- 7-Zip 升级至 21.07。(感谢 Igor Pavlov,HylianSteel 提供信息) +- 改进多卷 RAR 文件检测,修复 https://github.com/M2Team/NanaZip/issues/82。(感谢 1human) +- 消息框现代化,采用 Task Dialog。 + +**NanaZip 1.1 预览 1 (1.1.101.0)** + +- 归档文件类型列表中排除 .webp,解决 https://github.com/M2Team/NanaZip/issues/57。(感谢 Zbynius,NanaZip 1.0 正式版已修复) +- 波兰语翻译更新。(贡献者:ChuckMichael) +- 修复 CI 问题。 +- VC-LTL 升级至 5.0.3。 +- C++/WinRT 升级至 2.0.211028.7。 + +**NanaZip 1.0 预览 4 (1.0.88.0)** + +- 意大利语、俄语与波兰语翻译更新。(贡献者:Blueberryy、Maicol Battistini、ChuckMichael) +- 提供 7-Zip 执行别名,方便用户迁移至 NanaZip。(建议者:AndromedaMelody) +- 调整文件关联图标。(建议者:奕然) +- 合并 7-Zip ZStandard 分支功能。(建议者:fcharlie,感谢 Tino Reichardt) +- 7-Zip 升级至 21.06。(感谢 Dan、lychichem、sanderdewit 提供信息,感谢 Igor Pavlov) +- 修复压缩对话框压缩等级显示问题。(感谢 SakuraNeko) +- 文件关联定义中每个扩展名独立类型,解决 https://github.com/M2Team/NanaZip/issues/53。(感谢 oxygen-dioxide) +- 关闭 virtualization:ExcludedDirectories,解决 https://github.com/M2Team/NanaZip/issues/34。(感谢 AndromedaMelody) +- 编译警告减少。 +- NanaZipPackage 项目配置调整,解决引用 WinRT 组件时的问题。 +- 更新 Mile.Cpp。 + +**NanaZip 1.0 预览 3 (1.0.46.0)** + +- 支持解析 NSIS 压缩包中的 NSIS 脚本。(建议者:alanfox2000,感谢 myfreeer) +- 简化右键菜单分隔符布局实现。 +- 修复应用依然显示在文件夹右键菜单且无可用操作时产生空项的问题。(感谢 shiroshan) +- 修复 VC-LTL 5.x 异常处理器实现导致的某些情况下的崩溃问题。(感谢 mingkuang) +- 新图标设计。(设计:Alice(四月天)、Chi Lei、Kenji Mouri、Rúben Garrido、Sakura Neko) +- 主 NanaZip 包含全部资源。 +- 修正命令行帮助字符串。(感谢 adrianghc) + +**NanaZip 1.0 预览 2 (1.0.31.0)** + +- Shell 扩展实现中移除 IObjectWithSite,降低复杂性并减少崩溃。 +- 添加 altform-lightunplated 资源,任务栏对比度标准模式下显示专用图标而非白色图标。(感谢 AndromedaMelody) +- 移除 Windows.Universal TargetDeviceFamily,解决最低系统要求显示问题。(感谢 青春永不落幕) +- AppX 清单启用 NanaZipC 与 NanaZipG。(感谢 be5invis) +- “操作可能需要大量内存”错误弹窗调整为警告弹窗。(感谢 Legna) + +**NanaZip 1.0 预览 1 (1.0.25.0)** + +- 使用 MSBuild 现代化构建工具链,支持 MSIX 打包和并行编译。 +- 采用 [VC-LTL 5.x](https://github.com/Chuyu-Team/VC-LTL5) 工具链,使二进制体积比官方 7-Zip 更小,因为可以直接使用 ucrtbase.dll 及现代编译链优化。 +- 在 Windows 10/11 文件资源管理器中加入右键菜单支持。 +- 新图标与界面微调。 \ No newline at end of file diff --git a/Documents/zh-CN/SponsorEdition.md b/Documents/zh-CN/SponsorEdition.md new file mode 100644 index 000000000..32cd1f45c --- /dev/null +++ b/Documents/zh-CN/SponsorEdition.md @@ -0,0 +1,32 @@ +# NanaZip 赞助版说明 + +NanaZip 在微软商店提供 99.99 美元的赞助版附加组件(Sponsor Edition),以吸引更多赞助者与贡献者。 + +对于 NanaZip 源代码仓库的贡献者及 2024 年 3 月 30 日前已赞助的用户,可免费获得赞助版。 + +## 功能 + +NanaZip 赞助版与普通版的唯一区别是在即将发布的稳定版工具栏中,将“赞助 NanaZip”按钮替换为“感谢您的赞助”按钮,类似于 Visual Studio 的管理员模式提示。 + +![VisualStudioAdministratorMode](../VisualStudioAdministratorMode.png) + +## 初衷 + +我们希望每一位 NanaZip 用户都能变得更加快乐,赞助版的意义在于: + +- 普通用户:我们很高兴大家可以免费使用价值 99.99 美元的产品,并且没有功能差异。 +- 贡献者:我们希望能向他人展示“感谢您的赞助”按钮。作为贡献者可免费获得,如需获得可积极参与贡献。 +- 赞助者:您同样可以向他人展示“感谢您的赞助”按钮,因为赞助者应当获得认可。 +- NanaZip 作者 Kenji Mouri:NanaZip 终于拥有了价格。没人会再觉得它毫无价值。贡献者和我付出的努力应当被肯定,即使 NanaZip 是完全免费和开源的项目。 + +## NanaZip 源代码仓库贡献者须知 + +如果您是 NanaZip 源代码仓库的贡献者,请联系 Kenji.Mouri@outlook.com 以获取更多信息。 + +注:如您为 NanaZip 所用 Project Mile 项目的贡献者,同样有资格获得。理论上我已通过邮件或 QQ 通知所有符合条件的 Project Mile 贡献者。 + +## 2024 年 3 月 30 日前赞助用户须知 + +理论上我已通过邮件或 QQ 通知所有符合条件的 NanaZip 赞助者。 + +如需了解详情,请联系 Kenji.Mouri@outlook.com。 \ No newline at end of file diff --git a/ReadMe.md b/ReadMe.md index 445c88dc4..d67374e3e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -15,6 +15,8 @@ [![Download NanaZip from SourceForge mirror](https://img.shields.io/badge/SourceForge-Download-orange)](https://sourceforge.net/projects/nanazip/files/latest/download) +[中文](README_zh-CN.md) + ![ContextMenu](Documents/ContextMenu.png) ![MainWindowLightMode](Documents/MainWindowLightMode.png) ![MainWindowDarkMode](Documents/MainWindowDarkMode.png) diff --git a/ReadMe_zh-CN.md b/ReadMe_zh-CN.md new file mode 100644 index 000000000..780681aa5 --- /dev/null +++ b/ReadMe_zh-CN.md @@ -0,0 +1,218 @@ +# ![NanaZip](Assets/NanaZip.png) NanaZip + +[![GitHub Actions 构建状态](https://github.com/M2Team/NanaZip/actions/workflows/BuildBinaries.yml/badge.svg?branch=master&event=push)](https://github.com/M2Team/NanaZip/actions/workflows/BuildBinaries.yml?query=event%3Apush+branch%3Amaster) +[![总下载量](https://img.shields.io/github/downloads/M2Team/NanaZip/total)](https://github.com/M2Team/NanaZip/releases) +[![评分](https://img.shields.io/endpoint?url=https%3A%2F%2Fmicrosoft-store-badge.fly.dev%2Fapi%2Frating%3FstoreId%3D9N8G7TSCL18R%26market%3DUS&style=flat&color=brightgreen)](https://www.microsoft.com/store/productId/9N8G7TSCL18R) + +[![微软商店 - 正式版渠道](https://img.shields.io/badge/Windows%20Store-Release%20Channel-blue)](https://www.microsoft.com/store/apps/9N8G7TSCL18R) +[![微软商店 - 预览版渠道](https://img.shields.io/badge/Windows%20Store-Preview%20Channel-blue)](https://www.microsoft.com/store/apps/9NZL0LRP1BNL) + +[![最新版 - 正式版渠道](https://img.shields.io/github/v/release/M2Team/NanaZip?display_name=release&sort=date&color=%23a4a61d)](https://github.com/M2Team/NanaZip/releases/latest) +[![最新版 - 预览版渠道](https://img.shields.io/github/v/release/M2Team/NanaZip?include_prereleases&display_name=release&sort=date&color=%23a4a61d)](https://github.com/M2Team/NanaZip/releases) + +[![最新正式版下载量](https://img.shields.io/github/downloads/M2Team/NanaZip/latest/total)](https://github.com/M2Team/NanaZip/releases/latest) +[![最新预览版下载量](https://img.shields.io/github/downloads-pre/M2Team/NanaZip/latest/total)](https://github.com/M2Team/NanaZip/releases) + +[![从 SourceForge 镜像下载 NanaZip](https://img.shields.io/badge/SourceForge-Download-orange)](https://sourceforge.net/projects/nanazip/files/latest/download) + +[English](README.md) + +![上下文菜单](Documents/ContextMenu.png) +![主窗口浅色模式](Documents/MainWindowLightMode.png) +![主窗口深色模式](Documents/MainWindowDarkMode.png) + +NanaZip 是一个开源的文件压缩/解压工具,旨在为现代 Windows 用户提供更好的体验,基于知名开源文件归档工具 7-Zip 的源代码进行分支开发。 + +**欢迎各种形式的贡献。无论是建议、Pull Request 还是 Issue,我们都非常欢迎。** + +如果你希望赞助 NanaZip 的开发,请阅读 [NanaZip 赞助版](Documents/SponsorEdition_zh-CN.md) 的相关文档。对于所有 NanaZip 源代码仓库的贡献者,赞助版是免费的。 + +一般来说,NanaZip 赞助版更像是贡献者专享版,不过我们也提供了一种方式,可以通过购买获得荣誉,让你看起来像是代码贡献者,因为 NanaZip 始终是一个社区友好的开源项目。 + +如果你希望我优先添加某些功能或改进,请使用[付费服务](https://github.com/MouriNaruto/MouriNaruto/blob/main/PaidServices.md)。 + +Kenji Mouri + +## 功能特色 + +- 继承自 7-Zip 24.09、[7-Zip ZS] 及 [7-Zip NSIS] 的全部功能。 +- 所有图形界面组件均支持深色模式。 +- 主窗口支持 Mica 特效。若你使用深色模式且关闭了 HDR,将享受所有界面组件的全窗口沉浸式 Mica 效果。 +- 采用 MSIX 打包,带来现代化的部署体验。 +- 支持 Windows 10/11 文件资源管理器的右键菜单集成。 +- 提供 7-Zip 执行别名,方便用户迁移到 NanaZip。 +- 所有图形界面组件均支持每监视器 DPI 感知(Per-Monitor DPI-Aware)。 +- 支持自解压格式(SFX)图形界面的国际化(i18n)。 +- 现代化的消息框和文件夹选择器。 +- 提供智能解压(Smart Extraction)功能。 +- 支持“解压后打开文件夹”选项。 +- 支持策略机制来强制应用设置(详见 [Policies.md](/Documents/Policies_zh-CN.md))。 +- 默认将“网络标记”(Mark-of-the-Web)传播到所有文件。 +- 提供更多哈希算法支持: + - MD2(继承自 7-Zip ZS,重写为 Windows CNG API 实现) + - MD4(继承自 7-Zip ZS,重写为 Windows CNG API 实现) + - MD5(继承自 7-Zip,重写为 Windows CNG API 实现) + - SHA-1(继承自 7-Zip,重写为 Windows CNG API 实现) + - SHA-256(继承自 7-Zip,重写为 Windows CNG API 实现) + - SHA-384(继承自 7-Zip,重写为 Windows CNG API 实现) + - SHA-512(继承自 7-Zip,重写为 Windows CNG API 实现) + - ED2K(使用 Windows CNG API 实现) + - AICH(使用 RHash 实现) + - BLAKE2b(使用 RHash 实现) + - BTIH(使用 RHash 实现) + - EDON-R 224/256/384/512(均使用 RHash 实现) + - GOST R 34.11-94(使用 RHash 实现) + - GOST R 34.11-94 CryptoPro(使用 RHash 实现) + - GOST R 34.11-2012 256/512(均使用 RHash 实现) + - HAS-160(使用 RHash 实现) + - RIPEMD-160(使用 RHash 实现) + - SHA-224(使用 RHash 实现) + - SHA3-224/256/384/512(继承自 7-Zip,但重写为 RHash 实现) + - Snefru-128/256(使用 RHash 实现) + - Tiger/Tiger2(使用 RHash 实现) + - TTH(使用 RHash 实现) + - Whirlpool(使用 RHash 实现) + - XXH32/XXH64/XXH3_64bits/XXH3_128bits(均使用 xxHash 实现) + - SM3(使用 GmSSL 实现) +- 提供更多编解码器支持。(说明:Decoder 指支持解压缩,Encoder 指支持压缩,Archiver 指支持归档格式) + - Brotli(解码/编码/归档,继承自 7-Zip ZS) + - Fast-LZMA2(编码器,继承自 7-Zip ZS) + - Lizard(解码/编码/归档,继承自 7-Zip ZS) + - LZ4(解码/编码/归档,继承自 7-Zip ZS) + - LZ5(解码/编码/归档,均继承自 7-Zip ZS) + - Zstandard(解码器继承自 7-Zip,编码/归档器继承自 7-Zip ZS) + - NSIS(解码支持 NSIS 脚本反编译,继承自 7-Zip NSIS) + - UFS/UFS2 文件系统镜像(归档器,仅限只读,支持大端/小端) + - .NET 单文件应用程序包(归档器,仅限只读,不支持解压缩包内的压缩文件) + - Electron Archive (asar)(归档器,仅限只读) + - ROMFS 文件系统镜像(归档器,仅限只读) + - ZealFS 文件系统镜像(归档器,仅限只读) + - WebAssembly (WASM) 二进制文件(归档器,仅限只读) + - littlefs 文件系统镜像(**开发中**,归档器,仅可获取块信息) +- 提供更多安全加固: + - 为所有目标二进制启用控制流防护(CFG),缓解 ROP 攻击。 + - 所有 x86 与 x64 目标二进制均标记为支持控制流强制技术(CET)Shadow Stack。 + - 运行时严格句柄校验,阻止无效句柄的使用。 + - Release 版本禁用动态代码生成,防止运行时生成恶意代码。 + - 运行时阻止加载来自远程的意外库。 + - 启用包完整性检查。 + - 启用异常处理(EH)延续元数据。 + - 启用签名返回(Signed Returns)。 + - NanaZip 命令行和自解压文件支持禁止创建子进程(自解压安装模式除外,相关二进制不包含在 NanaZip MSIX 包中)。 +- 各类界面 BUG 修复与增强。 + +[7-Zip ZS]: https://github.com/mcmilk/7-Zip-zstd +[7-Zip NSIS]: https://github.com/myfreeer/7z-build-nsis + +## NanaZip 与 NanaZip Classic 的区别 + +从 3.0 版本起,NanaZip 将提供两种发行版本:NanaZip 和 NanaZip Classic。它们的区别如下: + +- NanaZip + - 仅支持 64 位系统。 + - 仅提供 MSIX 打包版本。 + - 支持 Windows 10/11 文件资源管理器的右键菜单集成。 + - 支持文件关联。 + - 提供 7-Zip 执行别名,方便用户迁移到 NanaZip。 + - 仅支持 Windows 10 Version 2004(Build 19041)及以上系统。 + - 基于 XAML 的图形界面。 + +- NanaZip Classic(**开发中**) + - 支持 32 位系统。 + - 仅提供便携版。 + - 不支持右键菜单集成。 + - 不支持文件关联。 + - 不支持 7-Zip 执行别名。 + - 支持 Windows Vista RTM(Build 6000.16386)及以上系统。 + - Win32 图形界面。 + +## 系统要求 + +- NanaZip(基于 XAML 的 GUI 和 MSIX 包) + - 支持系统:Windows 10 Version 2004(Build 19041)及以上 + - 支持平台:x86(64 位)和 ARM(64 位) + +- NanaZip Classic(Win32 GUI) + - 支持系统:Windows Vista RTM(Build 6000.16386)及以上 + - 支持平台:x86(32 位和 64 位)和 ARM(64 位) + +- NanaZip Core(核心、编解码器、命令行和自解压文件) + - 支持系统:Windows Vista RTM(Build 6000.16386)及以上 + - 支持平台:x86(32 位和 64 位)和 ARM(64 位) + +注意:除自解压文件外,如果你希望在 Windows 10 Version 2004(Build 19041)之前的版本上使用 NanaZip 组件,需确保二进制文件夹下存在版本号为 10.0.19041.0 或更高的 ucrtbase.dll。 + +我们选择 Windows 作为 NanaZip 项目的主要支持平台,是因为 Windows 长期保持了良好且经过验证的 ABI 和兼容性,在计算机发展历史中表现突出。但我们也关注非 Windows 平台。以下是针对非 Windows 平台的支持政策: + +- NanaZip 的现代版本不会支持非 Windows 平台,除非有人将 WinRT XAML 移植到 POSIX。因此,非 Windows 平台的支持政策仅适用于 NanaZip Core 和 NanaZip Classic。 +- 开发团队将尽力支持具备 Windows Vista 及以上功能的 Wine 环境,当前已通过 Wine 9.x 简易测试。 +- 我们不支持 ReactOS 及其衍生系统,因为其支持难度较大。但在 ReactOS 及其衍生系统上进行测试也是一件有趣的事。 + +## 下载与安装 + +以下是 NanaZip 的多种安装方式。 + +### 微软商店 + +这是安装 NanaZip 的推荐方式。 + +在 Windows 应用商店中搜索并安装 `NanaZip`(稳定版),或 `NanaZip Preview`(预览版)。 + +你也可以点击下列微软商店链接直接下载安装: + +- [NanaZip](https://www.microsoft.com/store/apps/9N8G7TSCL18R) +- [NanaZip Preview](https://www.microsoft.com/store/apps/9NZL0LRP1BNL) + +### MSIX 安装包 + +你还可以在 [GitHub Releases](https://github.com/M2Team/NanaZip/releases) 页面下载 MSIX 安装包。 + +下载完成后,你可以直接双击 MSIX 文件进行安装,或者以管理员身份运行 PowerShell,执行以下命令安装: + +> PowerShell -NoLogo -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass Add-AppxPackage -DeferRegistrationWhenPackagesAreInUse -ForceUpdateFromAnyVersion -Path `MSIX 安装包的路径` + +注意:NanaZip 的 MSIX 安装包已包含所有依赖项,因为我们知道无法访问应用商店的用户很难获取依赖包,我们希望 NanaZip 可以在任何地方都能稳定部署和使用。 + +如果你希望为所有用户安装 NanaZip,可以以管理员身份运行 PowerShell,执行以下命令: + +> PowerShell -NoLogo -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass Add-AppxProvisionedPackage -Online -PackagePath `MSIX 安装包的路径` -LicensePath `XML 授权文件的路径` + +你也可以在以管理员身份运行的命令提示符下执行以下命令: + +> DISM.exe /Online /Add-ProvisionedAppxPackage /PackagePath:`MSIX 安装包的路径` /LicensePath:`XML 授权文件的路径` + +更多信息请参阅 [PowerShell 文档](https://learn.microsoft.com/zh-cn/powershell/module/dism/add-appxprovisionedpackage?view=windowsserver2022-ps) 和 [DISM 文档](https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/dism-app-package--appx-or-appxbundle--servicing-command-line-options?view=windows-11) + +注意:由于微软商店的政策,离线安装 NanaZip 后,首次运行必须连接互联网以获取许可证,否则 Windows 无法正常启动 NanaZip。 + +如果你想卸载为所有用户安装的 NanaZip,可以以管理员身份运行 PowerShell,执行以下命令: + +> Get-AppxPackage -Name *40174MouriNaruto.NanaZip* -AllUsers | Remove-AppxPackage -AllUsers -Confirm + +## 已知问题 + +- 如果你在右键菜单中找不到 NanaZip,请通过任务管理器重启所有文件资源管理器进程。 +- 由于 MSIX 的设计,磁盘驱动器的右键菜单仅在 Windows 11(22H2 及以上)中显示。 +- 受限于 Desktop Bridge 文件系统虚拟化机制,NanaZip 无法在 Windows 安全模式下使用。 +- 由于微软商店的相关政策,NanaZip 无法禁用 Desktop Bridge 文件系统虚拟化,因此在 Windows 10 中对 `%UserProfile%/AppData` 目录的文件操作将会被重定向,在 Windows 11 中,除 `Local`、`LocalLow` 和 `Roaming` 之外的 `%UserProfile%/AppData` 子目录下的文件操作也同样会被重定向。 +- 由于微软商店的限制,从 NanaZip 1.2 及以后版本,将不再支持 [微软官方文档](https://docs.microsoft.com/zh-cn/windows/uwp/publish/supported-languages) 未提及的语言。 +- 如果你关闭了 Windows 防火墙,NanaZip 可能无法正常安装。 + ([相关 Issue 1](https://github.com/M2Team/NanaZip/issues/204)) + ([相关 Issue 2](https://github.com/microsoft/terminal/issues/12269)) +- 由于系统设置的限制,从 Windows 11+(Build 22000.1817+ & 22621.1555+)起,你可以直接跳转到 NanaZip 的文件关联设置页面。 + ([相关文档](https://learn.microsoft.com/zh-cn/windows/uwp/launch-resume/launch-default-apps-settings)) +- 由于微软商店许可 API 的实现,从 NanaZip 3.0 起,你会发现 NanaZip 会尝试访问互联网,因为需要检查赞助版附加组件的授权状态。 +- 为优化用户体验,NanaZip 仅会在你首次启动文件管理器时检查赞助版附加组件的授权状态。如果你在购买或兑换赞助版后想要刷新授权状态,可点击赞助按钮进行手动刷新。 + +## 文档 + +- [许可证](License.md) +- [相关人员](Documents/People.md) +- [隐私政策](Documents/zh-CN/Privacy.md) +- [行为准则](CODE_OF_CONDUCT.md) +- [贡献指南](CONTRIBUTING.md) +- [NanaZip 赞助者版](Documents/zh-CN/SponsorEdition.md) +- [NanaZip 更新日志](Documents/zh-CN/ReleaseNotes.md) +- [NanaZip 预览版更新日志](Documents/zh-CN/ReleaseNotesPreview.md) +- [版本说明](Documents/Versioning.md) +- [My Digital Life 论坛](https://forums.mydigitallife.net/threads/84171)