Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janlelis/pws
Command-Line Password Safe 🔐︎
https://github.com/janlelis/pws
aes-256 cli-command encrypted-store password-generator password-manager pbkdf2 ruby ruby-cli
Last synced: 1 day ago
JSON representation
Command-Line Password Safe 🔐︎
- Host: GitHub
- URL: https://github.com/janlelis/pws
- Owner: janlelis
- License: mit
- Created: 2012-01-19T13:10:05.000Z (almost 13 years ago)
- Default Branch: main
- Last Pushed: 2023-02-02T10:30:57.000Z (almost 2 years ago)
- Last Synced: 2024-05-08T18:19:33.906Z (6 months ago)
- Topics: aes-256, cli-command, encrypted-store, password-generator, password-manager, pbkdf2, ruby, ruby-cli
- Language: Ruby
- Homepage:
- Size: 1.3 MB
- Stars: 210
- Watchers: 6
- Forks: 19
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: MIT-LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-ruby-cli-apps - pws - Provides a secure password safe. (Awesome Ruby CLIs / Security)
README
A Clipboard based CLI Password Safe [](https://badge.fury.io/rb/pws) [![[ci]](https://github.com/janlelis/pws/workflows/Test/badge.svg)](https://github.com/janlelis/pws/actions?query=workflow%3ATest)
===
**pws** is a command-line password safe/manager written in Ruby using [AES-256-CBC](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard) and [PBKDF2](http://en.wikipedia.org/wiki/PBKDF2).2023 Notice!
---Although the gem works well and as described, its cryptographic foundations have not been updated since 10 years ago and might not reflect current best practices.
Usage
---
[![Screenshot](https://ruby.janlelis.de/pws-example.png)](https://ruby.janlelis.de/60-pws-the-ruby-powered-command-line-password-manager)Setup
---
Make sure your computer has Ruby installed.You can then install *pws* with: `$ gem install pws`
Run `$ pws --help` for usage information.
If you use pws on Linux, you will need to have `xsel` or `xclip` installed (for the clipboard to work).
Tips & Troubleshooting
---### How to use a .pws file in the current working directory
Besides using the `--filename path/to/safe` option, you can shortly call `pws --cwd` for using a `.pws` file in the current directory.Check the `.pws` into version control and you have a great way to share a project's passwords within your team.
### OpenSSL 1.0
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](https://github.com/janlelis/pws/issues/7).### Updating from pws 0.9
The 0.9 password files are not compatible with the 1.0 version of pws, however, you can convert your safe with:
`$ pws resave --in 0.9 --out 1.0`### Reading the source
Trust the code by reading the source! It's originally based on [this tutorial](https://ruby.janlelis.de/41-tutorial-build-your-own-password-safe-with-ruby). You might want to start reading in the [0.9.2 tag](https://github.com/janlelis/pws/tree/0.9.2), because it's got less features and therefore is less code.Projects built on top of PWS
---
* [pws-otp](https://github.com/janlelis/pws-otp) Experimental OTP support for 2FA
* [pwsqr](https://github.com/smileart/pwsqr) Simple QR interface to pws gem. Helps to use your passwords on a smartphone.
* [aws-pws](https://github.com/fancyremarker/aws-pws) A password-protected CredentialProvider for AWS
* [omnivault](https://github.com/aptible/omnivault) Multi-platform keychain functionalityBlog Articles
---
* [Packaging ruby programs in NixOS](http://blog.arkency.com/2016/04/packaging-ruby-programs-in-nixos/) using PWS as exampleContributors
---
* [namelessjon](https://github.com/namelessjon/)
* [brianewing](https://github.com/brianewing/)
* [dquimper](https://github.com/dquimper/)
* [grapz](https://github.com/grapz/)
* [thecatwasnot](https://github.com/thecatwasnot/) (cucumber specs loosely based on [these](https://github.com/thecatwasnot/passwordsafe/blob/master/features/))
* [terabyte](https://github.com/terabyte)
* [alex0112](https://github.com/alex0112)J-\_-L
---
© 2010-2021 Jan Lelis, MIT license