12 个版本 (稳定版)
使用旧的 Rust 2015
1.2.0 | 2023 年 11 月 6 日 |
---|---|
1.1.4 | 2022 年 4 月 4 日 |
1.1.3 | 2022 年 2 月 4 日 |
1.1.1 | 2021 年 8 月 8 日 |
0.1.0 | 2019 年 1 月 16 日 |
在 命令行工具 中排名 230
每月下载量 34
9.5MB
946 行
此 CLI 工具比较两个 Keepass (.kdbx) 文件并打印它们之间的差异。
安装
主要安装方法是使用 Rust。
RUSTFLAGS="-C target-cpu=native" cargo install keepass-diff
RUSTFLAGS
变量将显著提高性能。请参阅 keepass-rs 的安装说明。
使用容器进行替代安装和使用
如果您未安装 Rust 工具链,则可以使用容器进行替代安装。要能够通过简单命令在当前工作目录中运行 keepass-diff
,需要进行两个安装步骤
- 构建容器
- 为简单使用设置别名
以下命令假设使用 docker
来构建和运行容器,但也可以将其替换为 podman
和可能的其他引擎。请检查选项是否可用。
要构建容器,请运行
docker build -f Containerfile.install -t "keepass-diff:custom-local" .
要获取适合您机器的正确别名以进行使用,请运行
alias keepass-diff='docker run -it --rm -v "$(pwd)":/app:ro "keepass-diff:custom-local"'
alias
命令可以复制并粘贴到您的 .bashrc
或 .zshrc
文件中。这将确保在每次启动新的终端会话时都保持 keepass-diff 可用。您可以选择启动一个新的 shell 或在当前终端中运行一次命令以立即使其可用。
设置别名后,应可以使用 keepass-diff
。尝试运行
keepass-diff --help
注意: 请记住,别名是以允许将当前工作目录挂载到容器中的方式设置的。这意味着您能够访问此目录中的文件,但您将无法通过绝对路径或使用 ../
从您的宿主机器访问文件。
使用方法
keepass-diff <file-a> <file-b>
CLI 将分别要求输入两个文件的密码。
提供密码
您还可以在命令行上提供一个或两个密码(请注意,这将使它们暴露给登录到系统上的其他用户)
keepass-diff <file-a> <file-b> --password-a <password-a> --password-b <password-b>
如果文件具有相同的密码,可以使用--passwords <password>
标志。请注意,这同样存在上述问题。
keepass-diff <file-a> <file-b> --passwords <password>
为了避免泄露密码,请使用--same-password
代替。CLI将要求您为两个文件各输入一次。
keepass-diff <file-a> <file-b> --same-password
提供密钥文件
keepass-diff <file-a> <file-b> --keyfile-a <keyfile-a> --keyfile-b <keyfile-b>
如果提供了这些标志之一,它将使用密钥文件进行身份验证。如果没有提供密码标志,它仍然会要求输入密码。
禁用脚本的彩色输出
如果您想将命令的输出管道传输到另一个文件或脚本,您可能想禁用终端颜色。您可以使用--no-color
或-C
选项来实现。
--help
将显示
keepass-diff 1.1.4
Joern Bernhardt <joern.bernhardt@googlemail.com>
This CLI-tool reads two Keepass (.kdbx) files and prints their differences.
USAGE:
keepass-diff [OPTIONS] <INPUT-A> <INPUT-B>
ARGS:
<INPUT-A> Sets the first file
<INPUT-B> Sets the second file
OPTIONS:
-C, --no-color Disables color output
-h, --help Print help information
--keyfile-a <keyfile-a> Sets the key file for the first file
--keyfile-b <keyfile-b> Sets the key file for the second file
--keyfiles <keyfiles> Sets the same key file for both files (keyfile-a and keyfile-b would take precedence if set as well)
--no-password-a Sets no password for the first file (and will not ask for it)
--no-password-b Sets no password for the second file (and will not ask for it)
--no-passwords Sets no password for both files (and will not ask for both files)
--password-a <password-a> Sets the password for the first file (will be asked for if omitted)
--password-b <password-b> Sets the password for the second file (will be asked for if omitted)
--passwords <passwords> Sets the password for both files (if it's the same for both files)
--same-password Asks for password only once, and tries to open both files with it
-v, --verbose Enables verbose output
-V, --version Print version information
使用的库
测试
Keepass演示文件的密码为:demopass
。
test_file.kdbx
未设置密码且没有密钥文件keyfile.key
。 test2_file.kdbx
使用密码demopass
和密钥文件keyfile.key
锁定。
一个用于运行测试的小型bash脚本为run-tests.sh
。它将运行一些测试以检查输出是否正确。最佳运行方式为RUSTFLAGS="-C target-cpu=native" ./run-tests.sh
以获得更好的性能。
贡献
愿意帮忙吗?我相当新于Rust,所以如果有人愿意帮忙或教我一些酷的东西,请与我联系!
依赖项
约7-19MB
约228K SLoC