clipw: A simple CLI password manager.
clipw began with a coversation between a coworker and myself regarding the CLI password
manager we wanted but that did not exist.
What can it do?
clipw can store passwords, credit card numbers, or any other type of information. At its
clipw is a password manager -- and the fields it tracks reflect this
Each entry in the
clipw store has a key (title/ID), a username, and a password, but
you can adapt this to your needs. For example, to store information on a credit card, you
could lay out your info as follows:
visa(type of card, or something you'll remember)
0000 0000 0000 0000(credit card number)
Each of the following dependencies should be in your
It is assumed that the "standard" GNU utilities -- such as
sed -- will be in your
xclip(direct copy to clipboard)
"Installation" is a misnomer with
clipw: it's just a script. Place the actual
anywhere you'd like. (In Using -- below -- it is assumed that
clipw is in your
clipw will keep your password store in a subdirectory of
however, there is built-in support for locating the password store alongside the script itself
(useful if you wish to carry around
clipw on a USB drive). To activate this functionality,
clipw-e or create a symlink to the script called
clipw [FUNCTION] [ARGUMENTS]
Note: You must execute
clipw init first!
KEYfrom the password store.
Completely removes the password store. You will lose all your stored info!
If you destroy your password store, you must call
clipw initbefore using
get KEY [show]
Retrieves password for entry
KEYfrom the store. If passed
xclipis not available), the password will be printed to stdout.
Prints basic help information.
clipwpassword store; this must be called before using any other function.
Lists all store entry keys.
Changes the store (master) password.
put KEY [custom]
Adds a new entry to the password store;
KEYis the "title" of the store entry (something like "facebook" or "gmail"). If passed the
customflag (or if
pwgenis not in your path), then you will later be prompted for a password; otherwise, one will be generated for you.
Prints the location of the password store.
The simple implementation of
clipw (including the fact that it is really nothing but a shell
script) means that its functionality is limited. For example, the format for the password
store (which is just an encrypted text file) means that usernames cannot contain the colon (:)
When I began
clipw, I was not aware of
pwsafe. If you don't
care for my work, check it out.
pwsafe does have some advantages over
clipw, but note that even during password generation,
pwsafe) does not display your password on the terminal. Furthermore, the
range of characters in passwords generated using
clipw (meaning the passwords generated by
pwgen) contain a wider range of characters than those created by
It's up to you. Use what you like!
clipw is released under the MIT license (see
LICENSE.md). Note that
clipw is just a single
shell script; utilities called by the script are licensed by their respective owners.
I give no assurance of this utility's security, and I do not guarantee that it will not zap your computer and fry your homedir. Use at your own risk.