SkillAgentSearch skills...

Passable

passable: password manager command line tool that's just good enough

Install / Use

/learn @SixArm/Passable
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

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
View on GitHub
GitHub Stars5
CategoryDevelopment
Updated12mo ago
Forks1

Languages

Shell

Security Score

62/100

Audited on Apr 14, 2025

No findings