hips-cli
v0.5.3
Published
This is a command line tool that helps manage passwords, storing them using RSA cryptography.
Downloads
3
Readme
HiPS - Hidden in Plain Sight
This is a command line tool that helps manage passwords, storing them using RSA cryptography.
Installation
npm install -g hips-cli
After running the above command, run $ hips create-key
to set up the RSA keys and this is it.
How to use
The basic usage is:
$ hips <command> [...arguments]
To have a list of available commands, just run it without passing any arguments.
In HiPS, every password has a name, and can have a description and some parameters. The user will never input the password, but HiPS will generate them instead, based on the parameters.
To create a password and store it run the command:
$ hips create --name <foo> --description <bar> [--length --exclude]
With this command you can also set the length of the password and even prohibit some characters.
To exclude numbers use --numbers=false
and to exclude symbols use --symbols=false
It's recommended that you use these options only if the target service has some input limitations for the passwords.
Run $ hips get <foo>
to retrieve the generated password. This command will copy it to the clipboard.
If the user runs $ hips get <foo> --display
, the password will be echoed in the console instead.
There is also a $ hips list
command, to see the names of all the saved passwords, together with their
respective descriptions.
It's possible to remove a saved password with the $ hips remove <foo>
command.
Finally, there is an option to recreate any saved password, $ hips recreate [...names] [--all]
. This command accepts either a list of names
or the --all flag, and will discard the old passwords and replace with new ones using the same parameters.
Help
To have a list of available commands, just run it without passing any arguments. The help command displays this message and also have some subsections, although the text there might be almost the same as in this README:
$ hips help --keys
will show support on how to create and manage encryption keys
$ hips help --storage
will help you configure the storage options
$ hips help --passwords
will display a help message on managing your passwords
Configuring the Storage
HiPS provides different ways to store the saved passwords.
By default it stores in your local machine, in your home directory, in a file called hips_passwords
.
You can change it by running $ hips config
and answering the prompt.
There you will find the following options for storage:
- DiskStorage: The default one, this will save in a local file, and in the prompt you can change the directory that will be used.
- GithubStorage: This option will save the encrypted passwords as a private Gist in your github account. The prompts will ask for your github credentials and will set everything up.
Just remember that, even for remote storage, the data will only be accessible if you still have the encryption
keys that are in your local machine. If you want to be safe even in case you local machine breaks, remember to
backup them using $ hips get-key
and $ hips get-key --private
, but BE EXTRA CAREFUL WITH THE KEYS.
Final Considerations
This is a tool I created for my own personal use. If by chance you might try it, do it at your own risk. The only reason I wrote this documentation is because of my bad memory.
This being said, if you try it, you can send me feedback at [email protected].