Host app for the WebExtension PassFF
This piece of software wraps around the zx2c4 pass shell command. It has to be installed for the PassFF browser extension to work properly.
Download the install_host_app.sh
script from our releases page and execute it. You can do this in one line like so:
$ curl -sSL https://github.com/passff/passff-host/releases/download/1.0.1/install_host_app.sh | bash -s -- [firefox|chrome|opera|chromium|vivaldi]
This script will download the host application (a small python script) and the add-on's manifest file (a JSON config file) and put them in the right place.
If you're concerned about executing a script that downloads files from the web, you can download the files yourself and run the script with the --local
option instead or link the files yourself. Details below.
Download the install_host_app.bat
script from our releases page and execute it from within a shell with a correct PATH.
The rule of thumb is: if you can execute pass and python from your shell, then your host application will be installed correctly.
> install_host_app.bat [firefox|chrome|opera|chromium|vivaldi]
Note: Older Windows versions might require powershell to be installed manually as the install script uses powershell internally. Windows 10 users should be fine out of the box.
This is not recommended! Only for developers and for testing purposes!
Clone the repository. Then, from the project's src/
directory, run make
and execute the installation script in bin/testing
for your desired browser (firefox
, chrome
, opera
, chromium
, or vivaldi
):
$ cd ./src
$ make
$ cd ../bin/testing
$ ./install_host_app.sh --local [firefox|chrome|opera|chromium|vivaldi]
This will copy the host application and manifest files to the right place for your browser. The --local
option makes the script use the files on disk rather than downloading them from GitHub.
If this doesn't work, you can link the files yourself. First, change the path
value in the passff.json
file to be the absolute path to the project's bin/testing/passff.py
file. Then symlink (or copy) the file bin/testing/passff.json
to the appropriate location for your browser and OS:
- Firefox
- Linux
- Per-user:
~/.mozilla/native-messaging-hosts/passff.json
- System-wide:
/usr/{lib,lib64,share}/mozilla/native-messaging-hosts/passff.json
- Per-user:
- OS X
/Library/Application Support/Mozilla/NativeMessagingHosts/passff.json
- Windows
- Per-user:
Path contained in registry key HKEY_CURRENT_USER\Software\Mozilla\NativeMessagingHosts\passff
- System-wide:
Path contained in registry key HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\passff
- Per-user:
- Linux
- Chrome
- Linux
- Per-user:
~/.config/google-chrome/NativeMessagingHosts/passff.json
- System-wide:
/etc/opt/chrome/native-messaging-hosts/passff.json
- Per-user:
- OS X
- Per-user:
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/passff.json
- System-wide:
/Library/Google/Chrome/NativeMessagingHosts/passff.json
- Per-user:
- Windows
- Per-user:
HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\NativeMessagingHosts\passff
- System-wide:
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\passff
- Per-user:
- Linux
- Chromium
- Linux
- Per-user:
~/.config/chromium/NativeMessagingHosts/passff.json
- System-wide:
/etc/chromium/native-messaging-hosts/passff.json
- Per-user:
- OS X
- Per-user:
~/Library/Application Support/Chromium/NativeMessagingHosts/passff.json
- System-wide:
/Library/Application Support/Chromium/NativeMessagingHosts/passff.json
- Per-user:
- Linux
- Opera
- Same as Chrome
- Vivaldi
- Linux
- Per-user:
~/.config/vivaldi/NativeMessagingHosts/passff.json
- System-wide:
/etc/vivaldi/native-messaging-hosts/passff.json
- Per-user:
- OS X
- Per-user:
~/Library/Application Support/Vivaldi/NativeMessagingHosts/passff.json
- System-wide:
/Library/Application Support/Vivaldi/NativeMessagingHosts/passff.json
- Per-user:
- Linux
By modifying the preferences section
in passff.py
you will be able to set
- the path to the
pass
script, - additional command line arguments that are passed to
pass
, - the shell
stdout
charset, - additional environment variables.