gopass-jsonapi enables communication with gopass via JSON messages.
This is still work-in-progress and no regular release process has been defined. You might encounter outdated or incomplete documentation across different repositories and gopass versions.
gopass v1.10 / v1.11:
The binary for v1.10 and v1.11 can be downloaded and unpacked from archive files on Github Releases.
gopass v1.12 or newer:
You need to manually download the
gopass-jsonapi binary from GitHub Releases,
until it is available in popular package managers.
Alternatively you can compile it yourself if you have Go 1.14 (or greater) installed:
git clone https://github.com/gopasspw/gopass-jsonapi.git cd gopass-jsonapi make build ./gopass-jsonapi help
You need to run
gopass-jsonapi configure for each browser you want to use with
The jsonapi is available in Fedora repositories, so you can simply install it with:
sudo dnf install gopass-jsonapi
The jsonapi setup copies the current gopass-jsonapi binary as a wrapper executable file (
gopass_native_host.exe calls the listener directly).
It is recommended to run
gopass-jsonapi configure after each update to have the latest version setup for your browser.
The global setup requires to run
gopass-jsonapi configure as Administrator.
Gopass allows filling in passwords in browsers leveraging a browser plugin like gopassbridge. The browser plugin communicates with gopass-jsonapi via JSON messages. To allow the plugin to interact with gopass-jsonapi, a native messaging manifest must be installed for each browser.
This native extension and the gopassbrigde plugin currently only support the Connectionless messaging with
gopass-jsonapi will be started for every single message from the brower plugin.
You need to run
gopass-jsonapi configure to configure your browser for
# Asks all questions concerning browser and setup gopass-jsonapi configure # Do not copy / install any files, just print their location and content gopass-jsonapi configure --print # Specify browser and wrapper path gopass-jsonapi configure --browser chrome --path /home/user/.local/
The user name/login is determined from
user yaml attributes (after the --- separator) like this:
<your password> --- username: <your username>
As fallback, the last part of the path is used, e.g.
Thank you very much for supporting gopass. Pull requests are welcome.
Please follow the gopass contribution guidelines and Pull Request checklist.