This CLI-tool diffs two Keepass (.kdbx) files and prints their differences.
RUSTFLAGS="-C target-cpu=native" cargo install keepass-diff
The RUSTFLAGS
variable will significantly boost performance. See
installation note in keepass-rs.
keepass-diff <file-a> <file-b>
The CLI will ask for the password for both files individually.
You can also provide one or both passwords on the command line (please be aware that this will expose them to other users logged on to the system):
keepass-diff <file-a> <file-b> --password-a <password-a> --password-b <password-b>
If the files have the same password, you can use the --passwords <password>
flag. Be aware this has the same problem as above:
keepass-diff <file-a> <file-b> --passwords <password>
To avoid exposing the password, use --same-password
instead. The CLI will ask
you to type it once for both files.
keepass-diff <file-a> <file-b> --same-password
keepass-diff <file-a> <file-b> --keyfile-a <keyfile-a> --keyfile-b <keyfile-b>
If one of these flags is provided, it will use the keyfile for authentication. It will still ask for a password, if the password flags are not provided.
If you want to pipe the output of the command into another file or script, you
may want to disable the terminal colors. You can do so with the --no-color
or
-C
option.
--help
yields:
``` keepass-diff 1.1.2 Joern Bernhardt joern.bernhardt@googlemail.com This CLI-tool reads two Keepass (.kdbx) files and prints their differences.
USAGE:
keepass-diff [OPTIONS]
ARGS:
OPTIONS:
-C, --no-color Disables color output
-h, --help Print help information
--keyfile-a
.kdbx
files.Password for the Keepass demo files: demopass
.
test_file.kdbx
is locked without password and keyfile keyfile.key
.
test2_file.kdbx
is locked with demopass
and the keyfile keyfile.key
.
A small bash script for running tests is run-tests.sh
. It will run a few tests
to see if the outputs is correct. Best run as
RUSTFLAGS="-C target-cpu=native" ./run-tests.sh
for improved performance.
Care to help? I'm pretty new to Rust, so if anyone likes to help or teach me cool stuff, please reach out!