aneutron / bitwarden-to-keepass

Export (most of) your Bitwarden items into KeePass (kdbx) database. That includes logins - with TOTP seeds, URIs, custom fields, attachments and secure notes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bitwarden-to-keepass

Export (most of) your Bitwarden items into KeePass database.

How it works?

It uses official bitwarden-cli client to export your items from Bitwarden vault and move them into your KeePass database - that includes logins (with TOTP seeds, URIs, custom fields, attachments, notes) and secure notes.

Usage with docker (docker-compose) - recommended

  • Clone this repository
  • Edit .env file
    • ⚠️ make sure to set your own DATABASE_PASSWORD - used as password for KeePass database
  • Run
docker-compose run bitwarden-to-keepass
  • You will be interactively asked to login with bitwarden-cli
  • After the process is finished your database export is in exports directory

Usage without docker (venv)

  • Clone this repository
  • Run
make build
  • You can either create new (empty) KeePass database (tested with KeePassXC but it will probably work with others) right now, otherwise one will be created when the script is executed
  • Go into the virtual environment
source .venv/bin/activate
  • Download official bitwarden-cli and do bw login (you need BW_SESSION for export to work).
  • Run
python3 bitwarden-to-keepass.py --bw-session BW_SESSION --database-path DATABASE_PATH --database-password DATABASE_PASSWORD [--database-keyfile DATABASE_KEYFILE] [--bw-path BW_PATH]

About

Export (most of) your Bitwarden items into KeePass (kdbx) database. That includes logins - with TOTP seeds, URIs, custom fields, attachments and secure notes

License:GNU General Public License v3.0


Languages

Language:Python 95.7%Language:Dockerfile 1.8%Language:Makefile 1.4%Language:Shell 1.0%