blob: 04bbca0ee086224725e125911353a2f5373e9b62 (
plain) (
blame)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
┌──────────────────────────────────────────────────────────────┐
│ R P A S S [ KRZ ] krz.sh │
└──────────────────────────────────────────────────────────────┘
WHAT
command-line password manager in rust + sqlite. manages accounts
and generates random ascii passwords or xkcd-style passphrases.
data is encrypted before it's written to the sqlite database using
the fernet crate. the key is a random vault.key stored in plaintext,
so anyone who can read the key can decrypt the database.
password-protecting the key file is not done yet.
not production-ready. see TODO.
USE
rpass ARGUMENT [VALUES]
arguments:
-h --help print the welcome message
-n --new create an account
-l --list list saved accounts
-e --edit [UUID] [FIELD_NAME] edit an account
-d --delete [UUID] delete an account
-p --purge purge all accounts, delete the vault
TODO
- edit, delete, and purge accounts
- password to protect the key file
- test suite
- publish to crates.io
- clean up dead code and unused imports
DEVELOP
git clone REPO_URL
cd REPO
local test:
cargo build --release
./target/release/REPO --help
publish to crates.io:
cargo build --release
cargo login [API_TOKEN]
cargo publish --dry-run
cargo publish
CONTRIBUTING
fork, add features, open a pull request.
┌──────────────────────────────────────────────────────────────┐
│ krz.sh │
└──────────────────────────────────────────────────────────────┘
|