Git Product home page Git Product logo

browserpass-native's Introduction

Browserpass

IMPORTANT: this repository is archived and not maintained anymore.

Browserpass was rewritten from scratch and split in two repositories:

Follow to the new repositories for installation instructions. We highly recommend to read README in both repositories to get acquainted with the new changes.

FAQ

1. Is the new version backwards compatible?

No, and therefore you need to update both browser extension and native host at the same time. If you installed browser extension from Web stores, it will auto-update, but you must install browserpass native host v3 yourself.

Read browserpass-native installation section to see if your OS provides an updated package for Browserpass v3, if not then follow manual installation steps as described in that section.

2. Can I upgrade now, and not wait for an auto-update to come?

If you use a Chromium-based browser, go to browserpass-extension releases and download the latest browserpass-webstore.crx. Then open chrome://extensions, enable "Developer mode" and drag'n'drop the downloaded crx file. Finally proceed to browserpass-native installation section for how to install a new version of the native host.

If you use Firefox, go to browserpass-extension releases and download the latest firefox.zip file, unpack it in a folder, then in Firefox go to about:debugging#addons and click on "Load Temporary Add-on" to install the extension. Finally proceed to browserpass-native installation section for how to install a new version of the native host.

If you unpack the contents of firefox.zip in /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/[email protected]/ folder, according to my experiments Firefox will treat it as persistent extension, it will ignore whatever is currently on Web Store and you will not need to load this extension after every Firefox restart.

3. Can I keep the old version, if I don't have time to upgrade native host app or if my OS hasn't updated the "browserpass" package yet?

Go to the latest v2 release, download chrome.zip or firefox.zip depending on what browser you use. Unpack the archive in a new directory, and then load this extension in the browser:

In Chromium:

  • Go to chrome://extensions
  • Enable "Developer mode"
  • Click "Load unpacked" and select the folder with the unpacked contents of chrome.zip

In Firefox:

  • Go to about:debugging#addons
  • Click "Load Temporary Add-on" and select the folder with the unpacked contents of firefox.zip

If you unpack the contents of firefox.zip in /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/[email protected]/ folder, according to my experiments Firefox will treat it as persistent extension, it will ignore whatever is currently on Web Store and you will not need to load this extension after every Firefox restart.

4. What happened to OTP?

OTP was not implemented in Browserpass v3, but it might be implemented as a separate extension. For more details, see Support OTP in Browserpass v3.


Browserpass is a Chrome & Firefox extension for zx2c4's pass, a UNIX based password manager. It retrieves your decrypted passwords for the current domain and allows you to auto-fill login forms, as well as copy it to clipboard. If you have multiple logins for the current site, the extension shows you a list of usernames to choose from.

Browserpass in the Chrome menu

It uses a native binary written in Golang to do the interfacing with your password store. Secure communication between the binary and the browser extension is handled through native messaging.

Table of Contents

Requirements

  • A recent version of Chrome, Chromium or Firefox 50+.
  • Pass (on UNIX)
  • Your password filename must match your username or your file must have a line starting with login:, user: or username:, followed by your username.

Examples

$ pass website.com/johndoe
the-password

$ pass website.com
the-password
login: johndoe

Installation

In order to install browserpass correctly, you have to install two of its components:

  • host application
  • browser extension(s).

Installing the host application

The following OS have a browserpass package that can be installed via package manager:

If your OS is not listed above, proceed with the manual installation steps below.

Download the latest Github release.

Start out by downloading the latest release package for your operating system.

Verifying authenticity of the releases

All release files are signed with this PGP key. To verify the signature of a given file, use $ gpg --verify <file>.sig.

It should report:

gpg: Signature made ...
gpg:                using RSA key 8053EB88879A68CB4873D32B011FDC52DA839335
gpg: Good signature from "Maxim Baz <...>"
gpg:                 aka ...
Primary key fingerprint: EB4F 9E5A 60D3 2232 BB52  150C 12C8 7A28 FEAC 6B20
     Subkey fingerprint: 8053 EB88 879A 68CB 4873  D32B 011F DC52 DA83 9335

Installing the host application

  1. Extract the package to where you would like to have the binary.
  2. Run ./install.sh (.\install.ps1 on Windows) to install the native messaging host. If you want a system-wide installation, run the script with sudo. For Windows, system-wide installation can be done by running .\install.ps1 as Administrator and specifying "yes" at the "Install for all users?" prompt.
    • If you desire a non-interactive installation on a Unix system, pass the name of the browser to the script (e.g. ./install.sh chrome)

Installing the binary & registering it with your browser through the installation script is required to allow the browser extension to talk to the local binary application.

Installing the host application on Windows through WSL

If you already use pass under WSL and prefer to have a single copy of your password store, you can use browserpass through WSL as well.

  1. Install the Windows host application (see previous section) as well as the Linux host application (under WSL).
  2. Create %localappdata%\browserpass\browserpass-wsl.bat with the following contents:
@echo off
bash -c ~/.browserpass/browserpass-linux64

If you installed the Linux host application in a location different from ~/.browserpass, replace that path in the above script.

  1. Change the path in %localappdata%\browserpass\browserpass-firefox.json (or -chrome.json) to point to browserpass-wsl.bat

If your GPG key has a password, the host application running under WSL won't be able to unlock it since it can't interactively prompt for the password. This means you can't decrypt any passwords unless you've already got the key loaded in gpg-agent. As a workaround, you can use the key (pass website.com) in a WSL terminal to load the key into gpg-agent. Then browserpass will work until gpg-agent times out (it is possible to configure larger timeouts, check manual for gpg-agent).

Installing the Chrome extension

You can either install the Chrome extension from the Chrome Web Store or drag the chrome-browserpass.crx file from the release package into the Chrome Extensions (chrome://extensions) page.

Installing the Firefox extension

You can install the Firefox extension from the Mozilla add-ons site. Please note that you will need Firefox 50 or higher.

Updates

IMPORTANT: Majority of the improvements require changing code in both browser extensions and the host application. While we are trying to maintain backwards compatibility, it is expected that you will make sure to keep both components up to date.

Updating the host application

If you installed the host application via a package manager for your OS, you will likely update it in the the same way.

If not, repeat the installation instructions for your OS.

Updating browser extensions

If you installed the extension from a webstore, you will receive updates automatically.

If not, repeat the installation instructions for the extension.

Usage

Click the lock icon or use Ctrl+Shift+L to open browserpass with the entries that match current domain.

  • Chrome allows changing the shortcut via chrome://extensions > Keyboard shortcuts.
  • Firefox unfortunately does not allow changing the default shortcut.
  • Firefox supports the keyboard shortcut only since version 53.

Filter and search modes

Browserpass has two modes for working with password entries: filter and search.

When opened, browserpass automatically switches to the filter mode if at least one matching entries exists.

Filter mode is designed to quickly refine a few search results, for example to choose one of several accounts that you have on a given domain. This is done on client side, the filter is always fuzzy and always works in real time. When browserpass is in the filter mode, you will see a domain name in the input field. To exit filter mode, press Backspace.

Search mode is designed to search password entries on your disk, this is much more expensive operation (especially visible on Windows) that's why it is not real time, and instead searches only when Enter is pressed. The search is fuzzy by default, but can be changed to glob algorithm in the options. If you want to search everything interactively, just search for / or . and then use the filter mode to refine the search in real time.

Fill (and submit) the login form

Click or select the entry that you want to submit, and the login form will be filled with the selected credentials (injected directly into the DOM, browserpass does not use clipboard for this). When the focus is in the input field, hitting Enter will submit the first entry in the list (this is useful in combination with filter mode).

If the login button is found, it will be focused so that you can just hit Enter to submit the form. If you enable Automatically submit forms after filling in the options, the login button will be pressed instead.

If your password entry has OTP configuration, browserpass will use it at this point to display the code.

Navigating the entries

Navigate through the list of available credentials with Tab and Shift+Tab or with arrow keys.

Copy to clipboard

Click on the username or password buttons to copy them to clipboard. Keyboard shortcuts are also available, use Ctrl+C to copy password of the selected entry and Shift+C to copy the username.

Open URL

Click on the globe button or use the g shortcut to navigate to the URL in the current tab, hold Shift while doing so to open a new tab instead. You can also specify one of the following metadata fields in your pass file to control exactly which URL is navigated to: url:, link:, website:, web: or site:.

Keep in mind that browserpass can only fill HTTP basic auth credentials if you open this URL using browserpass.

Manual search

To prevent phishing attacks, browserpass prefills the list of passwords with only those entries that match the current domain. If you want search for credentials across the entire password store, exit the filter mode with Backspace (domain name in the input field will disappear), type the search request and hit Enter to start the search. Instead of using Backspace, you can also type your search query while in the filter mode, as soon as there are no matching results left browserpass will automatically switch to the search mode and will await Enter to initiate the search.

Password store location(s)

When deciding where to look for the password store, browserpass uses PASSWORD_STORE_DIR environment variable, and if it is not defined, checks the ~/.password-store folder. However, using the Custom store locations setting in the options of the browser extension you can configure a different location for browserpass to look for, or even multiple locations. There are no restrictions, you can define subfolders in the password store, gopass mounts or any other folder that has pass entries.

When you have more than one password store configured and enabled, in order to help you distinguish the password entries from different locations (e.g. between passwords for work and personal GitHub accounts), a green badge next to each password entry will appear indicating its origin (the name of its password store).

Options

Open settings to configure browserpass:

  • Right click on the lock icon > "Options".
  • Find the browserpass in the list of extensions in your browser > "Options".

The list of currently available options:

  • Automatically submit forms after filling: make browserpass automatically submit the login form for you.
  • Use fuzzy search: whether the manual search mode should be fuzzy or not (filter mode is always fuzzy).
  • Custom store locations: allows configuring multiple password store locations and toggle them on the fly.

Security

Browserpass aims to protect your passwords and computer from malicious or fraudulent websites.

  • To protect against phishing, only passwords matching the origin hostname are suggested or selected without an explicit search term.
  • To minimize attack surface, the website is not allowed to trigger any extension action without user invocation.
  • Only data from the selected password is made available to the website.
  • Given full control of the non-native component of the extension, the attacker can extract passwords stored in the configured repository, but can not obtain files elsewhere on the filesystem or reach code execution.

FAQ

Does not work on MacOS: "Native host has exited"

First install required dependencies:

$ brew install gnupg pinentry-mac

It is important that you have the gpg binary at /usr/local/bin/gpg. If you have your gpg in another location, create a symlink:

$ sudo ln -s /path/to/your/gpg /usr/local/bin/gpg

If you don't have admin rights to create the symlink, the workaround is to patch browser launcher.

Now edit ~/.gnupg/gpg.conf:

# Comment out or remove this line if it's there:
# pinentry-mode loopback

# and add this line:
use-agent

Add the following line to ~/.gnupg/gpg-agent.conf:

pinentry-program /usr/local/bin/pinentry-mac

Then restart gpg-agent:

$ gpgconf --kill gpg-agent

And finally restart your browser.

If you still experience the issue, try starting your browser from terminal. If this helps, the issue is likely due to the absence of /usr/local/bin/gpg, follow the steps above to make sure it exists.

Configuring Browserpass on NixOS / for Nix

On NixOS

If you wish to have a stateless setup, make sure you have this in your /etc/nixos/configuration.nix and rebuild your system:

{ pkgs, ... }: {
  programs.browserpass.enable = true;
  environment.systemPackages = with pkgs; [
    # All of these browsers will work with it
    chromium
    firefox
    google-chrome
    vivaldi
  ];
}

Note: firefox*-bin versions do not work statelessly. If you require such firefox versions, use the stateful setup in the following section.

For Nix / stateful

Install browserpass native messaging host with

nix-env -iA nixpkgs.browserpass

And install the browser extension like normal. Then link the necessary files

# For firefox
mkdir -p ~/.mozilla/native-messaging-hosts && \
  ln -s ~/.nix-profile/lib/mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json ~/.mozilla/native-messaging-hosts
# For chrome
mkdir -p ~/.config/google-chrome/NativeMessagingHosts && \
  ln -s ~/.nix-profile/etc/chrome-host.json ~/.config/google-chrome/NativeMessagingHosts/com.dannyvankooten.browserpass.json
# For chromium
mkdir -p ~/.config/chromium/NativeMessagingHosts && \
  ln -s ~/.nix-profile/etc/chrome-host.json ~/.config/chromium/NativeMessagingHosts/com.dannyvankooten.browserpass.json
# For vivaldi
mkdir -p ~/.config/vivaldi/NativeMessagingHosts && \
  ln -s ~/.nix-profile/etc/chrome-host.json ~/.config/vivaldi/NativeMessagingHosts/com.dannyvankooten.browserpass.json

All versions of firefox are supported with this way

Installing Browserpass on macOS with Homebrew

Browserpass isn't included in the main Homebrew repository, so it must be installed by adding a third party "tap". That only requires one additional step.

$ brew tap dustinwilson/tap
$ brew install browserpass

Instead of running install.sh Homebrew supplies an additional command called browserpass-setup to handle this and works the same way as install.sh above. For example this will install the native host files for Firefox:

$ browserpass-setup firefox

You must install the browser extensions manually using conventional methods for each browser. All of this information is supplied when running brew install browserpass.

How to configure OTP?

The easiest way to add OTP in your password entries is to use pass-otp. You don't have to configure anything extra, browserpass will automatically detect if an OTP is configured and show you the code after filling the form.

Contributing

Check out Contributing for details on how to build browser extension and host app from sources, and how to load browserpass as an unpacked extension into your browser.

License

MIT Licensed.

browserpass-native's People

Contributors

auipga avatar blockloop avatar boutil avatar clayrisser avatar davidbarratt avatar dirodriguezm avatar emrysmyrddin avatar erayd avatar fabianhenneke avatar gramosg avatar infinisil avatar innerspacepilot avatar jwhb avatar jzhangtk avatar lobre avatar loicreynier avatar mark64 avatar maximbaz avatar mfdorst avatar mikhailian avatar pixix4 avatar rylancates avatar sairuk avatar sobolevwladimir avatar taupiqueur avatar tehpeh avatar tillkrischer avatar tux93 avatar xeonacid avatar xf-fw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

browserpass-native's Issues

Does not install on FreeBSD

There's an issue when installing version 3.0.6 release of FreeBSD. I haven't investigated any further.

$ make BIN=browserpass-freebsd64 configure
-i 's|"path": ".*"|"path": "'"/usr/bin/browserpass-freebsd64"'"|' browser-files/chromium-host.json
/bin/sh: -i: not found
*** Error code 127

Stop.

Error: Error: Specified native messaging host not found.

General information

  • Ubuntu 64bit + 20.04 LTS:
  • Chrome + Version 81.0.4044.129 (Official Build) (64-bit):
  • Information about the host app:
    • latest version of browser-pass
  • How did I Installed it?
    1. First Installed Extension
    2. Tried using webext-browserpass but was not working
    3. so manually downloaded native from here
    4. extracted it and done make BIN=browserpass-linux64 configure(done without error) and
      sudo make BIN=browserpass-linux64 install(done without error)

Result:

make BIN=browserpass-linux64 configure
/usr/bin/sed -i 's|"path": ".*"|"path": "'"/usr/bin/browser-linux64"'"|' browser-files/chromium-host.json
/usr/bin/sed -i 's|"path": ".*"|"path": "'"/usr/bin/browser-linux64"'"|' browser-files/firefox-host.json
sudo make BIN=browserpass-linux64 install
/usr/bin/install -Dm755 -t "/usr/bin/" browserpass-linux64
/usr/bin/install -Dm644 -t "/usr/lib/browserpass/" Makefile
/usr/bin/install -Dm644 -t "/usr/share/licenses/browserpass/" LICENSE
/usr/bin/install -Dm644 -t "/usr/share/doc/browserpass/" README.md
/usr/bin/install -Dm644 browser-files/chromium-host.json   "/usr/lib/browserpass/hosts/chromium/com.github.browserpass.native.json"
/usr/bin/install -Dm644 browser-files/chromium-policy.json "/usr/lib/browserpass/policies/chromium/com.github.browserpass.native.json"
/usr/bin/install -Dm644 browser-files/firefox-host.json    "/usr/lib/browserpass/hosts/firefox/com.github.browserpass.native.json"
5.  cd to usr/lib/browserpass/ 
6.  make hosts-chrome-user (There was no symlink errors)

What should happen?

Browser pass extension working

What happened instead?

Error: Error: Specified native messaging host not found.

khanacademy.org doesnt work

General information

  • Operating system + version: macOS 10.15.4
  • Browser + version: Firefox Developer Edition 76.0b4 (64bit)
  • Information about the host app:
    • How did you install it? Installed using brew amar1729/formulae
    • If installed an official release, put a version ($ browserpass --version): browserpass-darwin64 --version return "Browserpass host app version: 3.0.6"
  • Information about the browser extension:
    • How did you install it? Installed in Firefox through addons.mozilla.org
    • Browserpass extension version as reported by your browser: 3.4.1

I get no errors, other sites are working well.


Exact steps to reproduce the problem

  1. Insert password with pass insert khanacademy.org/username

  2. Visit https://www.khanacademy.org/login

  3. Ask browserpass to fill username and password

What should happen?

The form should have been completed with username and password.

What happened instead?

Only the password is filled, no username.

Error: Unable to fetch and parse login fields

General information

  • Operating system + version:
  • Browser + version:
  • Information about the host app:
    • How did you install it?
    • If installed an official release, put a version ($ browserpass --version):
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?
    • Browserpass extension version as reported by your browser:

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?


Exact steps to reproduce the problem

What should happen?

What happened instead?

Native component on M1-based apple device not supported

General information

  • Operating system + version: macOS Monterey (12.2), on macbook air with M1-based processor
  • Browser + version: Firefox 96.0.3 / 97.0
  • Information about the host app:
    • How did you install it?
      • brew install amar1729/formulae/browserpass (uses release binaries from this repository)
      • PREFIX='/opt/homebrew/opt/browserpass' make hosts-firefox-user -f '/opt/homebrew/opt/browserpass/lib/browserpass/Makefile'
    • If installed an official release, put a version ($ browserpass --version): 3.0.7
    • If built from sources, put a commit id ($ git describe --always): n/a
  • Information about the browser extension:

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?

Yes, I have, as shown in the 'install' explanation


Exact steps to reproduce the problem

  1. Install homebrew on M1-based apple device
  2. Install pass using brew install pass
  3. Install the native component of browserpass using brew install amar1729/formulae/browserpass (using bare brew install browserpass is not supported yet by homebrew on M1 devices)
  4. Attempt running browserpass-darwin64 using the command line, which'll result in the message zsh: bad CPU type in executable: browserpass-darwin64

What should happen?

The browserpass native component should run as it would on x86-based machines.

What happened instead?

The executable did not run


Based on quickly looking at the Makefile, including darwin64-arm64 in the release files, like is the case with other platforms, would allow homebrew (or other formulae providers) to fix this in their packaging without resorting to setting up a custom pipeline.

Possibility of running on Android?

Hi! I'm a big fan of this project, and I wanted to say thanks again for creating it. I wanted ask about the possibility of running the native client on Android. Doing so would probably mean creating an entirely different codebase in the form of an Android app. But as Android is Linux, it would seem very possible to support the native client's protocol in such a way as to interact with say, the extension running on Android Firefox. GnuPG support for Android via OpenKeychain is very good, and similar apps like Android Password Store already use it to implement pass support. Have you considered creating an Android client?

I'm pretty busy right now. But if I ever get the time, I would love to go about seeing if this is possible. Is there a place I could look to get a formal description of the native client protocol, to see if I could implement it?

Thanks again for making this awesome software!

Bad signature for the OS X release mention in the README

The README links to the following homebrew formula:

https://github.com/Amar1729/homebrew-formulae/blob/master/browserpass.rb

Which in turn references this release:

https://github.com/Amar1729/homebrew-formulae/releases/download/browserpass-3.0.6

Using browserpass-darwin64-3.0.6.tar.gz.asc it does not verify:

$ gpg --verify browserpass-darwin64-3.0.6.tar.gz.asc browserpass-3.0.6.mojave.bottle.tar.gz
gpg: Signature made Sat Apr 13 04:41:38 2019 EDT
gpg:                using RSA key 8053EB88879A68CB4873D32B011FDC52DA839335
gpg: BAD signature from "Maxim Baz <[email protected]>" [unknown]

@Amar1729

Add a release tarball with the Go dependencies vendored in it

It'd be nice if it was possible to build browserpass without internet access and would make it easier to build it. Also, this would enable version locking and as such would make builds reproducible (or maybe that's already possible and I just don't now it because I don't know Go too well).

See alpinelinux/aports#7475 where I package browserpass for Alpine Linux, which requires reproducible builds.

Brave browser - Error: Specified native messaging host not found.

General information

  • Operating system + version: Zorin OS 16 x86_64
  • Browser + version: Brave Version 1.32.106 Chromium: 96.0.4664.45 (Official Build) (64-bit)
  • Information about the host app:
    • How did you install it?
      downloaded a pre-built binary
    • If installed an official release, put a version
      ($ browserpass --version): browserpass: command not found
      ($ browserpass-linux64 --version): Browserpass host app version: 3.0.7
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?
      webstore
    • Browserpass extension version as reported by your browser:
      3.7.2

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?

I did follow. I tried: make hosts-brave-user and sudo make hosts-brave

Exact steps to reproduce the problem

  1. make BIN=browserpass-linux64 configure

  2. sudo make BIN=browserpass-linux64 install

  3. I tried: make hosts-brave-user and sudo make hosts-brave

  4. Install extension.

What should happen?

The extension should be connected to host.

What happened instead?

Error: Error: Specified native messaging host not found.

PC:/usr/lib/browserpass$ ls -R
.:
browserpass-native  hosts  Makefile  policies

./hosts:
chromium  firefox

./hosts/chromium:
com.github.browserpass.native.json

./hosts/firefox:
com.github.browserpass.native.json

./policies:
chromium

./policies/chromium:
com.github.browserpass.native.json

Error: Attempt to postMessage on disconnected port

General information

  • Operating system + version: Fedora 29
  • Browser + version: 66.0.2 (64-bit) (from package manager)
  • Information about the host app:
    • How did you install it?: downloaded a pre-built binary
    • If installed an official release, put a version ($ browserpass --version): 3.0.6
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?: make BIN=browserpass-linux64 configure && sudo make BIN=browserpass-linux64 install && cd /usr/lib/browserpass/ && sudo make hosts-firefox
    • Browserpass extension version as reported by your browser: 3.0.10

Exact steps to reproduce the problem

  1. Restart firefox
  2. Click the extension icon

What should happen?

See a list of passwords

What happened instead?

Got the error


Is the binary meant to be running? I see no browserpass in the process list

$ cat /usr/lib/browserpass/hosts/firefox/com.github.browserpass.native.json
{
    "name": "com.github.browserpass.native",
    "description": "Browserpass native component for the Firefox extension",
    "path": "/usr/bin/browserpass-linux64",
    "type": "stdio",
    "allowed_extensions": ["[email protected]"]
}

$ stat /usr/bin/browserpass-linux64
  File: /usr/bin/browserpass-linux64
  Size: 4305673   	Blocks: 8416       IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 1572939     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:bin_t:s0
Access: 2019-04-15 08:59:40.529930053 +0100
Modify: 2019-04-15 08:58:12.118382801 +0100
Change: 2019-04-15 08:58:12.123382832 +0100
 Birth: -

archlinux: unable to install browserpass

General information

  • Operating system + version: Arch Linux
  • Browser + version: Firefox 66.0.3
  • Information about the host app:
    • How did you install it?

AUR version
- If installed an official release, put a version ($ browserpass --version):
- If built from sources, put a commit id ($ git describe --always):

  • Information about the browser extension:
    • How did you install it?

yay -S browserpass

-   Browserpass extension version as reported by your browser:

3.0.12

If you are seeing "Error: Specified native messaging host not found", have you followed Configure browsers documentation section?


Exact steps to reproduce the problem

  1. yay -S browserpass

(I had browserpass installed on this system. Removed it, and am trying to install again).

What should happen?

Should install. Compilation goes fine.

What happened instead?

Gives me this error:

cmd/browserpass/main.go:10:2: cannot find package "github.com/dannyvankooten/browserpass" in any of:
/usr/lib/go/src/github.com/dannyvankooten/browserpass (from $GOROOT)
/home/vikas/go/src/github.com/dannyvankooten/browserpass (from $GOPATH)
cmd/browserpass/main.go:11:2: cannot find package "github.com/dannyvankooten/browserpass/protector" in any of:
/usr/lib/go/src/github.com/dannyvankooten/browserpass/protector (from $GOROOT)
/home/vikas/go/src/github.com/dannyvankooten/browserpass/protector (from $GOPATH)
==> ERROR: A failure occurred in build().
Aborting...
Error making: browserpass-git

Support new browser: Waterfox

General information

  • Operating system + version: Gentoo Linux
  • Browser + version: Waterfox 56.2.8
  • Information about the host app:
    • How did you install it? Via package manager
    • If installed an official release, put a version Browserpass host app version: 3.0.6
  • Information about the browser extension:

Browser extension displays:

Error: Could not establish connection. Receiving end does not exist.

There is no Waterfox-specific instruction set. I had hoped that it would "just work", since WF is a FF derivative, but I am unsure how to troubleshoot this.

3.0.7 doesn't work under Big Sur

General information

  • MacOS Big Sur
  • Chrome 86:
  • Information about the host app:
    • How did you install it?
    • Installed with homebrew: Browserpass host app version: 3.0.7
  • Information about the browser extension:
    • How did you install it?
    • From chrome webstore
    • Browserpass extension version as reported by your browser: 3.7.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?

  • Not related to my case

Exact steps to reproduce the problem

  1. Click on the browserpass icon in the google chrome
  2. Error message would pop up: "Error: Error: Specified native messaging host not found."

What should happen?

It should let me choose an account with data, as it was in catalina.

What happened instead?

image

Error: Specified native messaging host not found on WSL2

General information

  • Operating system + version: Windows 10 Pro Build 19043 64 bit | WSL2 Ubuntu 20.04 LTS
  • Browser + version: Chrome 92.0.4515.131 (Official Build) (64-bit)
  • Information about the host app:
  • Information about the browser extension:
    • How did you install it? Installed through Chrome Web Store.
    • Browserpass extension version as reported by your browser: 3.7.2

Exact steps to reproduce the problem

I followed the WSL instruction on https://github.com/browserpass/browserpass-native#installation:

  • For Windows, download and run the install file at https://github.com/browserpass/browserpass-native/releases
  • For WSL2, I downloaded linux64 version from the same link and installed locally by running make BIN=browserpass-linux64 configure and sudo make BIN=browserpass-linux64 install in the directory with the Makefile
  • I created C:\Program Files\Browserpass\browserpass-wsl.bat and copied the content as mentioned in the instruction.
  • I edited chromium-host.json file and updated the "path" key value to: "path": "C:\\Program Files\\Browserpass\\browserpass-wsl.bat"

What should happen?

My Chrome running in Windows should connect with the browserpass native host running in WSL2.

What happened instead?

The browserpass extension gives Error: Error: Specified native messaging host not found. error.

Hello, I've been struggling to make this work for some time and would appreciate any sort of help. I feel like I have followed the provided instruction as best I can at this point, but I cannot seem to get it to work. Thank you in advance,

[docs/WSL] : path to native host command in batch file

General information

  • Operating system + version: Debian 11 (bullseye) on 5.10.60.1-microsoft-standard-WSL2
  • Browser + version: n/a
  • Information about the host app:
    • How did you install it? package manager - apt
    • If installed an official release, put a version ($ browserpass --version): /usr/lib/browserpass-native # -> 3.0.7
  • Information about the browser extension:
    • How did you install it? Chrome webstore
    • Browserpass extension version as reported by your browser: 3.7.2

Exact steps to reproduce the problem

  1. apt install --no-install-recommends -y webext-browserpass ### on Debian, as root

What should happen?

binary file (browserpass-native) should be installed/symlinked to /usr/bin (or /usr/local/bin)

What happened instead?

binary file (browserpass-native) exists only in /usr/lib/browserpass/browserpass-native


additional stuff

apt info webext-browserpass | grep -i version
# -> Version: 3.7.2-1+b4

dpkg-query -L webext-browserpass | grep bin 
# ->>> returns no output

command -V browserpass-linux64 browserpass-native
# -> browserpass-native not found
# -> browserpass-linux64 not found```

Still getting "Specified native messaging host not found", triple-checked everything.

General information

  • Operating system + version: Kubuntu 19.10
  • Browser + version: Chromium Version 84.0.4108.0 (Developer Build) (64-bit)
  • Information about the host app:
    • How did you install it? Pre-built binary, manual install
    • If installed an official release, put a version ($ browserpass --version): 3.0.6
  • Information about the browser extension:
    • How did you install it? Chrome Web Store
    • Browserpass extension version as reported by your browser: 3.4.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?

Yes


I've gone through the installation and browser config instructions multiple times, yet I still get the error "Specified native messaging host not found" when clicking the extension icon in Chromium's toolbar.

I have the native messaging host app installed at /usr/bin/browserpass-linux64, running it with --version reports version 3.0.6. as mentioned above. The file /home/thomas/.config/chromium/NativeMessagingHosts/com.github.browserpass.native.json points to /usr/lib/browserpass/hosts/chromium/com.github.browserpass.native.json, which contains this code:

{
    "name": "com.github.browserpass.native",
    "description": "Browserpass native component for the Chromium extension",
    "path": "/usr/bin/browserpass-linux64",
    "type": "stdio",
    "allowed_origins": [
        "chrome-extension://naepdomgkenhinolocfifgehidddafch/",
        "chrome-extension://pjmbgaakjkbhpopmakjoedenlfdmcdgm/",
        "chrome-extension://klfoddkbhleoaabpmiigbmpbjfljimgb/"
    ]
}

This should work then, shouldn't it? I believe I followed the installation instructions to the letter, but maybe I'm overlooking something?

Feature: Synchronisation hooks

I want to keep the password store synchronised with a git repository, meaning my scripts need to keep track of changes in the local and remote copies. It seems like this use case could easily apply to things other than git, so I think a more generic approach is appropriate.

A .git/hooks-like structure seems fine:

~/.password-store/
  hooks/
    ...hook scripts

Off the top of my head, these would be handy;

start

Run when the extension is started.

Also, a 'refresh' button would be added to the ui when this hook is detected, which would allow it to be run manually.

Once this hook completes, the cache should be refreshed

created

Run when an entry is created with its' relative path

deleted

Run when an entry is deleted with its' relative path

The hooks can be run with the store root as cwd

darwin64 install issues

I have downloaded from github the pre-compiled darwin64 files and try to follow your install directions for macos as follows but I get errors on first line.

xxxx:browserpass-darwin64-3.0.4 XXXX$ ls -la
total 8360
drwxr-xr-x@ 8 xxxx staff 256 Apr 9 12:26 .
drwx------+ 30 xxxx staff 960 Apr 9 12:21 ..
-rw-r--r--@ 1 xxxx staff 8196 Apr 9 12:26 .DS_Store
-rw-r--r--@ 1 xxxx staff 757 Mar 12 17:39 LICENSE
-rw-r--r--@ 1 xxxx staff 20669 Apr 9 11:32 Makefile
-rw-r--r--@ 1 xxxx staff 13398 Apr 8 18:24 README.md
drwxr-xr-x@ 5 xxxx staff 160 Apr 4 04:43 browser-files
-rwxr-xr-x@ 1 xxxx staff 4219128 Apr 9 11:58 browserpass-darwin64

xxxxx:browserpass-darwin64-3.0.4 XXXX$ make BIN=browserpass-darwin64 configure
sed -i "s|%%replace%%|/usr/bin/browserpass-darwin64|" browser-files/chromium-host.json
sed: 1: "browser-files/chromium- ...": undefined label 'rowser-files/chromium-host.json'
make: *** [configure] Error 1

xxxx:browserpass-darwin64-3.0.4 XXXX$ sudo make BIN=browserpass-darwin64 install
install -Dm755 -t "/usr/bin/" browserpass-darwin64
install: illegal option -- D
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 ... fileN directory
install -d [-v] [-g group] [-m mode] [-o owner] directory ...
make: *** [install] Error 64

With both these errors running the commands as you request, I cannot proceed, if an error on my end, please do tell and I will correct, otherwise, please advise on next steps to resolve and get browserpass installed correctly.

Trouble installing on openSUSE tumbleweed

I installed the browser extension from chrome store and then from firefox addons. I then installed the native software for openSUSE tumbleweed. When I click the on the browserpass icon in the browser is says "error: attempt to postmessage on disconnected port" in firefox and in chrome it says "specified native messaging host not found."

I tried running make hosts-firefox-user and make hosts-chrome-user but both of those things do nothing.

My browserpass native installation is located in usr/lib/browserpass

when I view the json file for firefox/chrome it shows the path as "/usr/bin/browserpass" Is this the issue? I tried to change the path in this file but permissions would not allow it.

I've done this is macos several times and it works perfectly every time. I think openSUSE installations can sometimes be troublesome. Hopefully you can help me get this working.

Windows MSI creates registry entries under `WOW6432Node`

OS: Windows 10/1809
Browsers: Firefox, Chrome, Chromium, Brave
Browserpass Version: 3.0.6, Windows MSI.

Symptoms:
MSI installer unpacks everything into C:\Program Files\Browserpass. The json files are not moved into C:\Program Files\Browserpass\browser-files and the NativeMessagingHost registry entries are not created.

Error message:
Error: Error: Attempt to postMessage on disconnected port

Workaround:
Mostly the full manual process: Create C:\Program Files\Browserpass\browser-files, move json files to this directory, and run the PowerShell commands to create the registry entries.

install: cannot stat 'browserpass': No such file or directory

% wget https://github.com/browserpass/browserpass-native/releases/download/3.0.1/browserpass-linux64.zip
% unzip browserpass-linux64.zip

% DESTDIR=/home/sergio/.local PREFIX= make install 
install -Dm755 -t "/home/sergio/.local/bin/" browserpass
install: cannot stat 'browserpass': No such file or directory
make: *** [Makefile:80: install] Error 1

% cp browserpass-linux64 browserpass         
% DESTDIR=/home/sergio/.local PREFIX= make install
install -Dm755 -t "/home/sergio/.local/bin/" browserpass
install -Dm644 -t "/home/sergio/.local/lib/browserpass/" Makefile
install -Dm644 -t "/home/sergio/.local/share/licenses/browserpass/" LICENSE
install -Dm644 -t "/home/sergio/.local/share/doc/browserpass/" README.md
install -Dm644 browser-files/chromium-host.json   "/home/sergio/.local/lib/browserpass/hosts/chromium/com.github.browserpass.native.json"
install -Dm644 browser-files/chromium-policy.json "/home/sergio/.local/lib/browserpass/policies/chromium/com.github.browserpass.native.json"
install -Dm644 browser-files/firefox-host.json    "/home/sergio/.local/lib/browserpass/hosts/firefox/com.github.browserpass.native.json"

Error: Error: "Invalid action"

I am on Arch Linux. Today I updated the native server with yay -Syu browserpass. I then set up sudo make hosts-chromium. I then removed the old Chromium extension, and installed the new one from the downloaded crx. All this completed without errors.

Now when I open the new extension, it says Error: Error: "Invalid action". It's definitely the new extension with the key, and browserpass -v reports 2.0.21.

Any ideas? Possibly some bug in the pre-release setup, idk. I thought I followed everything exactly so it's probably worth sorting this out before public release.

automate windows installation

i'd like to get an idea of what it would take to automate a windows installation and maybe contribute a pull request.

prior to v3, if i remember correctly, there were two installation scripts install.{ps1,sh} accommodating both windows and unix users respectively.

i haven't set up my installation on my linux yet, but i set it up on my windows and noticed there was a couple mentions basically saying theres no makefile or automation for installation for windows.

while [browser]pass is targeted toward technical audience, i still think we can improve the workflow for windows users. a couple questions i have are:

  • am i correct in understanding that previously there was an automation for windows installation, whereas now there is not?

  • if the above is correct, what was the reason for leaving windows out of the installation. is it just that you don't have a maintainer who uses windows? does that mean that you use to have a maintainer that used windows?

  • unless i'm missing something, recreating the install.ps1 script for windows should be fairly straightforward, right?

Support Firefox snap package

General information

  • Operating system + version: Ubuntu 21.10
  • Browser + version: Firefox 94.01 snap for Ubuntu canonical-002 - 1.0
  • Information about the host app:
    • How did you install it? Installed via a package manager (apt install webext-browserpass)
    • If installed an official release, put a version ($ browserpass --version): 3.7.2-1
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it? Installed via webstore
    • Browserpass extension version as reported by your browser: 3.7.2

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?


I think this is the same issue as #82. Ubuntu is now supplying Firefox as a snap package and browserpass no longer works.

Exact steps to reproduce the problem

  1. Click on the browserpass icon in Firefox

  2. See an error message: "Error: Error: Attempt to postMessage on disconnected port"

What should happen?

Browserpass should work with Firefox.

What happened instead?

Browserpass doesn't work with the snap version of Firefox.

Unable to install broserpass on ubuntu

General information

  • Operating system + version: Ubuntu 18.04
  • Browser + version:
  • Information about the host app:
    • How did you install it?
      Via package manager
  • Information about the browser extension:
    • How did you install it?
      chrome store
    • Browserpass extension version as reported by your browser: 3.4.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section? Yes


Exact steps to reproduce the problem

I tried to install it in debian with following commands

sudo apt build-dep browserpass
sudo apt source browserpass --compile

What should happen?

I should find .deb file of both Browserpass extension and extension host.

What happened instead?

I found only webext-browserpass_2.0.11+dfsg-2_amd64.deb.

Also, I tried to build native extension host with docker:

docker build -t browserpass-native .
docker run --rm -v "$(pwd)":/src browserpass-native all

This indeed created a browserpass binary, but when I ran it,

./browserpass -v       
DEBU[2020-01-03T13:23:58+05:30] Starting browserpass host app v3.0.6         

Now even after starting it, the chrome extension is not able to detect it:

Error: Error: Specified native messaging host not found.

Can't run make, error "no rule to make target browserpass. Stop

General information

  • Operating system + version: Windows 10 / Ver 1903 Build 18362.778 + WSL Ubuntu 18.04
  • Browser + version: Chrome Version 81.0.4044.122 (Build oficial) (32 bits)
  • Information about the host app:
    • How did you install it?
      Via package manager in WSL and downloaded for Windows following instructions in README.md
    • If installed an official release, put a version ($ browserpass --version): browserpass: command not found
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?
      Downloaded directly from google extension store
    • Browserpass extension version as reported by your browser: 3.4.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?


Exact steps to reproduce the problem

  1. Installed browserpass using package manager
    $ sudo nano /etc/apt-sources.list
    uncommented deb-src lines
    $ sudo apt-get update
    $ apt-get source webext-browserpass

  2. Installed msi for windows which install a bunch of files and configuration

  3. I tried running make browserpass in WSL Ubuntu and it says "make: *** no rule to make target 'browser pass'. Stop."

What should happen?

I don't really know, I'm stucked since I Installed chrome extension but it doesn't work :(

What happened instead?

Nothing

Check gopass default store location

General information

  • Operating system + version: Arch Linux rolling
  • Browser + version: Firefox 90.0.2
  • Information about the host app:
    • How did you install it?
      Installed via a package manager
    • If installed an official release, put a version ($ browserpass --version): 3.0.7
  • Information about the browser extension:
    • How did you install it?
      webstore
    • Browserpass extension version as reported by your browser: 3.7.2

What should happen?

I would expect browserpass to also check the default password store location of gopass (~/.local/share/gopass/stores/root) by default.

What happened instead?

browserpass doesn't work out of the box with gopass' default store location. PASSWORD_STORE_DIR has to be set.

Uninstallation Guide

This is a question, not a problem with the software. How should one go about uninstalling browserpass? I love the tool, but I installed manually and now want to go back and install with a package manager so as to streamline updates. During the process of installation, a lot of Makefiles seem to put a lot of things in a lot of different places. What files should I remove to constitute an uninstall? And would it be possible to write up a guide for this? Thanks for writing this, it's a fantastic tool!

AppImage Build

Yes, everyone has their opinion of which universal packaging solution works best for various reasons. The one universal packaging system that I've interacted with that's never caused me any problems and may be well suited for this project is AppImage

Docs: https://docs.appimage.org/introduction/index.html

I would take this as a learning opportunity and contribute if enough people can agree that they'd use it.

Updating OS packages for v3

There will be a new major release of Browserpass soon, so I want to ping OS package maintainers to give you time to prepare for the release.

I've created a Makefile, so the build & packaging should be really simple now. For Arch Linux, all I do now is:

make configure
make browserpass
make test
make install

For reference: PKGBUILD

To configure browsers, Makefile is also being installed to /usr/lib/browserpass/, so if you guys implemented some wrappers (like I know @dustinwilson implemented browserpass-setup), that shouldn't be necessary anymore - users can just do:

cd /usr/lib/browserpass
make hosts-chromium-user

For full reference, see Configure browsers

For Nix / NixOS, a special request if someone could review this section of the documentation, I ported it from the old Browserpass repo but I'm not entirely sure it's correct: https://github.com/browserpass/browserpass-native#install-on-nix--nixos

ping @meskes, @dustinwilson, @infinisil, @fpletz, @dermetfan, @pajowu

Completed distro packages:

  • Arch Linux
  • NixOS
  • macOS (homebrew tap)
  • Gentoo Linux
  • Ubuntu
  • Debian

release archives improvement

  1. linux archives should be tar.gz (or may be bz2 or xz) not zip. May be same for *bsd.
  2. version should be included in the filename browserpass-linux64.zip -> browserpass-linux64-3.0.3.zip
  3. archive should contain folder, not multiple files

path not set

path in the ~/.mozilla/native-messaging-hosts/com.github.browserpass.native.json wasn't replaced after

% wget https://github.com/browserpass/browserpass-native/releases/download/3.0.1/browserpass-linux64.zip
% unzip browserpass-linux64.zip
% cp browserpass-linux64 browserpass
% DESTDIR=/home/sergio/.local PREFIX= make install
% DESTDIR=/home/sergio/.local PREFIX= make hosts-firefox-user

And I need to correct it manually.

Support Firefox flatpak

General information

  • Operating system + version: Debian GNU/Linux 10 (buster)
  • Browser + version: Firefox 76.0b3, mozilla-flatpak-1.0
  • Information about the host app:
    • How did you install it?
      I didn't found instruction on how to install host app for flatpak FF.
    • If installed an official release, put a version ($ browserpass --version): X
    • If built from sources, put a commit id ($ git describe --always): X
  • Information about the browser extension:
    • How did you install it? From marketplace.
    • Browserpass extension version as reported by your browser: 3.4.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?

I don't know how to configure FF in flatpak


Exact steps to reproduce the problem

  1. Install Firefox from https://flathub.org/apps/details/org.mozilla.firefox

  2. Install Browserpass-extension from https://addons.mozilla.org/fr/firefox/search/?q=browserpass&platform=Linux

  3. Search documentation for flatpak :-)

What should happen?

I suggest that browserpass-native supports FF flatpak. This is similar to #82

What happened instead?

I had to use FF outside flatpak (from tar.gz). It's awesome. I just wanted to use Flatpak for security and convenience.

Great work anyway. How to support you ? Could you add a Paypal money pool ?

Support Chromium snap package

General information

  • Operating system + version: Ubuntu 19.10
  • Browser + version: chromium-browser 77.0.3865.120-0ubuntu1~snap1
  • Information about the host app:
    • How did you install it?
      Downloaded and installed the most recent release (3.0.6)
    • If installed an official release, put a version ($ browserpass --version):
      Browserpass host app version: 3.0.6
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it? Installed from the Chrome store.
    • Browserpass extension version as reported by your browser: 3.4.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section?

Yes, and it worked in previous Chromium versions.


Exact steps to reproduce the problem

  1. I used the extension with browserpass-native just fine on the most recent Chromium installed through the debian universe repository.

  2. I updated to Ubuntu 19.10, Canonical is pushing snap packages increasingly hard. They have good reason not to want to support all the Chromium versions for all the supported Ubuntu versions, Chromium just has a lot of updates. So in 19.10, the chromium-browser debian package is a wrapper that downloads the snap package instead. Canonical is phasing out the regular debian package for all recent versions of Ubuntu soon. So bottom line the real debian package is removed and a snap is installed.

Links for reference:

  1. Now when I use browserpass I get

    Error: Error: Specified native messaging host not found.

  2. I reinstalled all the components: extension, browserpass-native and configured the extension again (linked the JSON files etc.).

  3. The same error occurs.

  4. I tried linking the file in the snap's .config dir, because it seems obvious that the user .config doesn't work for a snap.. Even tried the global setting, none of that worked. I suspect the extension is limited too much by the sandbox of the snap. If I had time, I would investigate more and perhaps make a PR, but I don't. But I thought reporting the issue is the least I can do.

  5. I checked if I could find a trustworthy repository for debian packages but didn't find any, I can only manually install deb packages, don't really want to be responsible for never forgetting to update it though.

What should happen?

Please make the extension work with browserpass-native, or the other way around, from within a snap. It's only a matter of time before more people will upgrade and be stuck with a snap. I would really like this to be working again, I use it a lot, it saves me tons of time copying pasting from the terminal.

What happened instead?

Well, nothing yet.. ;)

(Suggestion) Add a way for users to provide password file parsing logic

I have carefully curated my password store to be parsed by scripts I've written, which gives me enough flexibility to handle any edge cases which do eventually appear. While browserpass's generic rules do work for me most of the time, occasionally there are exceptions. For instance:

  • I have one site which requires an empty username field. I haven't found a way to convince browserpass to use an empty string as the login.
  • Many sites specifically ask for an email address as the login. I like to keep my password metadata normalized, so I have my own syntax and logic for determining when the email field should be used as the login.

Would it be reasonable to add configuration to browserpass which would permit a command to be called, either including the pass invocation or just some program which takes pass's output in stdin and prints the appropriate field to stdout?

As in something like:

#login: "pass show ${login_path} | parse_login.sh"
# or just
login: "parse_login.sh"
# I do have all my passwords on the first line, so I personally only want to override login for now, but other people might have more complex use cases perhaps
#password: "parse_password.sh"

Is this something which suits the mission of browserpass?

By the way. thanks for writing this excellent extension!

Support for Opera Browser

General information

  • Fedora 33:
  • Opera 77.0.4054.64:
  • Information about the host app:
  • Information about the browser extension:
    • Installed form Chrome Extension Store

Getting "Error: Error: Specified native messaging host not found." in popup and extension settings

Go with GVM: make: *** No rule to make target '*.go'

General information

I'm new to Go. I have gvm installed, and prior to following the installation steps I ran gvm use so the Go paths were available. Still, it looks that the Makefile can't find go binaries.

  • Operating system + version: Ubuntu 19.04
  • Browser + version: Chromium 74
  • Information about the host app:
    • How did you install it?
      downloaded a pre-built binary
    • If installed an official release, put a version ($ browserpass --version): n/a
    • If built from sources, put a commit id ($ git describe --always): n/a

Exact steps to reproduce the problem

  1. Download and extract https://github.com/browserpass/browserpass-native/releases/download/3.0.6/browserpass-linux64-3.0.6.tar.gz

  2. Following https://github.com/browserpass/browserpass-native#install-manually, running sudo make BIN=browserpass-linux64 returns the following output: make: *** No targets specified and no makefile found. Stop.

What should happen?

Installation

What happened instead?

Error

homebrew formula for macOS

I currently have browserpass as one of the formulae in my personal tap, but it might look better/more official if were hosted in the browserpass org.

It could just be a repo: browserpass/homebrew-tap which would pretty much just have a readme and browserpass.rb in it.

I can help manage and test it if you think it's something you want, otherwise you could just add my tap to the list of packages for browserpass.

Error with firefox extension : Error: Attempt to postMessage on disconnected port

General information

  • Operating system + version: macOS 10.14.4 (18E226)
  • Browser + version: Firefox 67.0
  • Information about the host app:
    • How did you install it? brew install amar1729/formulae/browserpass
    • If installed an official release, put a version ($ browserpass --version): 3.0.6
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it? via the Firefox Add-ons web site
    • Browserpass extension version as reported by your browser: 3.1.1

If you are getting an error immediately after opening popup, have you followed the Configure browsers documentation section? Yes


Exact steps to reproduce the problem

  1. Install the native app with brew

  2. Install firefox Extension

  3. Click on browserpass icon

What should happen?

Open a popup with an input to search for login

What happened instead?

Open a popup with the error message : Error: Attempt to postMessage on disconnected port

Solution

I had to manualy run PREFIX=/usr/local make hosts-firefox to make it work.
It seems that brew doesn't install browserpass in its default location which break simlinks.

Strangely, the chrome extension works without any manual step.

Error: SyntaxError: Unexpected end of JSON input

installed as per the instructions for google-chrome on ubuntu 18.04.2 on 64-bit system. but when i click on the extension in chrome get Error: SyntaxError: Unexpected end of JSON input. really enjoy the work you do. hope someone can help with this.

Native messaging host not found

General information

  • Operating system + version:
  • Browser + version:
  • Information about the host app:
    • How did you install it?
    • If installed an official release, put a version ($ browserpass --version):
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?
    • Browserpass extension version as reported by your browser:

I am running Ubuntu 18.04. I installed the app by downloading browserpasslinux64.zip. Then I unzipped the files and ran ./install.

I later ran the make command and it said make: Nothing to be done for 'browserpass-linux64'.

The browserpass extension is 3.11.


Exact steps to reproduce the problem

I installed the browserpass extension then I installed the Linux program.

What should happen?

What happened instead?

Error: Error: Specified native messaging host not found

Error: Specified native messaging host not found.

After updating on Ubuntu Linux 16.04 client and native, I get
Error: Specified native messaging host not found.
on while on the command line

browserpass-linux64 -v
DEBU[2019-04-08T13:46:59+02:00] Starting browserpass host app v3.0.4 

would start without any errors.

On Firefox, the error message is: Error: Attempt to postMessage on disconnected port
Any ideas, which problem I'm facing?

Error: the symlink points to a non-existent location

General information

  • Operating system + version: Mac OS 10.14.3
  • Browser + version: Firefox 66.0.3
  • Information about the host app:
    • How did you install it?
      By brew install
    • If installed an official release, put a version ($ browserpass --version):
      Browserpass host app version: 3.0.6
    • If built from sources, put a commit id ($ git describe --always):
  • Information about the browser extension:
    • How did you install it?
      Installed from firefox addon repository
    • Browserpass extension version as reported by your browser:

If you are seeing "Error: Specified native messaging host not found", have you followed Configure browsers documentation section?

^ This is the part where the install fails. On Mac OS, I'm getting

sudo make hosts-firefox
/Library/Application Support/Mozilla/NativeMessagingHosts/com.github.browserpass.native.json    -> /usr/lib/browserpass/hosts/firefox/com.github.browserpass.native.json
Error: the symlink points to a non-existent location

Exact steps to reproduce the problem

  1. Follow documentation to install from binary

  2. Go to /usr/local/lib/browserpass

  3. Run sudo make hosts-firefox

What should happen?

Install fine.

What happened instead?

Error: the symlink points to a non-existent location

DragonflyBSD support (includes workaround)

  • Operating system + version: DragonflyBSD (following master)

Following the installation instructions on DragonFly, I ran into two problems:

  • -buildmode=pie not supported on dragonfly/amd64
    • I fixed this by deleting that flag from Makefile
  • "The operating system DragonFly is not supported". when I try to run gmake hosts-chromium-user PREFIX=$HOME/.local
    • I fixed this by replacing Linux|*BSD) Linux|*BSD|DragonFly) in the case statement in the Makefile.

Now it seems to work (I successfully got it to fill in a password in Chromium.)

I can try to put together a pull request if you like. I guess you don't want to remove -buildmode=pie everywhere, so I'd need to figure out how to enable it conditionally.

Option to specify path to the password store?

General information

  • Operating system + version: Fedora 32
  • Browser + version: Firefox 79.0
  • Information about the host app:
    • How did you install it?
      Linux64 release package
    • If installed an official release, put a version ($ browserpass --version): Browserpass host app version: 3.0.7
  • Information about the browser extension:
    • How did you install it?
      addons.mozilla.org
    • Browserpass extension version as reported by your browser: 3.5.0

Exact steps to reproduce the problem

N/A

What should happen?

There should be an option to tell browserpass where to find the password store, rather than it being hardcoded to $HOME/.password-store/.

Maybe there is by i didn't find in the README nor searching the issues.

What happened instead?

browserpass can only use passwords located at $HOME/.password-store/, making it useless for those who keep their password on a removable drive, for instance.

No public key data for linux tarball

gpg --verify-ed the linux release, and the RSA key in the README showed up, but I also got:

gpg: Can't check signature: No public key

In other words, I didn't see the rest of the expected output included in the README (your name, etc.).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.