README.md (1981B)
1 An encrypted password store with dmenu integration. 2 3 4 Security 5 -------- 6 7 pdb uses lua-symmetric, which uses libsodium's secretbox to secure your 8 passwords. It also uses lua-arc4random, which uses LibreSSL's 9 `arc4random` for generating passwords. In short, lua-symmetric uses 10 standard, modern crypto. 11 12 It prompts you for your password when you are adding it rather than 13 passing it as a command line argument so people can't grab it from `ps`, 14 but it doesn't disable console echoing so someone looking over your 15 shoulder can obviously see what you type. 16 17 18 Requirements 19 ------------ 20 21 [arc4]: https://github.com/mikejsavage/lua-arc4random 22 [symmetric]: https://github.com/mikejsavage/lua-symmetric 23 24 lua, [lua-arc4random][arc4], [lua-symmetric][symmetric] 25 Optionally: xdotool, dmenu for pdbmenu 26 27 28 Upgrading 29 --------- 30 31 As of 10th Feb 2015 (commit `22ef6c142d`), pdb uses a new database 32 format. I have included a utility to update an existing password 33 database, which you can run with `lua 34 update-1-openssl-to-libsodium.lua`. Note that it also generates a new 35 secret key. 36 37 As of 21st Feb 2015, (commit `2dd625b`), pdb uses flatfiles instead of a 38 database. You need to run `lua update-2-db-to-flatfiles.lua` if you wish 39 to use more recent versions of pdb. 40 41 42 Usage 43 ----- 44 45 pdb requires you to put a shared secret on each computer you want to 46 use the database on, but the database itself can be given to entities 47 you don't trust (Dropbox, etc) without revealing your passwords. 48 49 Initialise the database on one of your machines with `pdb init`. You can 50 then start playing with it (`pdb add`, `pdb list`, etc. run `pdb` by 51 itself for a full list). 52 53 An example session: 54 55 $ pdb init 56 You should chmod 600 /home/mike/.pdb/key2 57 $ pdb add test 58 Enter a password for test: fdsa 59 $ pdb gen test2 60 $ pdb list 61 test 62 test2 63 $ pdb get test 64 fdsa 65 $ pdb get test2 66 )"QI p!8j.c9g!yQ:d8Dc9XdHKWqKz\" 67 68 pdbmenu is a little shell script that lets you pick a password with 69 dmenu, then types it in for you.