This is a fork of pws by Jan Lelis, a command-line password safe/manager written in Ruby using aes-256-cbc and pbkdf2.
This version adds the option to store usernames along with passwords. Read below the instructions to update to this version if you have version 1.0 or 0.9 already installed.
- Add new passwords with
$ pws add <key>
. You will be prompted for a username and password that will encrypted and stored in your home directory. - Retrieve your usernames and passwords with
$ pws get <key>
. The username will be displayed and the password will be copied to your clipboard.
Type pws help
for complete usage instructions.
To install pws 1.1 with usernames support you need to clone this repository and create a local gem:
$ gem build pws.gemspec
$ gem install pws-1.1.gem
You can install pws 1.0 with: $ gem install pws
Run $ pws --help
for usage information.
On Linux, please make sure you've got xclip
or xsel
installed (for the clipboard).
You should use a Ruby that was built with bindings to an openssl version >= 1.0 or pws will fall back to a Ruby-only version of the PBKDF2 function, which is much slower. If using openssl 1.0 is not possible for you, you can work around that issue by using the --iterations
option with a value below 75_000 (see help). If you have problems using openssl 1.0 with your Ruby, please look for a solution in this issue.
Password files created with versions < 1.1 are not compatible with version 1.1. However, you can easily convery your safes with:
$ pws resave --in [0.9|1.0] --out 1.1
Besides using the --filename path/to/safe
option, you can shortly call pws --cwd
for using a .pws
file in the current directory.
Trust the code by reading the source! It's originally based on this tutorial. You might want to start reading in the 0.9.2 tag, because it's got less features and therefore is less code.
- namelessjon
- brianewing
- dquimper
- grapz
- thecatwasnot (cucumber specs loosely based on these)
© 2010-2013 Jan Lelis, MIT license © 2014 Aaron Ciaghi, MIT license (usernames addon)