下载
最新版本 v0.0.7 · 2026-11-04
更新日志
-
v0.0.7 2026-11-04 windows_macos
更新说明
0.0.7 — 2026-11-04
macOS 已签名;Windows 未签名。本版本只发布 Windows amd64 产物,arm64 不再单独打包(见"平台调整")。
功能
- 未加密 PDF 直接处理:不再报错。仅做轻量结构校验后按原字节输出,处理更快。
- 全新"毛玻璃"界面:多彩渐变背景 + 半透明面板 + 大圆角;macOS 采用 macOS 27 风格,Windows 采用 Win11 Fluent 风格。主题由本项目手写实现,无第三方依赖。
- 暗色模式对比度修复:按钮、文件列表、文字在深色系统下可正常阅读。
- 文件列表改为单行紧凑布局(图标 / 文件名 / 大小 / 状态):待处理蓝色,成功逐条变绿,失败红色,取消 / 跳过低灰。
- “处理完成"提示改为右上角 Toast:滑入显示 3 秒后滑出,不再弹出阻塞式对话框。
- 首次启动窗口按内容自适应:宽度随顶部按钮而定,高度恰好完整显示 6 个文件;手动调整过窗口尺寸后会自动记住并复用。
- 设置页分组为"外观 / 输出”,语言与默认输出选项统一在同一个面板。
- 精简界面:移除进度条,底部仅保留输出模式与"开始处理"按钮。
PDF 处理
- 加密支持保持不变:RC4 40/128 位、AES-128(AESV2)、AES-256(AESV3,R5/R6)、crypt filter、对象流、损坏 xref 恢复等。
- 新增
/Perms版本标记校验(R5 为True、R6 为Fals),密钥校验更严格。 - 未加密文件不再执行整树内容哈希,结构校验通过后直接复制,避免不必要的开销与误报。
修复
- 批量处理中切换语言会导致按钮状态异常——已禁止处理过程中切换语言。
- Windows 路径长度判断改用 UTF-16 计长,避免多字节文件名(如中文)误报"路径过长"。
- 配置文件仅在内容变化时写入,减少不必要的磁盘写。
- 清理历史遗留死代码(未使用的错误码、冗余进度计数、未用文案键)。
平台调整
- Windows 产物改为仅提供
PDFUnlocker-0.0.7-windows-amd64.zip。arm64 版在 Windows-on-ARM 环境受 OpenGL/GPU 驱动限制无法显示窗口;amd64 版在 x86 原生与 ARM 模拟下均可正常运行。 - macOS 此次签名通过 Apple 时间戳服务,DMG 一次性签名成功。
产物与校验
PDFUnlocker-0.0.7-macos-arm64.dmgPDFUnlocker-0.0.7-windows-amd64.zip
cd dist/release-0.0.7 shasum -a 256 -c SHA256SUMS已知限制
- 仅处理用户密码为空的权限限制 PDF;不支持破解打开密码。
- 数字签名在重写后可能失效,检测到签名域时给出提示。
- Windows 产物未进行 Authenticode 签名;macOS 已签名、未公证,首次打开可能触发 Gatekeeper 提示。
- 本文档发布时应用图标仍为占位图,正式发布前应替换。
-
v0.0.5 2026-11-03 macos.windows
更新说明
0.0.5 — 2026-11-03
许可证与分发合规更新,无功能变更。
变更
- 项目代码采用 MIT 许可证,新增
LICENSE。 - 新增
THIRD_PARTY_NOTICES.md,收录全部 Go 模块、Go 运行时、Fyne 内嵌字体及依赖内嵌的第三方许可证全文。 - macOS 应用包
Contents/Resources、DMG、Windows ZIP 与发布目录均包含LICENSE和THIRD_PARTY_NOTICES.md。 SHA256SUMS覆盖新增许可证文件。- 关于对话框、macOS
Info.plist、Windows 版本资源中的版权文案更新为 MIT 许可标识。 build/check_release.sh增加许可证文件存在性检查。
- 项目代码采用 MIT 许可证,新增
-
v0.0.3 2026-11-03 macos-windows
更新说明
0.0.3 — 2026-11-03
首个发布版本。
功能
- 单文件、多文件选择,支持拖拽 PDF 到窗口。
- macOS 使用系统原生
NSOpenPanel;Windows 使用原生GetOpenFileNameWExplorer 风格对话框。 - 输出模式:
- 生成新文件:默认在源目录创建
PDFUnlocker_Output,输出名为原名_unlocked.pdf,重名时追加_1、_2。 - 覆盖原文件:处理前二次确认,成功后才替换原文件。
- 生成新文件:默认在源目录创建
- 可选统一输出目录。
- 批量处理、进度显示、取消操作、单个文件失败不影响其余文件。
- 中文 / English 界面,运行时切换并持久化。
- 配置保存在
os.UserConfigDir()/PDFUnlocker/config.json。
PDF 支持
- 加密:RC4 40-bit(V=1/R=2)、RC4 40/128-bit(V=2/R=3)、AES-128(V=4/R=4,AESV2)、AES-256(V=5/R=5、V=5/R=6)。
- crypt filter:
/V2、/AESV2、/AESV3、/Identity。 - 加密字典:
/StmF、/StrF、/EFF、/EncryptMetadata。 - 文件结构:传统 xref、xref stream、混合
/XRefStm、增量更新、对象流。 - 过滤器:FlateDecode,PNG/TIFF predictor。
- 损坏 xref 扫描恢复;恢复成功时提示
W_XREF_RECOVERED,不可恢复时返回E_XREF_UNRECOVERABLE。
安全
- 仅处理用户密码为空的权限限制 PDF;检测到非空用户密码时返回
E_USER_PASSWORD_REQUIRED,不创建输出文件。 - 输出自检通过后才原子替换目标;失败保留原文件。
- 资源限制与解压炸弹防护。
- 取消后清理临时文件;临时文件权限 0600。
- 覆盖模式拒绝符号链接目标。
- 不联网、不上传文件、不包含遥测、不记录 PDF 内容或密钥。
发布产物
PDFUnlocker-0.0.3-macos-arm64.dmg:macOS arm64,已签名、已公证,内含Applications快捷方式,可拖拽安装。PDFUnlocker-0.0.3-windows-amd64.zip:Windows amd64,未签名。PDFUnlocker-0.0.3-windows-arm64.zip:Windows arm64,未签名。SHA256SUMS:全部产物的 SHA-256 校验值。
校验:
shasum -a 256 -c SHA256SUMS已知限制
- 不支持破解打开密码(非空用户密码)。
- 数字签名在重写后可能失效;检测到签名域时提示
W_SIGNATURE_INVALIDATED。 - 未知过滤器按原始字节保留,并提示
W_FILTER_PRESERVED。 - 不保证表单脚本语义完全不变。
- 输出不进行线性化。
- Windows 产物未签名,可能触发 SmartScreen 提示。
- 应用图标当前为占位图。
适用声明
本工具用于移除你拥有合法处理权限的 PDF 的权限限制。请勿用于侵犯他人权益的用途。