MovixOpenSource/API/Mainapi/services/kisskh/approvedAlgorithms.js
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

37 lines
1.2 KiB
JavaScript

const BUNDLE_SHA256 = '85b3dba9a8bf81abd48cbdd7d6d44e33a418c57830acac7f53f2c0211660d501';
const approvedKkeyV1 = Object.freeze({
algorithmVersion: 'kkey-v1',
bundleSha256: BUNDLE_SHA256,
moduleSha256: 'cffbf97c8caa4e2663dc800c50fb19a7459d4f74bfa215789160371b996aad27',
keyHex: '4f6bdaa39e2f8cb07f5e722d9edef314',
ivHex: '01504af356e619cf2e42bba68c3f70f9',
fixedMarker: 'mg3c3b04ba',
appVersion: '2.8.10',
platformVersion: 4830201,
environmentFields: Object.freeze(['kisskh', 'kisskh', 'kisskh', 'kisskh', 'kisskh', 'kisskh']),
contexts: Object.freeze({
episode: Object.freeze({
contextId: '62f176f3bb1b5b8e70e39932ad34a0c7',
expectedLength: 256,
}),
sub: Object.freeze({
contextId: 'VgV52sWhwvBSf8BsM3BRY9weWiiCbtGp',
expectedLength: 256,
}),
}),
subtitleCiphers: Object.freeze({
a1: Object.freeze({
keyBase64: 'ODA1NjQ4MzY0NjMyODc2Mw==',
ivBase64: 'Njg1MjYxMjM3MDE4NTI3Mw==',
}),
a3: Object.freeze({
keyBase64: 'c1dPRFhYMDRRUlRrSGRsWg==',
ivBase64: 'OHB3aGFwSmVDNGhyUzloTw==',
}),
}),
});
const APPROVED_ALGORITHMS = new Map([[BUNDLE_SHA256, approvedKkeyV1]]);
module.exports = { APPROVED_ALGORITHMS };