mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 23:51:44 +00:00
1 line
4.9 KiB
JavaScript
1 line
4.9 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.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,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","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"xla=s4t; _ga=GA1.1.1081149560.1756378968; _ga_BLZGKYN5PF=GS2.1.s1756378968$o1$g1$t1756378984$j44$l0$h0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"};function getDownloadLinks(watchUrl,movieTitle,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios,cheerio:cheerio}=providerContext,finalLinks=[];try{let response=yield axios.get(watchUrl,{headers:headers}),$=cheerio.load(response.data);const serverLink=$('li[data-server="3"][data-putload]').attr("data-putload");if(!serverLink)return finalLinks;response=yield axios.get(serverLink,{headers:Object.assign(Object.assign({},headers),{Referer:watchUrl})}),$=cheerio.load(response.data);const linkGateUrl=$(".content-pt a button").parent().attr("href");if(!linkGateUrl)return finalLinks;response=yield axios.get(linkGateUrl,{headers:Object.assign(Object.assign({},headers),{Referer:serverLink})}),$=cheerio.load(response.data);const finalDownloadPageUrl=$(".video-container iframe").attr("src");if(!finalDownloadPageUrl)return finalLinks;response=yield axios.get(finalDownloadPageUrl,{headers:Object.assign(Object.assign({},headers),{Referer:linkGateUrl})}),$=cheerio.load(response.data);const cdnLinkUrl=$(".content-pt a button").parent().attr("href");if(!cdnLinkUrl)return finalLinks;response=yield axios.get(cdnLinkUrl,{headers:Object.assign(Object.assign({},headers),{Referer:finalDownloadPageUrl})}),$=cheerio.load(response.data),$('button[onclick^="download_video"]').each((_,element)=>{const qualityText=$(element).text().trim(),qualityMatch=qualityText.match(/(Normal|Low)\squality/i),quality=qualityMatch?qualityMatch[1]:"Unknown",sizeMatch=qualityText.match(/(\d+(\.\d+)?\s(GB|MB))$/i),size=sizeMatch?sizeMatch[0]:"Unknown Size";finalLinks.push({title:`${movieTitle} - ${qualityText}`,quality:quality,episodesLink:cdnLinkUrl,directLinks:[{title:`Download (${size})`,link:cdnLinkUrl,type:"movie"}]})})}catch(error){}return finalLinks})}const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),emptyResult={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};try{const response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),detailEl=$(".main-detail"),result={title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]};result.title=detailEl.find(".detail-mod h3").text().trim()||detailEl.find(".breadcrumb .active span[itemprop='name']").text().trim().replace("(Tamil)","").trim()||$("title").text().split("|")[0].trim(),result.image=detailEl.find(".dm-thumb img").attr("src")||"",result.image.startsWith("//")&&(result.image="https:"+result.image),result.synopsis=detailEl.find(".desc p").text().trim()||"Synopsis not found.",result.imdbId=detailEl.find("#imdb_id").text().trim(),result.type="movie";detailEl.find(".mvici-right .quality a").text().trim();let finalLinks=[];const watchLinkUrl=detailEl.find(".ch_btn_box a.bwac-btn").attr("href");if(watchLinkUrl){const deepDownloadLinks=yield getDownloadLinks(watchLinkUrl,result.title,providerContext);finalLinks=finalLinks.concat(deepDownloadLinks)}return detailEl.find(".mobile-btn a.mod-btn").each((index,element)=>{var _a;const btnEl=$(element),linkUrl=btnEl.attr("href"),rawTitle=null!==(_a=btnEl.attr("title"))&&void 0!==_a?_a:"",fallbackTitle=btnEl.text().trim(),title=rawTitle.trim()||fallbackTitle;title.includes("Download Android APP")||linkUrl&&(title.includes("Download")||title.includes("Watch")||title.includes("Join Us"))&&finalLinks.push({title:`${result.title} - ${title}`,quality:"External Link",episodesLink:linkUrl,directLinks:[{title:title,link:linkUrl,type:"movie"}]})}),result.linkList=finalLinks,result}catch(err){return emptyResult}})};exports.getMeta=getMeta; |