This way, the RUN step that installs @bitwarden/cli gets cached and only needs to be run once per machine Likewise for the RUN step that installs pykeepass, which only needs to be run when the pykeepass version gets bumped
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
- ⚠️ make sure to set your own
- 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 needBW_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]
Description
Export (most of) your Bitwarden items into KeePass (kdbx) database. That includes logins - with TOTP seeds, URIs, custom fields, attachments and secure notes
This is a mirror from https://github.com/rogsme/bitwarden-to-keepass
Languages
Python
91.2%
Shell
5.6%
Dockerfile
3.2%