Files
vega-providers/dist/cinemaLuxe/episodes.js

1 line
2.0 KiB
JavaScript

var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;try{if(!url.includes("luxelinks")||url.includes("cinemalux")){const res=yield providerContext.axios.get(url,{headers:providerContext.commonHeaders}),encodedLink=null===(_b=res.data.match(/"link":"([^"]+)"/))||void 0===_b?void 0:_b[1];if(encodedLink)url=encodedLink?atob(encodedLink):url;else{const redirectUrlRes=yield fetch("https://cm-decrypt.8man.workers.dev/cinemaluxe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:url})}),redirectUrl=yield redirectUrlRes.json();url=(null==redirectUrl?void 0:redirectUrl.redirectUrl)||url}}const episodeLinks=[];if(url.includes("luxedrive")||url.includes("drive.linkstore"))return episodeLinks.push({title:"Movie",link:url}),episodeLinks;const html=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders})).data;let $=providerContext.cheerio.load(html);return $("a.maxbutton-4,a.maxbutton,.maxbutton-hubcloud,.ep-simple-button").map((i,element)=>{var _a;const title=null===(_a=$(element).text())||void 0===_a?void 0:_a.trim(),link=$(element).attr("href");title&&link&&!title.includes("Batch")&&!title.toLowerCase().includes("zip")&&episodeLinks.push({title:title.replace(/\(\d{4}\)/,"").replace("Download","Movie").replace("⚡","").trim(),link:link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes;