MovixOpenSource/API
Movix eae5a24c51 feat: ajoute KissKH et fiabilise les sources, les sous-titres et le Cast — Android 2.5.8
- corrige l’extraction Fsvid/Vidzy dans proxiesembed, les extensions et le userscript avec un décodage XOR/P.A.C.K.E.R plus robuste
- rejette les URL « troll » et supprime les résultats Fsvid/Vidzy contaminés des caches
- ajoute KissKH pour les films et séries avec matching TMDB, catalogue, cache distribué, verrouillage, rotation des proxys et fallback sécurisé
- ajoute le relais KissKH HLS/MP4 dans proxiesembed, avec retry SOCKS5 sur les erreurs 403 et streaming des segments BYTERANGE
- prend en charge les sous-titres KissKH SRT/TXT/TXT2, leur déchiffrement AES et leur conversion en WebVTT
- intègre KissKH au lecteur, aux priorités de sources, aux extensions Chrome/Firefox et au userscript
- améliore la sélection, le formatage sécurisé, la traduction et l’affichage Picture-in-Picture des sous-titres
- corrige le Cast web et Android pour transmettre les sous-titres internes, externes, KissKH et traduits
- ajoute le support des pistes WebVTT inline via le relais LAN Android et améliore le suivi des sessions Cast
- protège les liens jouables des caches Cpasmal et Coflix contre les rafraîchissements vides ou concurrents
- fiabilise la sélection des saisons FStream et améliore le matching DarkiWorld par TMDB, titre et année
- simplifie les nouvelles URL TMDB tout en conservant le décodage des anciens identifiants encodés
- corrige l’opacité des icônes SVG dans toute l’interface en séparant la couleur de leur niveau d’opacité
- met à jour le Dockerfile vers Node.js 22 et installe uniquement les dépendances runtime du workspace Hono
- ajoute le workspace server avec ses dépendances dédiées et un arrêt gracieux sur SIGTERM/SIGINT
- accélère le healthcheck Docker et évite de recopier tous les node_modules du builder dans l’image finale
- retire les migrations et créations de tables automatiques au démarrage de la Main API au profit de db:init
- attribue un port CycleTLS distinct à chaque worker pour éviter les conflits en mode cluster
- ajoute des tests de non-régression pour KissKH, les caches de sources, CycleTLS et le Cast Android
- publie Android 2.5.8 build 17 avec le nouvel APK
- met à jour les extensions Chrome 1.3.13 et Firefox 1.5.10

Co-authored-by: GPT-5.6 Sol <noreply@openai.com>
2026-08-03 21:37:41 +02:00
..
Mainapi feat: ajoute KissKH et fiabilise les sources, les sous-titres et le Cast — Android 2.5.8 2026-08-03 21:37:41 +02:00
miscs tird release 2026-04-28 17:55:00 +02:00
proxiesembed feat: ajoute KissKH et fiabilise les sources, les sous-titres et le Cast — Android 2.5.8 2026-08-03 21:37:41 +02:00
watchpartyAPI tird release 2026-04-28 17:55:00 +02:00
README.md feat: synchronise le repo privé — Cast, sources, API et mobile 2.5.7 2026-08-02 12:09:37 +02:00

Services backend Movix

Le dossier API/ regroupe les services serveurs du projet. Le point clé à retenir : le backend applicatif actif est API/Mainapi/. Le vieux backend directement posé sous API/ n'est plus la référence.

Movix ne tourne pas sur un seul serveur monolithique. Selon la feature, le frontend peut parler au backend principal, à la WatchParty, à un proxy Python, à un worker Cloudflare ou à un outil navigateur.

Carte rapide

Dossier Rôle Lancement Documentation
API/Mainapi/ Cœur applicatif : auth, sync, scraping, social, VIP, Live TV cd API/Mainapi && npm run dev README
API/watchpartyAPI/ Service temps réel WatchParty node API/watchpartyAPI/watchparty.js README
API/proxiesembed/ Proxy aiohttp pour embeds, flux et DRM cd API/proxiesembed && python server.py README
API/miscs/ Micro-service Flask pour certains 403 cd API/miscs && python bypass403.py README

Setup minimal

Toutes les commandes suivantes partent de la racine du dépôt et reviennent explicitement à celle-ci entre les services.

Configurer les .env

Avant de lancer les services backend, crée et renseigne leurs fichiers de configuration :

cp API/Mainapi/.env.example API/Mainapi/.env
cp API/watchpartyAPI/.env.example API/watchpartyAPI/.env
cp API/proxiesembed/.env.example API/proxiesembed/.env
cp API/miscs/.env.example API/miscs/.env

Configure au minimum API/Mainapi/.env avant d'initialiser son schéma MySQL.

# Backend principal
cd API/Mainapi
npm install
npm run db:init
cd ../..

db:init initialise ou complète le schéma MainAPI. Sur une base existante, et pour les grandes tables Wrapped, il demande des confirmations : lis les avertissements du README MainAPI avant de continuer.

# Services Python
cd API/proxiesembed
pip install -r requirements.txt

cd ../miscs
pip install flask requests python-dotenv
cd ../..

Note utile :

  • API/watchpartyAPI/ n'a pas son propre package.json ; il utilise les dépendances racine.
  • API/Mainapi/ garde ses dépendances Node.
  • Il n'y a pas de workspace tooling pour tout orchestrer d'un coup.

Comment lire cette partie du repo

  • Si tu touches auth, profils ou persistance utilisateur, commence par API/Mainapi/app.js et API/Mainapi/routes/.
  • Si tu touches la lecture en groupe, regarde API/watchpartyAPI/watchparty.js en miroir du frontend WatchParty.
  • Si tu touches la lecture vidéo ou les hosters, il faut souvent croiser API/Mainapi/, API/proxiesembed/, API/miscs/ et parfois cloudflareproxy/.

Stockage et dépendances

Selon les services, le backend Movix s'appuie sur :

  • MySQL
  • Redis
  • caches JSON sur disque
  • stockage local en mémoire pour certains services temps réel
  • SQLite et fichiers de data sur quelques briques annexes

Lire ensuite