Files
vega-providers/dist/mod/stream.js

1 line
6.2 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.getStream=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","sec-ch-ua":'"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate",Cookie:"popads_user_id=6ba8fe60a481387a3249f05aa058822d","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"},getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c;const{axios:axios,cheerio:cheerio}=providerContext;try{const modGetEpisodeLinks=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext;try{url.includes("url=")&&(url=atob(url.split("url=")[1]));const html=(yield axios.get(url)).data;let $=cheerio.load(html);if(url.includes("url=")){const newUrl=null===(_b=$("meta[http-equiv='refresh']").attr("content"))||void 0===_b?void 0:_b.split("url=")[1],html2=(yield axios.get(newUrl||url)).data;$=cheerio.load(html2)}const episodeLinks=[];return $("h3,h4").map((i,element)=>{const seriesTitle=$(element).text(),episodesLink=$(element).find("a").attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),$("a.maxbutton").map((i,element)=>{const seriesTitle=$(element).children("span").text(),episodesLink=$(element).attr("href");episodesLink&&"#"!==episodesLink&&episodeLinks.push({title:seriesTitle.trim()||"No title found",link:episodesLink||""})}),episodeLinks}catch(err){return[]}})};if("movie"===type){url=(yield modGetEpisodeLinks({url:url,providerContext:providerContext}))[0].link||url}let downloadLink=yield modExtractor(url,providerContext);const ddl=(null===(_c=null===(_b=null==downloadLink?void 0:downloadLink.data)||void 0===_b?void 0:_b.match(/content="0;url=(.*?)"/))||void 0===_c?void 0:_c[1])||url,servers=[],driveLink=yield isDriveLink(ddl),driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const resumeBot=$drive(".btn.btn-light").attr("href")||"",resumeBotRes=yield axios.get(resumeBot,{headers:headers}),resumeBotToken=resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1],resumeBotBody=new FormData;resumeBotBody.append("token",resumeBotToken);const resumeBotPath=resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1],resumeBotBaseUrl=resumeBot.split("/download")[0],resumeBotDownload=yield fetch(resumeBotBaseUrl+"/download?id="+resumeBotPath,{method:"POST",body:resumeBotBody,headers:{Referer:resumeBot,Cookie:"PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308"}}),resumeBotDownloadData=yield resumeBotDownload.json();servers.push({server:"ResumeBot",link:resumeBotDownloadData.url,type:"mkv"})}catch(err){}try{$drive(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Resume Worker "+(i+1),link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=1",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 1."+i,link:link,type:"mkv"})})}catch(err){}try{const cfWorkersLink=driveLink.replace("/file","/wfile")+"?type=2",cfWorkersHtml=(yield axios.get(cfWorkersLink,{headers:headers})).data,$cfWorkers=cheerio.load(cfWorkersHtml);$cfWorkers(".btn-success").each((i,el)=>{var _a;const link=null===(_a=el.attribs)||void 0===_a?void 0:_a.href;link&&servers.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}try{const seed=$drive(".btn-danger").attr("href")||"",newLinkRes=yield fetch(seed,{method:"HEAD",headers:headers,redirect:"manual"});let newLink=seed;newLink=newLinkRes.status>=300&&newLinkRes.status<400?newLinkRes.headers.get("location")||seed:newLinkRes.url&&newLinkRes.url!==seed?newLinkRes.url||newLinkRes.url:newLinkRes.headers.get("location")||seed,servers.push({server:"Gdrive-Instant-2",link:(null==newLink?void 0:newLink.split("?url=")[1])||newLink,type:"mkv"})}catch(err){}return servers}catch(err){return[]}})};exports.getStream=getStream;const isDriveLink=ddl=>__awaiter(void 0,void 0,void 0,function*(){if(ddl.includes("drive")){const driveLeach=yield fetch(ddl),pathMatch=(yield driveLeach.text()).match(/window\.location\.replace\("([^"]+)"\)/),path=null==pathMatch?void 0:pathMatch[1];return`https://${ddl.split("/")[2]}${path}`}return ddl});function modExtractor(url,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext;try{const wpHttp=url.split("sid=")[1];var bodyFormData0=new FormData;bodyFormData0.append("_wp_http",wpHttp);const res=yield fetch(url.split("?")[0],{method:"POST",body:bodyFormData0}),html=yield res.text(),$=cheerio.load(html),wpHttp2=$("input").attr("name","_wp_http2").val();var bodyFormData=new FormData;bodyFormData.append("_wp_http2",wpHttp2);const formUrl=$("form").attr("action")||url.split("?")[0],res2=yield fetch(formUrl,{method:"POST",body:bodyFormData}),link=(yield res2.text()).match(/setAttribute\("href",\s*"(.*?)"/)[1],cookie=link.split("=")[1];return yield axios.get(link,{headers:{Referer:formUrl,Cookie:`${cookie}=${wpHttp2}`}})}catch(err){}})}