MovixOpenSource/extension
Satanas1275 b8d2c84e6e fix: replace postMessage wildcard '*' with window.location.origin
All 18 window.postMessage(..., '*') calls across the codebase now
use window.location.origin as the targetOrigin:

- src/utils/extensionProxy.ts: EXTENSION_REQUEST message
- extension/Chrome/injected.js: 4 message helpers (extract, extractAll, detect, setupHeaders)
- extension/Chrome/content.js: 4 response forwards (error/success/catch + EXTRACTION_RESULT)
- extension/Firefox/injected.js: 4 message helpers (mirror of Chrome)
- extension/Firefox/content.js: 4 response forwards (mirror of Chrome)
- userscript/movix.user.js: postExtensionResponse call

This prevents any cross-origin script (iframe, rogue extension, etc.)
from intercepting Movix extension messages.
2026-07-02 00:08:37 +02:00
..
Chrome fix: replace postMessage wildcard '*' with window.location.origin 2026-07-02 00:08:37 +02:00
Firefox fix: replace postMessage wildcard '*' with window.location.origin 2026-07-02 00:08:37 +02:00
README.md tird release 2026-04-28 17:55:00 +02:00

Extension navigateur Movix

L'extension Movix sert quand le site a besoin d'un coup de main côté navigateur : réécriture de headers, interception de requêtes, extraction locale de certaines sources et pont entre la page Movix et une logique qui ne peut pas vivre uniquement dans le frontend web.

Le repo garde deux variantes en parallèle :

  • extension/Chrome/
  • extension/Firefox/

Quand choisir l'extension

Cas Recommandation
Firefox Extension native recommandée
Chrome / Edge / Brave L'extension fonctionne, mais le userscript peut être plus simple à installer
Dev local Charge directement les dossiers Chrome/ ou Firefox/

Si tu préfères Tampermonkey sur Chromium, regarde aussi userscript/README.md.

Installation locale

Chrome / Edge / Brave

  1. Ouvre chrome://extensions.
  2. Active le mode développeur.
  3. Clique sur Charger l'extension non empaquetée.
  4. Sélectionne extension/Chrome/.

Firefox

  1. Ouvre about:debugging#/runtime/this-firefox.
  2. Clique sur Charger un module complémentaire temporaire.
  3. Sélectionne extension/Firefox/manifest.json.

Structure

Chaque variante contient les mêmes briques principales :

  • manifest.json
  • background.js
  • content.js
  • injected.js
  • extractors.js
  • popup.html
  • popup.js

Permissions et comportement

Les manifests déclarent notamment :

  • declarativeNetRequest
  • declarativeNetRequestWithHostAccess
  • storage
  • des host_permissions larges

Ces permissions servent à :

  • injecter ou normaliser les bons headers
  • faire passer certaines requêtes vidéo ou Live TV
  • exécuter des extractions dans le contexte adapté
  • permettre la communication avec Movix sur ses domaines autorisés

Notes de contribution

  • Si tu modifies la logique partagée, compare toujours Chrome/ et Firefox/.
  • Les deux variantes n'ont pas exactement le même manifest ; ne pars pas du principe qu'un copier-coller suffit.
  • Si la feature doit aussi exister en mode Tampermonkey, vérifie userscript/movix.user.js.