Passy is a command-line password management tool designed to securely store and manage your passwords.
It allows you to create, retrieve, and manage passwords efficiently, ensuring your sensitive information is protected (with AES-256, that seems to be effective even when the quantum computing will come).
This README provides an overview of the available commands, their usage, and examples.
Currently avaliable only installation with go:
go install github.com/koss-null/passy@latest
If you want to use Passy as a password generator, just go ahead:
passy --create --insane # supports --readable and --safe option, both are pretty safe though
If you want to store your passwords in your git repo, you may want to generate a new secret key:
passy --keygen /path/to/the/key.aes
To continue setup you need to open (or create) file: ~/.config/passy/config.toml
with the command passy --config-edit
or by setting custom config path with passy --config [path]
key.
Config should look like this and is filled with default values:
PrivKeyPath = "/path/to/the/key.aes" # can be https link
GitRepoPath = "[email protected]:your-gh-account/your-repo-name.git"
Now you can try to store new password in your keystorage:
passy -a google.com --pass ChangeMe123
# also you may generate new password and save it in a single line
passy -a google.com --insane
# for folders just use / separator
passy -a "socials/facebook.com" --readable
# get your pass
passy -p "socials/facebook.com"
# see all saved keys
passy -k
Passy allows you to manage your passwords through various commands. Below are the flags you can use along with additional links for further details.
passy [flag] [*value] [*flag] [*value]
* - optional
Add a new password associated with a specified key. The key separator is '/', allowing for hierarchical key structures (supports pass level key to generate the password automatically).
Specify the password to be added (requires the -a
flag).
Retrieve and display the password associated with the specified key.
Remove key or folder.
List all keys for existing passwords, allowing you to see available entries in the password manager.
Display all existing keys and their associated passwords (requires the -k
flag).
Generate a new password based on specified criteria, defaulting to a safe level of complexity.
Create a password that is easy to read and remember, while still providing a moderate level of security (can be used with -c
or -a
for composition).
Generate a password that balances security and memorability, suitable for general use (can be used with -c
or -a
).
Compose a highly complex password that maximizes security but may be difficult to remember (can be used with -c
or -a
).
Launch the Passy application in interactive mode for a guided password management experience [not implemented yet].
Specify custom config file.
Start yor favorive editor to edit config.
Generate a private encryption key and save it to the specified file path for secure password storage.
Display this help message with available commands and their descriptions.
Here are some common examples of how to use Passy with links to each command for further details:
-
Generate secret key
# this will save new key by the given path passy --keygen /path/to/the/key.aes
-
Add a new password:
passy --add "myKey/subKey" --pass "mySecretPassword"
-
Retrieve a password:
passy --get-pass myKey
-
Show all keys:
passy --show-keys
-
Generate a password:
passy --compose # generates --safe password passy --compose --readable # eg.: dEFvOSY3M3dlLW9nalU= passy --compose --safe # eg.: aWJlZTg1dkktRWt+ZXV6LU9Ob1VEd3U= passy --compose --insane # eg.: ¢@E?P¥Æ+a.ÀleZ©º.7Ì0Â$+;Ö&XÎ?$¸±-
To create a password and save it securely in your repository, follow these steps:
-
Generate a Password: Use the
--compose
flag to generate a password. For example:passy --compose --safe
This will create a password that balances security and memorability.
-
Add the Password: Once you have generated a password, you can save it by using the
--add
flag. For example:passy --add myKey --pass "GeneratedPassword"
Replace
"GeneratedPassword"
with the password you created. -
Verify the Password: To ensure that your password has been saved correctly, you can retrieve it using:
passy --get-pass myKey
This command will display the password associated with
myKey
.
By following these steps, you can effectively manage your passwords and ensure they are stored securely in your repository.