Welcome to mirror list, hosted at ThFree Co, Russian Federation.

keepassxc-keychain « utils - github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e671c56993963681b439abbc3af20b73daedd220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env bash
# fetch KeePass database passwords from keychain

### change the path to suit your installation or set KDBX_SEARCH before calling ###
: ${KDBX_SEARCH:=~/.KeePass/*.kdbx}

PROG=$(basename "$0")
KeePassXC=$(ls -f {/usr/local,/opt/homebrew,/Applications}/KeePassXC.app/Contents/MacOS/KeePassXC 2>/dev/null | head -1)

daemon_main() {
  declare -A DBs
  for DBPATH in $KDBX_SEARCH; do
    DBs[$(python -c  "import os; print os.path.realpath('$DBPATH')")]=$(security find-generic-password -a $USER -s "${DBPATH##*/}" -w)
  done

  # launch keepassxc
  IFS=$'\n\n\n'
  $KeePassXC --pw-stdin "${!DBs[@]}" <<<"${DBs[*]}" &
}

if [[ $1 == '-d' ]]; then
  exec >&~/tmp/$PROG.log
  set -vx
  daemon_main
else
  cd /
  daemon_main </dev/null >&/dev/null &
  disown
fi