Snap Firefox starts the helper through the desktop portal, which reads the manifest from ~/.mozilla or /usr/lib/mozilla. The .deb and .rpm now install the manifests system-wide, and install.sh detects snap Firefox. Co-Authored-By: Claude Opus 5.5 <[email protected]>
36 lines
2.1 KiB
Markdown
36 lines
2.1 KiB
Markdown
# Native messaging manifests
|
|
|
|
`install.sh` (Linux, macOS) and `install.ps1` (Windows) fill in the placeholders and register the
|
|
manifests for the current user. Chrome allows two ids by default: the Chrome Web Store build
|
|
(`pmhfoafjoogobhfadaicklhkldgnafmk`) and the unpacked development build, pinned to
|
|
`kogapfibnnpeapfcjkkpgjddbhnjfein` by the manifest key in kestrove-browser. Firefox uses `[email protected]`.
|
|
Pass `--chrome-id a,b` / `-ChromeId a,b` to allow other ids instead.
|
|
|
|
```bash
|
|
native-messaging/install.sh # every browser with a profile dir, host from target/
|
|
native-messaging/install.sh --browsers chrome --nmh /opt/kestrove/kestrove-nmh
|
|
native-messaging/install.sh --user-data-dir /tmp/profile # a Chromium started with --user-data-dir (tests)
|
|
native-messaging/install.sh --uninstall
|
|
```
|
|
|
|
| Browser | macOS (dev only; the Apple app ships its own host) |
|
|
|---|---|
|
|
| Chrome | `~/Library/Application Support/Google/Chrome/NativeMessagingHosts/` |
|
|
| Edge / Brave / Chromium | `~/Library/Application Support/{Microsoft Edge,BraveSoftware/Brave-Browser,Chromium}/NativeMessagingHosts/` |
|
|
| Firefox | `~/Library/Application Support/Mozilla/NativeMessagingHosts/` |
|
|
|
|
|
|
| Browser | Linux | Windows |
|
|
|---|---|---|
|
|
| Chrome | `~/.config/google-chrome/NativeMessagingHosts/app.kestrove.nmh.json` | `HKCU\Software\Google\Chrome\NativeMessagingHosts\app.kestrove.nmh` → path to json |
|
|
| Edge | `~/.config/microsoft-edge/NativeMessagingHosts/` | `HKCU\Software\Microsoft\Edge\NativeMessagingHosts\app.kestrove.nmh` |
|
|
| Firefox | `~/.mozilla/native-messaging-hosts/app.kestrove.nmh.json` | `HKCU\Software\Mozilla\NativeMessagingHosts\app.kestrove.nmh` |
|
|
| Brave | `~/.config/BraveSoftware/Brave-Browser/NativeMessagingHosts/` | same key as Chrome |
|
|
|
|
The Linux `.deb` and `.rpm` install these manifests system-wide (`src-tauri/linux/`), so they need no script. That
|
|
covers snap Firefox too: it can't start the host itself, so the desktop portal does, after asking the user once.
|
|
AppImage users run `install.sh`.
|
|
|
|
`allowed_origins` / `allowed_extensions` pin the host to **your** extension id.
|
|
That is the first line of defense against other extensions (docs/04 A8).
|