This project is a clone of kpcli with a few additional features thrown in. It provides a shell-like interface for navigating a KeePass-like database and manipulating entries.
Features, such as search
have been added.
Roll of Algorithms:
- GOST R 34.11-2012 Стрибог (Streebog) hash function (RFC 6986)
- GOST R 34.12-2015 128-bit block cipher Кузнечик (Kuznechik) (RFC 7801)
- GOST R 34.12-2015 64-bit block cipher Магма (Magma)
> ./kp -help
Usage of ./kp:
-db string
the db to open
-key string
a key file to use to unlock the db
-n string
execute a given command and exit
-version
print version and exit
/ > help
Commands:
attach attach <get|show|delete> <entry> <filesystem location>
cd cd <path>
clear clear the screen
edit edit <entry>
exit exit the program
help display help
ls ls [path]
mkdir mkdir <group name>
mv mv <source> <destination>
new new <path>
pwd pwd
rm rm <entry>
save save
saveas saveas <file.kdb>
search search <term>
show show [-f] <entry>
version version
xk xk <entry>
xp xp <entry>
xu xu
xw xw
xx xx
Running a command with the argument help
will display a more detailed usage message
/ > attach help
manages the attachment for a given entry
Commands:
create attach create <entry> <name> <filesystem location>
details attach details <entry>
get attach get <entry> <filesystem location> // ('-' for stdout)
There are two main components, the shell and the libraries that interact with the database directly. The shell interfaces with the database through those abstractions. The shell works by having individual files for each command which are strung together in main.go
.
This project is licensed under the ISC License.