diff --git a/1movies/1movies.js b/1movies/1movies.js index 2175be4..fa3894c 100644 --- a/1movies/1movies.js +++ b/1movies/1movies.js @@ -112,16 +112,9 @@ async function extractEpisodes(movieUrl) { const episodeRegex = /]+eid="([^"]+)"[^>]+num="([^"]+)"[^>]*>/g; const episodeMatches = [...cleanedHtml.matchAll(episodeRegex)]; - const episodeTokenPromises = episodeMatches.map(([_, episodeToken]) => { - const apiUrl = `https://enc-dec.app/api/enc-movies-flix?text=${episodeToken}`; - return fetchv2(apiUrl).then(response => response.json()); - }); - - const episodeTokenResults = await Promise.all(episodeTokenPromises); - - const episodes = episodeMatches.map(([_, episodeToken, episodeNum], index) => ({ + const episodes = episodeMatches.map(([_, episodeToken, episodeNum]) => ({ number: parseInt(episodeNum, 10), - href: `https://1movies.bz/ajax/links/list?eid=${episodeToken}&_=${episodeTokenResults[index].result}` + href: `https://1movies.bz/ajax/links/list?eid=${episodeToken}&_=ENCRYPT_ME` })); return JSON.stringify(episodes); @@ -136,6 +129,15 @@ async function extractEpisodes(movieUrl) { async function extractStreamUrl(url) { try { + const eidMatch = url.match(/eid=([^&]+)/); + if (eidMatch && eidMatch[1]) { + const rawEpisodeToken = eidMatch[1]; + const encryptResponse = await fetchv2(`https://enc-dec.app/api/enc-movies-flix?text=${rawEpisodeToken}`); + const encryptData = await encryptResponse.json(); + const encryptedToken = encryptData.result; + url = url.replace('&_=ENCRYPT_ME', `&_=${encryptedToken}`); + } + const fetchUrl = `${url}`; const response = await fetchv2(fetchUrl); const responseData = await response.json();