simplify sbean
This commit is contained in:
43
shell/sbean
43
shell/sbean
@@ -3,24 +3,23 @@ _help() {
|
|||||||
echo "
|
echo "
|
||||||
sbean: Spilling the beans, a keepassxc cli wrapper
|
sbean: Spilling the beans, a keepassxc cli wrapper
|
||||||
|
|
||||||
commands:
|
syntax:
|
||||||
- apt install keepassxc:
|
[db-file] [key-file] [command] [[entry-name]] [[options]]
|
||||||
install
|
|
||||||
- create database
|
|
||||||
[db-file] [key-file] create
|
|
||||||
- list entries
|
|
||||||
[db-file] [key-file] ls
|
|
||||||
- add new entry, password through stdin, or interactive
|
|
||||||
[db-file] [key-file] add [entry-name] --user user-name
|
|
||||||
- get user name
|
|
||||||
[db-file] [key-file] get-user [entry-name]
|
|
||||||
- get password
|
|
||||||
[db-file] [key-file] get-password [entry-name]
|
|
||||||
- open database using cli
|
|
||||||
[db-file] [key-file] open
|
|
||||||
- open database using keepassxc:
|
|
||||||
[db-file] [key-file] openx
|
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
install apt install keepassxc
|
||||||
|
create database create
|
||||||
|
ls list entries
|
||||||
|
add [entry-name] add new entry, password asked interactively, or use stdin
|
||||||
|
options:
|
||||||
|
--user optional user-name
|
||||||
|
--file use a file as password (may be binary)
|
||||||
|
get-user [entry-name] get user name
|
||||||
|
get-password [entry-name] get password
|
||||||
|
options:
|
||||||
|
--decode use if --file was used to add
|
||||||
|
open open database using cli
|
||||||
|
openx open database using keepassxc
|
||||||
"
|
"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
@@ -56,7 +55,11 @@ _ls() {
|
|||||||
|
|
||||||
_add() {
|
_add() {
|
||||||
if [[ -z "$ENTRY" ]]; then _error "entry required"; fi
|
if [[ -z "$ENTRY" ]]; then _error "entry required"; fi
|
||||||
|
if [[ -e "$ENTRY_FILE" ]]; then
|
||||||
|
cat "$ENTRY_FILE" | base64 -w 0 | keepassxc-cli add -k "$DBKEY" --no-password "$DBPATH" -p -u "$ENTRY_USER" "$ENTRY"
|
||||||
|
else
|
||||||
keepassxc-cli add -k "$DBKEY" --no-password "$DBPATH" -p -u "$ENTRY_USER" "$ENTRY"
|
keepassxc-cli add -k "$DBKEY" --no-password "$DBPATH" -p -u "$ENTRY_USER" "$ENTRY"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_get_user() {
|
_get_user() {
|
||||||
@@ -66,7 +69,11 @@ _get_user() {
|
|||||||
|
|
||||||
_get_pass() {
|
_get_pass() {
|
||||||
if [[ -z "$ENTRY" ]]; then _error "entry required"; fi
|
if [[ -z "$ENTRY" ]]; then _error "entry required"; fi
|
||||||
|
if [[ -z "$ENTRY_DECODE" ]]; then
|
||||||
keepassxc-cli show -k "$DBKEY" --no-password -a password "$DBPATH" "$ENTRY"
|
keepassxc-cli show -k "$DBKEY" --no-password -a password "$DBPATH" "$ENTRY"
|
||||||
|
else
|
||||||
|
keepassxc-cli show -k "$DBKEY" --no-password -a password "$DBPATH" "$ENTRY" | base64 -d
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_open() {
|
_open() {
|
||||||
@@ -82,6 +89,8 @@ for (( i=1; i<=$#; i++ )); do
|
|||||||
[[ "$value" =~ -h ]] && { _help; }
|
[[ "$value" =~ -h ]] && { _help; }
|
||||||
[[ "$value" =~ --help ]] && { _help; }
|
[[ "$value" =~ --help ]] && { _help; }
|
||||||
[[ "$value" =~ --user ]] && { ENTRY_USER="${!j}"; }
|
[[ "$value" =~ --user ]] && { ENTRY_USER="${!j}"; }
|
||||||
|
[[ "$value" =~ --file ]] && { ENTRY_FILE="${!j}"; }
|
||||||
|
[[ "$value" =~ --decode ]] && { ENTRY_DECODE="true"; continue; }
|
||||||
i=$j
|
i=$j
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user