A native messaging host application for the Browser's External Editor extension.
- Linux
- Windows
- macOS
- FreeBSD
Packages are available from:
Download the latest .pkg package and install it:
sudo spctl --master-disable
sudo installer -pkg ./beectl-1.3.7-3.x86_64.pkg -target /
sudo spctl --master-enableNote
Gatekeeper must be temporarily disabled because the package is not signed with an Apple Developer certificate.
sudo dnf copr enable ruslan-osmanov/beectl
sudo dnf install --refresh beectlOr install manually:
rpm -Uvh --nodeps beectl-<VERSION>.<ARCH>.rpmdpkg -i beectl-<VERSION>.<ARCH>.debInstall from the AUR:
- Using yay:
yay -S beectl- Using paru:
paru -S beectlAlternatively,
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/beectl.git
cd beectl
makepkg -siThe package installs the binary and browser native messaging manifests automatically.
Add BeeCtl to your configuration:
environment.systemPackages = [ pkgs.beectl ];
programs.firefox.nativeMessagingHosts.packages = [ pkgs.beectl ];
Install:
nix profile install github:rosmanov/bee-host --extra-experimental-features "nix-command flakes"Create browser manifest links:
mkdir -p ~/.mozilla/native-messaging-hosts
ln -sf ~/.nix-profile/lib/mozilla/native-messaging-hosts/com.ruslan_osmanov.bee.json \
~/.mozilla/native-messaging-hosts/com.ruslan_osmanov.bee.jsonFor Chrome:
mkdir -p ~/.config/google-chrome/NativeMessagingHosts
ln -sf ~/.nix-profile/etc/opt/chrome/native-messaging-hosts/com.ruslan_osmanov.bee.json \
~/.config/google-chrome/NativeMessagingHosts/com.ruslan_osmanov.bee.json
For Chromium:
mkdir -p ~/.config/chromium/NativeMessagingHosts
ln -sf ~/.nix-profile/etc/chromium/native-messaging-hosts/com.ruslan_osmanov.bee.json \
~/.config/chromium/NativeMessagingHosts/com.ruslan_osmanov.bee.json
Upgrade:
nix profile upgrade '.*bee.*' --refresh --extra-experimental-features "nix-command flakes"
The links do not need to be recreated after upgrades.
Download and run the latest .exe installer. It registers the native messaging host automatically.
During installation:
- enable adding
beectlto PATH (recommended), - keep both
applicationandconfigcomponents selected.
If SmartScreen blocks the installer, choose More info → Run anyway.
sudo rpm -e beectlsudo apt purge beectlsudo pacman -R beectlThe project uses CMake with platform-specific toolchains in CMake/Toolchain-*.cmake.
GitHub Actions builds packages for supported platforms and architectures.
Builds run automatically on pushes and pull requests. They can also be triggered manually with workflow_dispatch.
Run locally with act:
act -b -j build-linuxLinux (amd64):
./build-linux-i386.sh -b ReleasemacOS:
./build-macos.sh -b ReleaseWindows (PowerShell):
First, install NSIS (for packaging) and ensure it is in your PATH (e.g., via Chocolatey: choco install nsis -y).
Then configure, build, and package:
cmake -B build -S . -DCPACK_GENERATOR="NSIS;ZIP" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
cmake --build build --config Release
cd build
cpack -C ReleaseCustom toolchain:
./build.sh /path/to/toolchain.cmake -b ReleaseDebug build:
./build.sh all -b DebugBuild scripts generate CPack configuration automatically.
Create a package manually:
make packageCPack generates a platform-specific package (RPM, DEB, NSIS, etc.).
This project is licensed under the MIT License.
Copyright (C) 2019–2026 Ruslan Osmanov.
