PasswordSafe.Cli
1.0.0
dotnet tool install --global PasswordSafe.Cli --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local PasswordSafe.Cli --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=PasswordSafe.Cli&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package PasswordSafe.Cli --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
The best Password Safe CLI tool
Configuration
// ~/.pwsafe/config.json
{
"defaultDb": "<alias>", // The default database to operate if you don't specific the alias or the file path to your pwsafe database in the command line.
"databases": {
"<alias>": "The Absolute file path to your PasswordSafe file",
...
},
"idleTime": 5, // Default to be 5 minutes, which means the interactive window will automatically close in 5 minutes if there's no operation.
"maxBackupCount": 5 // Default to keep 5 backup files.
}
Commands
Usage:
pwsafe [command] [options]
Options:
--version Show version information
-?, -h, --help Show help and usage information
Commands:
config Manage your pwsafe config file
choose <ALIAS> Choose a database to operate
listdb List all databases
showdb Show the detail of PasswordSafe database
createdb <FILE> Create an empty new PasswordSafe v3 database file
list List the items in database
add Add a new entry to the database
get <ID> Get the password of an entry
renew <ID> Renew the password of an entry
update <ID> Update the properties of an entry
rm <ID> Remove an entry or group from the database
policy Manage your password policies
unlock Unlock a database
Manage configuration via CLI
1. Init config
$ pwsafe config init
2. Set alias for a pwsafe database file
$ pwsafe config set --alias <alias> --file <filepath>
# OR
$ pwsafe config set -a <alias> -f <filepath>
# Make the database as default
$ pwsafe config set -a <alias> -f <filepath> --default
3. Remove an alias
$ pwsafe config rm <alias>
4. Set the default database
$ pwsafe choose <alias>
5. List all configured databases
$ pwsafe listdb
Manage database via CLI
1. Create an empty database
$ pwsafe createdb <filepath> --alias <alias>
# To make the new database as default database
$ pwsafe createdb <filepath> --alias <alias> --default
# Force to create a new database if file exists, use it on your own risk!
$ pwsafe createdb <filepath> --alias <alias> --force
2. Show metadata of an database
$ pwsafe showdb --alias <alias>
# OR
$ pwsafe showdb --file <filepath>
Manage the entries in database in CLI
1. List available entries
# List entries of the default database
$ pwsafe list
# List entries of the given alias
$ pwsafe list --alias <alias>
# List entries of the given filepath
$ pwsafe list --file <filepath>
# List entries in tree view
$ pwsafe list --mode tree
# Filter items by title
$ pwsafe list --filter <title>
PS. the alias
option and the file
option are available for the following sections.
2. Get password
$ pwsafe get <ID>
Enter your password: ******
Successfully copy password to clipboard
3. Add a new entry
$ pwsafe --title <title> --username <username> --password <password> --group <group> --url <url> --email <email> --notes <notes>
# Read the password interactively
$ pwsafe --title <title> --username <username> --password
# Generate the password via named password policies
$ pwsafe --title <title> --username <username> --policy <policy>
PS. the sub-groups are separated by .
, for example: A/B/C
is represented as A.B.C
4. Renew the password
$ pwsafe renew <ID>
# Renew with given password
$ pwsafe renew <ID> --password <password>
# Renew with given password interactively
$ pwsafe renew <ID> --password
# Renew the password via named password policies
$ pwsafe renew <ID> --policy <policy>
5. Update the properties of an entry
$ pwsafe update <ID> --title <title> --username <username> --group <group> --url <url> --email <email> --notes <notes>
6. Remove an entry or entire group
# Remove an entry
$ pwsafe rm <ID>
# Remove a group
$ pwsafe rm --group <group>
Manage the password policy
1. List existing password policies
$ pwsafe policy list
2. Add new password policy
$ pwsafe policy add --name "Sample" \
--length 12 \
--uppercase 2 \
--lowercase 2 \
--digits 1 \
--symbols 1 \
--symbol-chars "@#$%&" \
--easy-vision
3. Update an existing password policy
$ pwsafe policy update --name "Sample" \
--length 12 \
--uppercase 2 \
--lowercase 2 \
--digits 1 \
--symbols=-1 \
--easy-vision
4. Remove a password policy
$ pwsafe policy rm --name "Sample"
5. Generate password for given policy
$ pwsafe policy genpass --name "Sample"
Interactive mode
It's boring to enter password for every operation, if you want to do a lot operations, you can unlock the database in interactively mode. The session will automatically exit if you don't take any actions.
# It will be unlock as read mode by default.
$ pwsafe unlock
# Unlock database in read-write mode
$ pwsafe unlock --read-only false
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 261 | 2/7/2024 |
1.0.0-beta | 176 | 2/1/2024 |