/wrench

wrench: a CLI tool for Passbolt

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

wrench: a CLI tool for Passbolt

Installation

Before installing wrench, make sure your system has the following software installed:

If you already have pipx installed, you can skip the next section and jump straight to Installing wrench.

Installing pipx

Open a terminal and run the following commands:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Try running pipx --version to make sure it's installed correctly.

Note

If you previously installed wrench using pipsi, uninstall it first by running pipsi uninstall wrench.

Installing wrench

You can now install wrench by running the following command:

pipx install passbolt-wrench

If you want to have passwords copied automatically to the clipboard, install pyperclip:

pipx inject passbolt-wrench pyperclip

Then go to your Passbolt instance, export your private key and run wrench import_key /path/to/your/key.asc (you'll be prompted to enter some configuration values the first time you run wrench).

Usage

Search for a resource:

$ wrench search cisco
name        : Cisco router
id          : 5943ba07-2880-4814-a5da-1dd3c0a87a74
uri         : https://10.0.2.70
username    : cisco
secret      : 1234
description : Please keep this password secret

Add a resource:

$ wrench add
Name: Bank account
URI: http://example.com
Description: My private bank account
Username: john.doe
Secret:

Entry 'Bank account' successfully saved.

If you would like to share it, enter e-mail addresses below, separated by commas. Auto completion through Tab key is supported.
Recipients:

To see the list of all wrench commands, run wrench without any argument.

Common issues

I'm getting a GPGAuthStage1Exception

First, take a deep breath, don't panic. Once you've stopped shaking, make sure the GnuPG version you're running is at least 2.1 (you can find out by running gpg --version). If that's not the case, install a newer version.

If it still doesn't work, try to run the following:

GPG_TTY=$(tty) wrench

If it works, you can make this persistent by adding the following to your .bashrc/.zshrc/.whateverrc file (located in your home directory):

export GPG_TTY=$(tty)

Contributing

To work on wrench locally it is advised that you create a virtual environment. There are several ways to do it (virtualenvwrapper, direnv, plain virtual env, etc), but here's one (this will create a venv directory in your current directory, make sure you don't accidentally commit it):

python3 -m venv venv
. venv/bin/activate

Then use the following command to symlink wrench in your virtualenv. That way when you run wrench you'll be running the code from your working copy:

./setup.py develop

To run the tests, use the following command:

./setup.py test