MovixOpenSource/API
Satanas1275 487a6e1481 fix: remove OAuth tokens from localStorage, add HttpOnly cookie auth
- Stop storing discord_token and google_token in localStorage (XSS risk)
  These tokens are never read, only written; backend already stores them
  server-side in user data files.
- Remove discord_token and google_token from AUTH_KEYS array
- Add cookie-parser middleware to Express app
- Add setAuthCookie() helper to set JWT as HttpOnly; Secure; SameSite=Lax cookie
- Update auth routes (BIP39 register/login, Discord, Google) to set cookie
- Update getAuthIfValid() to read JWT from cookie first, then Authorization header
- Add extractJwtFromRequest() helper for dual-mode auth (cookie + header)
- Add GET /api/auth/session endpoint to rehydrate JWT from cookie on page reload
2026-07-02 00:13:41 +02:00
..
Mainapi fix: remove OAuth tokens from localStorage, add HttpOnly cookie auth 2026-07-02 00:13:41 +02:00
miscs tird release 2026-04-28 17:55:00 +02:00
proxiesembed Merge depuis le repo privé après tests 2026-05-03 12:47:41 +02:00
watchpartyAPI tird release 2026-04-28 17:55:00 +02:00
README.md tird release 2026-04-28 17:55:00 +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

Commandes utiles pour préparer le dossier API/ :

# Backend principal
cd API/Mainapi
npm install
# Services Python
cd API/proxiesembed
pip install -r requirements.txt

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

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

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