Skip to content

CHzip 3.2

Choose a tag to compare

@chanhuan1 chanhuan1 released this 15 Sep 11:37
· 44 commits to main since this release

v3.2(2026-09-15)— 正确性 / 安全修复 + 工程加固

修复

  • 进度条下方堆着一串百分比:7-Zip 在管道(非 TTY)下会把文件名行与进度行挤在同一行且没有 \r 分隔,而百分比正则只在行首匹配 —— 于是解析器退化到「取行内第一个 %」,把第一个 0% 之后的内容全当成了文件名。现在按「前后都是空白」识别进度百分比,并从扣掉百分比后的残余文本里取文件名;前端另加一道兜底。已在飞牛真机验证通过
  • 任务永久卡在「排队中」:worker 启动阶段(读任务、打开源文件)抛错时进程以 0 退出,父进程无法感知失败,任务状态永远停在 queued。现在会落终态并以非 0 退出
  • 分卷识别可被普通文件名打挂:backup.20260915 这类合法备份名会被当成 2000 万号分卷,info / preview 需要分配近 2000 万元素的数组(实测峰值内存约 900 MiB;10 位数字直接 OOM)。分卷号与缺失枚举现在都有上界
  • 诊断报告的授权目录被误脱敏:authorizedRoots 因敏感词子串匹配(authorized 含 auth)恒被替换成 [REDACTED],导致诊断报告无法用于排查目录授权问题。顺带修掉含 -p 的路径被误伤
  • 清理步骤相互干扰:解压收尾时若临时目录删除失败(权限异常),密码文件覆写与选择文件删除会被整体跳过;过期清理与 worker 并发删除时也可能让 extract / jobs 请求报内部错误

工程

  • 补齐 source / selection / diagnostics 三个安全模块的单测(此前零直连测试)
  • 新增版本号一致性门禁:manifest / package.json / index.html 的 ?v= / README 徽章与安装命令,漏改任一处 npm test 就会失败
  • 新增 GitHub Actions CI(push / PR 跑 node --check + npm test)
  • 清理死代码(parse-worker.js、不可达的 configureVariant),constants.js 成为常量的唯一来源
  • 文档与实现对齐:API.md 删掉从未实现的 verify 端点,补上 comment 与 preview-file

测试:172 → 258(+86)

安装

下载对应架构的 .fpk,在飞牛应用中心手动安装;校验和见 SHA256SUMS.txt。