Skip to content

Latest commit

 

History

History
41 lines (22 loc) · 4.13 KB

File metadata and controls

41 lines (22 loc) · 4.13 KB

Chrome Web Store Permission Justifications

activeTab Justification

This extension uses the activeTab permission to communicate with the current webpage when users right-click on torrent download links. When a user clicks "Send to qBittorrent" from the context menu, the extension needs to access the active tab to retrieve the torrent file from private tracker sites that require authentication. This allows the extension to fetch torrent files using the user's browser cookies for sites that have HTTP-only cookies, which cannot be accessed through standard extension APIs. The permission is only used when the user explicitly initiates a download action through the context menu.


contextMenus Justification

The contextMenus permission is essential for the core functionality of this extension. It allows us to add a "Send to qBittorrent" option to the browser's right-click context menu when users right-click on links. This provides users with a convenient one-click method to send torrent links, magnet links, and download URLs directly to their qBittorrent instance without having to manually copy and paste URLs. The context menu item only appears when right-clicking on links, making it a non-intrusive and intuitive way for users to interact with the extension.


storage Justification

The storage permission is used to securely save user configuration settings locally on their device. This includes the user's qBittorrent Web UI connection details (URL, username, password) and optional authentication credentials for private torrent tracker sites. All data is stored using Chrome's encrypted sync storage, which keeps the information secure and synchronized across the user's devices if they're signed into Chrome. No data is transmitted to external servers - it's only used to communicate with the user's self-hosted qBittorrent instance. Users can view and delete this stored data at any time through the extension's settings page.


scripting Justification

The scripting permission allows the extension to inject a content script into webpages to handle HTTP-only cookies from private torrent tracker sites. Many private trackers use HTTP-only cookies for security, which cannot be accessed by extensions through the standard cookies API. The injected content script runs in the page context where these cookies are accessible, allowing it to fetch authenticated torrent files when the user initiates a download. The script only executes when needed and does not modify webpage content or track user behavior - it solely facilitates downloading torrent files from authenticated sessions.


Host Permission Justification (<all_urls>)

The host permission for all URLs is necessary because this extension is designed to work with any torrent tracker website and any self-hosted qBittorrent instance. Users can configure their qBittorrent instance at any URL (localhost, local network IP, custom domains, reverse proxies, etc.) and may use torrent sites from various domains. The extension needs to:

  1. Communicate with the user's qBittorrent Web UI at their configured URL to send download requests
  2. Download torrent files from private tracker sites that require authentication
  3. Access cookies from torrent sites the user has configured for authentication

The extension only accesses URLs that the user explicitly interacts with (by right-clicking a torrent link) or has configured in settings (their qBittorrent URL and torrent site domains). It does not access arbitrary websites or collect browsing data. All network requests are initiated by explicit user actions and are limited to downloading torrents and communicating with the user's own qBittorrent instance.


Summary

All permissions are essential for the extension's core functionality: enabling users to send torrent downloads to their self-hosted qBittorrent instance with a single right-click. The extension does not collect user data, track browsing activity, or communicate with any third-party servers. All stored data remains local to the user's device, and all network communication is limited to the user's configured qBittorrent instance and torrent sites they explicitly choose to download from.