MovixOpenSource/package.json
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

115 lines
4 KiB
JSON

{
"name": "streaming-site",
"private": true,
"version": "0.1.0",
"type": "module",
"workspaces": [
"server"
],
"scripts": {
"dev": "vite",
"build": "vite build",
"build:cf": "vite build",
"build:coolify": "vite build",
"build:report": "vite build && node scripts/bundle-report.mjs",
"lint": "eslint .",
"preview": "vite preview",
"start": "node server/index.js",
"start:coolify": "node server/index.js",
"dev:server": "node server/index.js",
"app:publish": "node scripts/publish-app.mjs",
"wasm:watchparty-sync:setup": "rustup target add wasm32-unknown-unknown && cargo install wasm-bindgen-cli",
"wasm:watchparty-sync:build": "cargo build --manifest-path wasm/watchparty-sync/Cargo.toml --target wasm32-unknown-unknown --release && wasm-bindgen --target web --out-dir public/wasm/watchparty-sync wasm/watchparty-sync/target/wasm32-unknown-unknown/release/watchparty_sync.wasm",
"wasm:watchparty-sync:build:dev": "cargo build --manifest-path wasm/watchparty-sync/Cargo.toml --target wasm32-unknown-unknown && wasm-bindgen --target web --out-dir public/wasm/watchparty-sync wasm/watchparty-sync/target/wasm32-unknown-unknown/debug/watchparty_sync.wasm"
},
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@emoji-mart/data": "^1.2.1",
"@emoji-mart/react": "^1.1.1",
"@fontsource/archivo-black": "^5.2.8",
"@fontsource/inter": "^5.2.8",
"@headlessui/react": "^2.2.0",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tooltip": "^1.2.8",
"@tanstack/react-virtual": "^3.13.24",
"axios": "^1.13.2",
"bootstrap-icons": "^1.13.1",
"canvas-confetti": "^1.9.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dashjs": "^5.1.1",
"date-fns": "^4.1.0",
"embla-carousel": "^8.6.0",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
"emoji-mart": "^5.6.0",
"file-saver": "^2.0.5",
"framer-motion": "11.11.10",
"hls.js": "^1.6.16",
"i18next": "^25.8.10",
"i18next-browser-languagedetector": "^8.2.1",
"jszip": "^3.10.1",
"lenis": "^1.3.23",
"lucide-react": "^0.344.0",
"mpegts.js": "^1.8.0",
"pako": "^2.1.0",
"qrcode": "^1.5.4",
"react": "^18.3.1",
"react-colorful": "^5.6.1",
"react-country-flag": "^3.1.0",
"react-dom": "^18.3.1",
"react-force-graph-2d": "^1.29.1",
"react-helmet-async": "^2.0.5",
"react-i18next": "^16.5.4",
"react-input-mask": "^2.0.4",
"react-loading-skeleton": "^3.5.0",
"react-markdown": "^10.1.0",
"react-router-dom": "^6.22.3",
"react-snowfall": "^2.4.0",
"recharts": "^3.8.1",
"remark-emoji": "^5.0.1",
"remark-gfm": "^4.0.1",
"shaka-player": "^5.0.0",
"socket.io-client": "^4.8.1",
"sonner": "^2.0.7",
"tailwind-merge": "^3.4.0",
"tailwindcss-animate": "^1.0.7",
"uuid": "^11.1.0",
"video.js": "^8.23.4",
"web-haptics": "^0.0.6"
},
"devDependencies": {
"@eslint/js": "^9.9.1",
"@types/file-saver": "^2.0.7",
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"@types/react-input-mask": "^3.0.6",
"@types/uuid": "^10.0.0",
"@types/video.js": "^7.3.58",
"@vitejs/plugin-basic-ssl": "^2.3.0",
"@vitejs/plugin-react": "^6.0.1",
"autoprefixer": "^10.4.18",
"eslint": "^9.9.1",
"eslint-plugin-react-hooks": "^5.1.0-rc.0",
"eslint-plugin-react-refresh": "^0.4.11",
"eslint-plugin-unused-imports": "^4.3.0",
"globals": "^15.9.0",
"postcss": "^8.4.35",
"rollup-plugin-visualizer": "^7.0.1",
"tailwindcss": "^3.4.1",
"typescript": "^5.5.3",
"typescript-eslint": "^8.3.0",
"vite": "^8.0.11",
"wrangler": "^4.15.1"
},
"overrides": {
"framer-motion": "11.11.10",
"es-toolkit": "1.39.3"
}
}