Feat : page streamer
Some checks failed
release / build (push) Successful in 27s
release / verify-windows (push) Failing after 1m3s

This commit is contained in:
jeanotx32
2026-08-11 20:04:08 +02:00
parent da9025fbf1
commit 4f7b8f56ae
12 changed files with 698 additions and 330 deletions

View File

@@ -77,8 +77,53 @@ requête initiée par la page
└──► lecture normale, aucune requête supplémentaire vers la plateforme
```
Elle n'observe que `*.doppiocdn.com` (le CDN média), n'envoie rien ailleurs qu'en
`127.0.0.1`, et n'a aucune permission de lecture de page ni de cookies.
### Sur la portée des permissions
Le manifeste demande `<all_urls>`, et c'est délibéré : **une requête vers un
domaine non déclaré est purement invisible** pour une extension. Or les noms
d'hôte du CDN n'ont été observés que sur le leurre anonyme — rien ne garantit
qu'une session authentifiée soit servie par les mêmes. Restreindre la permission
aux hôtes connus risquait de ne rien capturer du tout, sans le moindre indice.
Le filtrage réel est dans le code, pas dans la permission :
- seules les URL finissant par `.m3u8`, `.m4s`, `.mp4` ou `.ts` sont lues ;
- tout le reste retourne immédiatement, sans être ouvert ;
- la seule destination sortante est `127.0.0.1:8099` ;
- aucune permission `tabs`, `cookies`, `storage` ni `scripting`.
L'extension journalise les hôtes qui servent du média. Une fois le bon CDN connu,
la permission peut être resserrée sur lui.
## Dépannage
### « Ne peut pas lire les données de ce site »
C'est l'indicateur de permissions de Firefox, et il parle du **site affiché dans
l'onglet**. La version 0.1.0 ne déclarait que le CDN, pas `stripchat.com` : sur cet
onglet, Firefox annonçait donc à juste titre n'avoir aucun droit de lecture.
Corrigé en 0.2.0 — recharge le module temporaire.
### Vérifier que la capture fonctionne vraiment
L'indicateur de permissions ne dit rien de l'activité réelle. Deux signaux fiables :
1. **Le compteur sur l'icône** de l'extension s'incrémente. En rouge, le récepteur
ne répond pas (`node receiver.mjs` non lancé).
2. **La console de l'extension** : `about:debugging#/runtime/this-firefox`
*Inspecter* en face de Stream Capture. Elle liste les hôtes qui servent du
média, et résume toutes les 30 s :
```
stream-capture : média servi par media-hls.doppiocdn.com
stream-capture : 47 copiés, 0 en échec — hôtes : media-hls.doppiocdn.com (47)
```
### Aucun hôte média détecté
Si la console ne mentionne aucun hôte alors que la vidéo joue, le lecteur ne passe
pas par des requêtes HTTP filtrables — par exemple du WebRTC, qui ne transite pas
par `webRequest`. Recopie-moi la sortie de la console : c'est l'information qui
manque pour trancher.
## Limites de ce banc d'essai