Skip to content

Yangmoooo/ezz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ezz

A very light wrapper around 7-Zip, only supporting one-click extraction

⭐ Features

  • 开箱即用,无多余操作
  • 一键无感运行,完成后显示桌面通知
  • 支持 7-Zip 的所有压缩格式,以及 隐写者apate 格式
  • 提取至当前目录,自动整理 目录结构,并清理压缩包
  • 跨平台,支持 x86_64 架构 Windows 和 Linux

我管你这的那的

💡 Usage

完整组件包括:

  1. 主程序 ezz.exe(如无说明,下文中均指该程序)
  2. 密码库文件 ezz.vault,未指定路径时将依次在程序目录和用户家目录下寻找
  3. 日志文件保存在程序目录下的 ezz.log
  4. 用于还原 apate 格式的 aletheia.exe(可选,详见 关于 aletheia

解手模式

右键点击待处理的文件,选择用本程序打开即可,配合 Custom Context Menu 效果更佳

该模式使用默认密码库中的密码,若无匹配项则会弹出密码输入框(仅 Windows 平台)

  • 密码库的第一行为缓存,包含了最近使用过的密码的行号
  • 其后的每一行表示一个密码条目
  • 密码条目由 频率分隔符密码 三部分组成
    1. 频率 为该密码被使用的次数,由程序自动统计并排序
    2. 分隔符英文逗号
    3. 密码 为一串字符

密码库示例如下:

4 2 3
23,Ao82s9jNk
12,6$hu!,4
9,i5l.6?rt07
0,klsidu9

若要给密码库添加新密码,只需在文件末尾添加一行,注意此时 频率 应该为 0

也可在命令行中添加密码:

ezz a <PASSWORD>

终端模式

程序包含两个子命令:extractadd,分别用于提取压缩文件和向密码库中添加密码

如果不指定子命令,默认会将传入的参数作为压缩文件路径执行 extract

参数说明如下:

Usage: ezz [FILE] [COMMAND]

Commands:
  extract  e[X]tract an archive
  add      [A]dd a password to the vault
  help     Print this message or the help of the given subcommand(s)

Arguments:
  [FILE]  path to input file (when no subcommand is given, extract it)

Options:
  -h, --help     Print help
  -V, --version  Print version

# 子命令 extract (x)
Usage: ezz extract [OPTIONS] <FILE>

Arguments:
  <FILE>  path to input file

Options:
  -p, --pwd <PASSWORD>  specify password
      --vault <FILE>    path to password vault
  -h, --help            Print help
  -V, --version         Print version

# 子命令 add (a)
Usage: ezz add [OPTIONS] <PASSWORD>

Arguments:
  <PASSWORD>  password to adds

Options:
      --vault <FILE>    path to password vault
  -h, --help            Print help
  -V, --version         Print version

由于 Windows 平台的模式设为了桌面程序(不会弹出终端窗口),导致其在终端不会有输出,包括 --help--version,但程序可以正常接受参数并运行

🔔 Notice

关于分卷压缩包

本程序支持标准风格的分卷:

  • 形如 .001.002.003 的分卷(一般由 7-Zip 生成)
  • 形如 .part1.rar.part2.rar 的分卷
  • 形如 .zip.z01.z02 的分卷

使用时请打开第一个分卷(但 zip 是最后一个),即 .001.part1.rar.zip,否则无法完全清理分卷文件

关于目录结构

  • 若压缩包中只包含 1 个文件(夹),则直接提取至当前目录
  • 否则将提取至与压缩包同名的文件夹中,并排除重复的根目录

关于 aletheia

aletheia 是一个独立的程序,专门用于还原 apate 伪装过的文件(目前最新版位于 tag v2.0.1

  • 使用方法与 ezz 基本相同,右键点击待处理的文件,选择用 aletheia 打开即可
  • 还原的速度一般很快,成功后会弹出桌面通知,若无通知则表示还原失败

关于 Custom Context Menu

作为一个 Portable App,本程序不会添加至 Windows 右键菜单

但可以通过 Custom Context Menu 来实现。具体用法请参考其 Wiki,或直接导入自用 配置文件,然后修改其中 ezz 的路径即可

请注意,尽管 Custom Context Menu 提供了选中多个文件后批量操作的功能,但本程序并不支持。如果将其 Match Files 设为 Each 模式,似乎能够工作(会出现错误通知),但不建议这样做

❤️ Thanks

  • 感谢 7-Zip 提供了强大的开源压缩工具
  • 感谢 @cenglin123 为探索可行的网盘保存方式所做出的大量实践和考证

📄 License

7-Zip 的许可证构成较为复杂,详见附件 Lisence1Lisence2

其主要的许可证是 LGPL,而在本项目中:

  • Windows 版封装了通过 7-Zip 仓库 编译的 7zz.exe
  • Linux 版封装了 7-Zip 官网 分发的 7zz

因此本项目也遵循 LGPL 许可