-
Notifications
You must be signed in to change notification settings - Fork 62
Permissions
In order for the extension to function, it needs to be able to have certain permissions. These permissions are only used for basic functionality.
FastStream does not collect any data from you. It does not track you. It does not send any data to any servers. It does not even have a server to send data to.
Don't trust me? FastStream has its source available. You can look through the code yourself, or manually install your very own custom build by following the instructions in the README.
Here is a breakdown of the permissions FastStream requires, and why it needs them.
Note: The linked examples may refer to an older version of the code, but the gist should be the same overall. The list is not exhaustive, items are ordered by importance.
FastStream needs to be able to access all websites so that it can inject the player into the website directly. It injects a content script into websites you visit in order to:
- Identify the largest visible video element to replace with the player. content.js L160-L214
- Enable fullscreen permissions when the player is injected into a frame. content.js L83-L103
- Scrape subtitle elements from the page. content.js L135-L159
FastStream needs to be able to intercept HTTP requests to video sources in order to:
- Identify video sources background.mjs L866-L905
FastStream needs to be able to modify HTTP headers of select requests in order to:
- Override headers for video sources. NetRequestRuleManager.mjs L65-L83
FastStream needs to be able to store data in your browser so that it can remember your settings.
- General extension options. background.mjs L458-L491
FastStream needs to be able to send messages between players and content scripts in each tab.
- Sending sources to players from the background script. background.mjs L640-L653