Files
extension/README.md
2024-01-07 17:30:00 +01:00

72 lines
2.8 KiB
Markdown

# extension
movie-web extension, allows providers to work without proxy
## How this will likely work on the app
**On mp4 streaming:**
1. movie-web application will send the following to the extension:
- full specific URL for streaming URL
- preferred headers for the streaming URL
2. extension will set rules for the specific URL:
- CORS headers, allow cross origin
- Set preferred headers sent by app
**On HLS streaming:**
1. movie-web application will send the following to the extension:
- hostname for the streaming CDN
- preferred headers for the streaming CDN
2. extension will set rules for the CDN hostname:
- CORS headers, allow cross origin
- Set preferred headers sent by app
**On scraping request:**
1. movie-web application will send the following to the extension:
- url it will attempt to scrape
- list of headers it's planning on reading
- list of headers it should add
2. extension will set rules for the list of URLS:
- CORS headers, allow cross origin
- set readable headers in CORS
- set the headers for sending the request
3. extension will reply with the rule ID
4. movie-web will execute the request
5. movie-web will tell the extension to remove the rule with the rule ID
## How will this work for other domains?
- The popup will allow adding/removing the current tab domain to allowed domains list
- The extension will not listen to any calls from disallowed domains
- movie-web.app is default in the list of allowed domains
## Getting Started
First, run the development server:
```bash
pnpm dev
# or
npm run dev
```
Open your browser and load the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use: `build/chrome-mv3-dev`.
You can start editing the popup by modifying `popup.tsx`. It should auto-update as you make changes. To add an options page, simply add a `options.tsx` file to the root of the project, with a react component default exported. Likewise to add a content page, add a `content.ts` file to the root of the project, importing some module and do some logic, then reload the extension on your browser.
For further guidance, [visit our Documentation](https://docs.plasmo.com/)
## Making production build
Run the following:
```bash
pnpm build
# or
npm run build
```
This should create a production bundle for your extension, ready to be zipped and published to the stores.
## Submit to the webstores
The easiest way to deploy your Plasmo extension is to use the built-in [bpp](https://bpp.browser.market) GitHub action. Prior to using this action however, make sure to build your extension and upload the first version to the store to establish the basic credentials. Then, simply follow [this setup instruction](https://docs.plasmo.com/framework/workflows/submit) and you should be on your way for automated submission!