mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 23:51:44 +00:00
1 line
6.5 KiB
JavaScript
1 line
6.5 KiB
JavaScript
"use strict";var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropNames=Object.getOwnPropertyNames,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value:value}):obj[key]=value,__spreadValues=(a,b)=>{for(var prop in b||(b={}))__hasOwnProp.call(b,prop)&&__defNormalProp(a,prop,b[prop]);if(__getOwnPropSymbols)for(var prop of __getOwnPropSymbols(b))__propIsEnum.call(b,prop)&&__defNormalProp(a,prop,b[prop]);return a},__spreadProps=(a,b)=>__defProps(a,__getOwnPropDescs(b)),__name=(target,value)=>__defProp(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),__async=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())}),meta_exports={};__export(meta_exports,{getMeta:()=>getMeta});var 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 __async(this,null,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 console.log("Failed to find server link (data-putload) on watch page."),finalLinks;response=yield axios.get(serverLink,{headers:__spreadProps(__spreadValues({},headers),{Referer:watchUrl})}),$=cheerio.load(response.data);const linkGateUrl=$(".content-pt a button").parent().attr("href");if(!linkGateUrl)return console.log("Failed to find link gate URL on server page."),finalLinks;response=yield axios.get(linkGateUrl,{headers:__spreadProps(__spreadValues({},headers),{Referer:serverLink})}),$=cheerio.load(response.data);const finalDownloadPageUrl=$(".video-container iframe").attr("src");if(!finalDownloadPageUrl)return console.log("Failed to find final download page URL (iframe src)."),finalLinks;response=yield axios.get(finalDownloadPageUrl,{headers:__spreadProps(__spreadValues({},headers),{Referer:linkGateUrl})}),$=cheerio.load(response.data);const cdnLinkUrl=$(".content-pt a button").parent().attr("href");if(!cdnLinkUrl)return console.log("Failed to find CDN link URL on final download page."),finalLinks;response=yield axios.get(cdnLinkUrl,{headers:__spreadProps(__spreadValues({},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){console.error("Error during link chaining:",error)}return finalLinks})}__name(getDownloadLinks,"getDownloadLinks");var getMeta=__name(function(_0){return __async(this,arguments,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:__spreadProps(__spreadValues({},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"))?_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 console.log("getMeta error:",err),emptyResult}})},"getMeta");exports.getMeta=getMeta; |