From 40dab1cbacc6b8564f1fe81d68877fbc66b5e0d0 Mon Sep 17 00:00:00 2001 From: aka paul <50n50@noreply.localhost> Date: Fri, 7 Nov 2025 16:13:03 +0000 Subject: [PATCH] Update mapple/mapple.js --- mapple/mapple.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mapple/mapple.js b/mapple/mapple.js index ad23324..a111fbb 100644 --- a/mapple/mapple.js +++ b/mapple/mapple.js @@ -190,6 +190,18 @@ async function extractEpisodes(url) { } async function extractStreamUrl(ID) { + const chunkResponse = await soraFetch(atob("aHR0cHM6Ly9tYXBwbGUudWsvX25leHQvc3RhdGljL2NodW5rcy8yODk3LWE0ZTFmMDFkYmE5ZDRkMzcuanM=")); + const chunkText = await chunkResponse.text(); + + const actionMatch = chunkText.match(/createServerReference\)\("([a-f0-9]{40,})"[^"]*"getStreamUrl/); + const actionIdentifier = actionMatch ? actionMatch[1] : null; + + if (!actionIdentifier) { + throw new Error("Failed to extract action identifier from chunk file"); + } + + console.log("Action Identifier: " + actionIdentifier); + const sessionResponse = await soraFetch("https://enc-dec.app/api/enc-mapple"); const sessionData = await sessionResponse.json(); console.log("Session Data: " + JSON.stringify(sessionData)); @@ -200,7 +212,7 @@ async function extractStreamUrl(ID) { const tmdbID = match ? match[1] : ''; const headers = { "Content-Type": "text/plain", - "next-action": "4067783bff09863112a9a148953f77cd8fa3d8d72a" + "next-action": actionIdentifier }; const postData = `[{"mediaId":${tmdbID},"mediaType":"movie","tv_slug":"","source":"mapple","useFallbackVideo":false,"sessionId":"${sessionID}"}]`; const response = await fetchv2("https://mapple.uk/watch/"+ ID, headers, "POST", postData); @@ -255,7 +267,7 @@ async function extractStreamUrl(ID) { const headers = { "Content-Type": "text/plain", - "next-action": "4067783bff09863112a9a148953f77cd8fa3d8d72a" + "next-action": actionIdentifier }; const postData = `[{"mediaId":${tmdbID},"mediaType":"tv","tv_slug":"${seasonNumber}-${episodeNumber}","source":"mapple","useFallbackVideo":false,"sessionId":"${sessionID}"}]`; const response = await fetchv2("https://mapple.uk/watch/"+ ID, headers, "POST", postData);