From 7069fa8ca49507d435963f2a92f3fe1823c535d9 Mon Sep 17 00:00:00 2001 From: 50/50 <80717571+50n50@users.noreply.github.com> Date: Sun, 2 Nov 2025 22:07:12 +0100 Subject: [PATCH] Revert "Update mediafusion/mediafusion.js" This reverts commit 3ddc9b22447f3faf08399f1432b74ccea63ceafc. --- mediafusion/mediafusion.js | 202 +------------------------------------ 1 file changed, 4 insertions(+), 198 deletions(-) diff --git a/mediafusion/mediafusion.js b/mediafusion/mediafusion.js index f539777..cc3c8b1 100644 --- a/mediafusion/mediafusion.js +++ b/mediafusion/mediafusion.js @@ -1,3 +1,4 @@ + // Settings start const preferedQualityOption = "Auto"; // ["Auto", "2160p", "1080p", "720p", "480p"] const debridService = "realdebrid"; // ["realdebrid", "alldebrid", "premiumize", "torbox", "debridlink"] @@ -73,91 +74,6 @@ async function extractDetails(ID) { } } -// Settings start -const preferedQualityOption = "Auto"; // ["Auto", "2160p", "1080p", "720p", "480p"] -const maxResultsPerResolution = 0; -const maxSize = 0; -const cachedOnly = false; // [true, false] -const removeTrash = true; // [true, false] -const resultFormat = "all"; // ["all"] -const debridService = "realdebrid"; // ["realdebrid", "alldebrid", "premiumize", "torbox", "debridlink"] -const debridApiKey = ""; -const debridStreamProxyPassword = ""; -const languagesExclude = ""; -const languagesPreferred = "en"; -const removeRanksUnder = -10000000000; -const allowEnglishInLanguages = false; // [true, false] -const removeUnknownLanguages = false; // [true, false] -// Settings end - -async function searchResults(keyword) { - try { - const moviesresponse = await fetchv2( - "https://v3-cinemeta.strem.io/catalog/movie/top/search=" + encodeURIComponent(keyword) + ".json" - ); - const moviesdata = await moviesresponse.json(); - - const results = moviesdata.metas.map(item => ({ - title: item.name.trim(), - image: item.poster.trim(), - href: "Movie: " + (item.id.startsWith("tt") ? item.id : "") - })); - - const showsresponse = await fetchv2( - "https://v3-cinemeta.strem.io/catalog/series/top/search=" + encodeURIComponent(keyword) + ".json" - ); - const showsdata = await showsresponse.json(); - - const showResults = showsdata.metas.map(item => ({ - title: item.name.trim(), - image: item.poster.trim(), - href: "TV: " + (item.id.startsWith("tt") ? item.id : "") - })); - - results.push(...showResults); - - return JSON.stringify(results); - } catch (err) { - return JSON.stringify([{ - title: "Error", - image: "Error", - href: "Error" - }]); - } -} - -async function extractDetails(ID) { - try { - let decodedID = decodeURIComponent(ID); - let actualID = decodedID; - let type = "movie"; - - if (decodedID.startsWith("Movie: ")) { - actualID = decodedID.replace("Movie: ", ""); - type = "movie"; - } else if (decodedID.startsWith("TV: ")) { - actualID = decodedID.replace("TV: ", ""); - type = "series"; - } - - const url = "https://v3-cinemeta.strem.io/meta/" + type + "/" + actualID + ".json"; - const response = await fetchv2(url); - const data = await response.json(); - - return JSON.stringify([{ - description: data.meta.description || "N/A", - aliases: "N/A", - airdate: data.meta.released || "N/A" - }]); - } catch (err) { - return JSON.stringify([{ - description: "Error", - aliases: "Error", - airdate: "Error" - }]); - } -} - async function extractEpisodes(ID) { let decodedID = decodeURIComponent(ID); let actualID = decodedID; @@ -184,25 +100,15 @@ async function extractEpisodes(ID) { let episodeCounter = 0; for (const video of videos) { - const adjustedSeason = video.season + 1; - if (adjustedSeason !== currentSeason) { - currentSeason = adjustedSeason; + if (video.season !== currentSeason) { + currentSeason = video.season; episodeCounter = 0; } episodeCounter++; - let adjustedId = video.id || ""; - if (adjustedId) { - const idParts = adjustedId.split(':'); - if (idParts.length === 3) { - idParts[1] = String(adjustedSeason); - adjustedId = idParts.join(':'); - } - } - results.push({ - href: "TV: " + adjustedId, + href: "TV: " + (video.id || ""), number: episodeCounter }); } @@ -222,106 +128,6 @@ async function extractEpisodes(ID) { } } -async function extractStreamUrl(ID) { - let decodedID = decodeURIComponent(ID); - let actualID = decodedID; - let type = "movie"; - - if (decodedID.startsWith("Movie: ")) { - actualID = decodedID.replace("Movie: ", ""); - type = "movie"; - } else if (decodedID.startsWith("TV: ")) { - actualID = decodedID.replace("TV: ", ""); - type = "series"; - } - - const config = { - maxResultsPerResolution: maxResultsPerResolution, - maxSize: maxSize, - cachedOnly: cachedOnly, - removeTrash: removeTrash, - resultFormat: [resultFormat], - debridService: debridService, - debridApiKey: debridApiKey, - debridStreamProxyPassword: debridStreamProxyPassword, - languages: { - exclude: languagesExclude ? languagesExclude.split(",").map(s => s.trim()) : [], - preferred: languagesPreferred ? languagesPreferred.split(",").map(s => s.trim()) : ["en"] - }, - resolutions: {}, - options: { - remove_ranks_under: removeRanksUnder, - allow_english_in_languages: allowEnglishInLanguages, - remove_unknown_languages: removeUnknownLanguages - } - }; - const encodedConfig = btoa(JSON.stringify(config)); - - try { - const endpoint = type === "movie" - ? "https://comet.elfhosted.com/" + encodedConfig + "/stream/movie/" + actualID + ".json" - : "https://comet.elfhosted.com/" + encodedConfig + "/stream/series/" + actualID + ".json"; - - const response = await fetchv2(endpoint); - const data = await response.json(); - - if (!data.streams || !Array.isArray(data.streams)) { - return JSON.stringify({ - streams: [], - subtitle: "https://none.com" - }); - } - - const streamsByQuality = { - "2160p": [], - "1080p": [], - "720p": [], - "480p": [] - }; - - for (const stream of data.streams) { - const name = stream.name || ""; - let quality = null; - - if (name.includes("2160p")) quality = "2160p"; - else if (name.includes("1080p")) quality = "1080p"; - else if (name.includes("720p")) quality = "720p"; - else if (name.includes("480p")) quality = "480p"; - - if (quality && streamsByQuality[quality]) { - streamsByQuality[quality].push({ - title: stream.name || "Unknown", - streamUrl: stream.url || "", - headers: {} - }); - } - } - - let results = []; - - if (preferedQualityOption === "Auto") { - results.push(...streamsByQuality["2160p"].slice(0, 5)); - results.push(...streamsByQuality["1080p"].slice(0, 5)); - results.push(...streamsByQuality["720p"].slice(0, 5)); - results.push(...streamsByQuality["480p"].slice(0, 5)); - } else { - if (streamsByQuality[preferedQualityOption]) { - results = streamsByQuality[preferedQualityOption].slice(0, 10); - } - } - - return JSON.stringify({ - streams: results, - subtitle: "https://none.com" - }); - } catch (err) { - return JSON.stringify({ - streams: [], - subtitle: "https://none.com" - }); - } -} - async function extractStreamUrl(ID) { let decodedID = decodeURIComponent(ID); let actualID = decodedID;