summaryrefslogtreecommitdiff
path: root/README.nfo
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                                                      │
└──────────────────────────────────────────────────────────────┘