Passable
passable: password manager command line tool that's just good enough
Install / Use
/learn @SixArm/PassableREADME
passable: password command that's secure and simple
This is passable, a password command line interface tool that is secure cryptogrpahically and simple to use.
Introdution
Purpose
The purpose of this tool is to do three simple things:
-
Create a new password.
-
Encrypt a file.
-
Decrypt a file.
Usage
Syntax:
passable new
passable encrypt <file>
passable decrypt <file>
Installation
Download the program passable anywhere you want, and make it runnable.
Example on typical macOS and Linux:
sudo curl -sSL "https://raw.githubusercontent.com/SixArm/passable/master/passable" -o /usr/local/bin/passable && sudo chmod +x $_
If you want to verify the download, then the SHA512 is:
7bb9049827c09123162c15c84a5af642b99da4460dba82da577829797d2abdae2d5f971f016f6af156c9b4a08fca0b34d6c945510a3a19426e4149789f9748b7
Examples
Create a new password
Command:
passable new
Output is a new strong secure password:
S&dw6[ysN@O9W5{5>^&RZ9pF
You can do anything you want with the new password.
For example, you can save the new password as a new file:
echo 'S&dw6[ysN@O9W5{5>^&RZ9pF' > file.txt
Encrypt a file
Command:
passable encrypt file.txt
Output is a new encrypted file file.txt.gpg.
You can do anything you want with the new encrypted file.
For example, you can add the new encrypted file to git version control:
git add file.txt.gpg
Decrypt a file
Command:
passable decrypt file.txt.gpg
Output is the decrypted text, such as the password you saved:
S&dw6[ysN@O9W5{5>^&RZ9pF
You can do anything you want with the decrypted text.
For example, you can copy the decrypted text to your clipboard on macOS:
echo 'S&dw6[ysN@O9W5{5>^&RZ9pF' | pbclip
Test
See the repository directory test for some example unit tests.
The test files need to prompt you for a password; you can use any password you want.
If a test succeeds, then it will be silent.
If a test fails, then it will print an "assert" error message.
To run all the test files:
cd test
./test
To run one test file, for example to test the command passable new:
cd test/new
./test
TODO
We welcome help with these todo areas:
-
[ ] Improve unit tests.
-
[ ] Add installation via package managers e.g. apt, brew, yum.
-
[ ] Add CI/CD build process.
-
[ ] Add GitHub release tags.
Documentation
- More examples
- FAQ inclusing comparisons with other password store managers
- Environment variables for customization
- Technical implementation including GPG options
- Troubleshooting help
Thanks
Thanks for all the comments on Hacker News, with special thanks to users vesinisa, twr, tptacek, txtutu, acqq, throwawayish, RMarcus, and latchkey.
See also
These commands are similar:
-
gpg-encrypt: use GPG to encrypt a file using our best settings. -
gpg-decrypt: use GPG to decrypt a file using our best settings. -
openssl-encrypt: use OpenSLL to encrypt a file using our best settings. -
openssl-decrypt: use OpenSSL to decrypt a file using our best settings.
Tracking
- Command: passable
- Website: https://sixarm.com/passable
- Cloning: https://github.com/sixarm/passable
- Version: 5.1.0
- Created: 2010-05-20
- Updated: 2023-01-22
- License: MIT or Apache-2.0 or GPL-2.0-or-later or contact us for custom
- Contact: Joel Parker Henderson (joel@joelparkerhenderson.com)
- Tracker: b48657369aada8deaffb880ae3486081
