Bukubrow Host
Bukubrow is a WebExtension for Buku, a command-line bookmark manager. This is the corresponding host that facilitates interfacing with the Buku database via native messaging.
USAGE:
bukubrow [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
--install-brave Install the native messaging host for Brave
--install-chrome Install the native messaging host for Chrome
--install-chromium Install the native messaging host for Chromium
--install-edge Install the native messaging host for Edge
--install-firefox Install the native messaging host for Firefox
--install-librewolf Install the native messaging host for LibreWolf
--install-vivaldi Install the native messaging host for Vivaldi
-l, --list Print all bookmarks in a list to stdout
-V, --version Prints version information
OPTIONS:
--install-dir <DIR> Specify a custom manifest installation directory
-o, --open <ID[,ID]> Open bookmark(s) in the browser by ID
Prerequisites
- Buku
- Bukubrow WebExtension
- If building the host:
- Rust / Cargo
Installation
Installing the host and registering it with your browser is required to allow the browser extension to talk to Buku.
The host is available from the following package managers:
- AUR: bukubrow (official) / bukubrow-bin (official)
- Nix: bukubrow
If you've installed the host via a package manager, skip to step 4.
If you've downloaded the host from the releases page, skip to step 3.
- Clone the repo.
- Run
cargo build --release
. Note that you'll need your target platform installed and configured with Cargo. Your executable will be located attarget/release/bukubrow
. - Move the executable to a suitable location, for example
/usr/local/bin/
. - Install the host file for your browser via the executable, for example
bukubrow --install-firefox
.
Further options can be viewed with bukubrow --help
.
Contributing
The host is written in Rust stable. The messages it expects to receive from the WebExtension follow a faux HTTP format; for instance, to get all the bookmarks, you pass it a JSON object of the following format: { "method": "GET" }
.