name: motrix
description: Motrix is a full-featured download manager supporting HTTP, FTP, BitTorrent, Magnet, and Metalink downloads.
snapcraft: https://github.com/agalwood/Motrix/blob/v2.0.0-beta.8/build/snap/snapcraft.yaml.in
upstream: https://github.com/agalwood/Motrix
upstream-relation: I am the upstream maintainer and the publisher of the existing motrix snap.
snap-id: 5zp2PMyHrXelupf6ZAKo23PKZ6HBUMg4
plugs:
browser-native-messaging:
interface: personal-files
attributes:
write:
- $HOME/.config/google-chrome/NativeMessagingHosts/app.motrix.bridge.json
- $HOME/.config/microsoft-edge/NativeMessagingHosts/app.motrix.bridge.json
- $HOME/.mozilla/native-messaging-hosts/app.motrix.bridge.json
request-type: installation
reasoning: |
Motrix integrates with its browser extensions through the browsers'
Native Messaging mechanism. Google Chrome, Microsoft Edge, and Firefox
discover the native host through the three per-user manifest files
listed above.
A strictly confined snap cannot create or maintain those manifests in
the user's real home directory without this narrowly scoped
personal-files plug. Browser integration is optional; Motrix otherwise
remains fully functional.
The Snap Store automated review of the 2.0.0-beta.8 amd64 upload reported:
human review required due to 'allow-installation' constraint (bool)
I am requesting installation permission (allow-installation) for this plug definition only. I am not requesting auto-connection. The plug should remain disconnected by default, and users who want browser integration must explicitly opt in:
sudo snap connect motrix:browser-native-messaging
Without that connection, Motrix continues to operate normally; only browser integration remains unavailable.
The requested access is limited to three exact, Motrix-specific files named app.motrix.bridge.json. It does not request recursive access to the surrounding browser configuration directories or to sibling files.
Native Messaging manifest write access is security-sensitive because a manifest selects the executable that the browser launches. In the Snap build, Motrix always writes /snap/bin/<snap-instance>.native-host as the manifest’s executable path. This is snapd’s command wrapper for the native-host application shipped by the same confined snap.
Relevant implementation paths in the v2.0.0-beta.8 source tag are:
-
build/snap/snapcraft.yaml.in -
src/main/bridge/native-messaging-installer.ts -
src/main/bridge/snap-environment.ts -
src/main/bridge/native-host-path.ts
I understand that publisher vetting may be required for Native Messaging manifest access, and I am happy to complete that process.
Could you please grant allow-installation for the personal-files interface, constrained to the browser-native-messaging plug and the three exact write paths above, without granting auto-connection?