4 stable releases
new 2.8.0 | Mar 28, 2025 |
---|---|
2.7.0 |
|
2.6.1 | Feb 28, 2025 |
2.0.0 | Feb 13, 2025 |
#150 in Authentication
314 downloads per month
28KB
191 lines
baza
Description
This project is created as an alternative to password-store, but written in a low-level language with additional features
Why should I use baza?
- Because it's very blazzing fast
Installation
Docker (ghcr.io)
docker run -ti -v "${HOME}/.baza:/usr/share/baza/.baza:rw" ghcr.io/itmagelab/baza:release-v2.6.1 baza --help
Cargo (crates.io)
[!WARNING] Minimum Supported Rust Version: 1.83
cargo install baza
Building
Baza compiles with Rust 1.83.0 (stable) or newer.
git clone https://github.com/itmagelab/baza
cd baza
cargo build --release
./target/release/baza --version
cp ./target/release/baza ~/.cargo/bin/
Usage
Generate a new key for baza
baza init
This command will generate a password phrase automatically, can be used for automations and CIs
[!WARNING] !!! This is not an idempotent operation !!!
When you create a new key, the old one is deleted without warning and the data cannot be recovered if you forget the password phrase
Re-init your baza
baza init -p my_secret_pass_phrase
baza --help
Generate a new password by baza
baza password generate 10
baza password generate 30 --no-latters --no-symbols
Create your baza bundles
baza bundle create full::path::for::login
baza bundle create work::depart::ldap::username
baza bundle create site::google::username@gmail.com
Delete your baza bundles
baza bundle delete full::path::for::login
Edit your bundle
baza bundle search login
baza bundle edit full::path::for::login
Lock and Unlock your database (or bundles) with password phrase
baza lock
baza unlock
Copy password to clipboard (first line from bundle)
baza bundle copy full::path::for::login
baza --copy full::path::for::login
Create bundle password from stdin
echo '$ecRet' | baza --stdin full::path::for::login
How to keep your keys safe
gpg --list-keys
echo "daec1759-f713-4cb2-bae6-5817b22c9c6c" | gpg --encrypt --armor --recipient root@itmage.ru > key.asc
gpg --decrypt key.asc
Save the key in a safe place
Create a GPG key
gpg --gen-key
gpg --export --armor baza > public_key.asc
Generate VHS articles
vhs < Baza.tape
Migration from pass
bash contrib/pass-to-baza.sh
TODO
- Sync from a cloud providers
- TOTP
Dependencies
~39–55MB
~1M SLoC