diff --git a/dist/4khdhub/catalog.js b/dist/4khdhub/catalog.js index 44e9eae..55b6bcc 100644 --- a/dist/4khdhub/catalog.js +++ b/dist/4khdhub/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Popular Movies", - filter: "/category/new-movies-10810.html", - }, - { - title: "Latest TV Shows", - filter: "/category/new-series-10811.html", - }, - { - title: "Anime", - filter: "/category/anime-10812.html", - }, - { - title: "4K HDR", - filter: "/category/4k-hdr-10776.html", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular Movies",filter:"/category/new-movies-10810.html"},{title:"Latest TV Shows",filter:"/category/new-series-10811.html"},{title:"Anime",filter:"/category/anime-10812.html"},{title:"4K HDR",filter:"/category/4k-hdr-10776.html"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/4khdhub/meta.js b/dist/4khdhub/meta.js index f0ac9e0..8bf9eab 100644 --- a/dist/4khdhub/meta.js +++ b/dist/4khdhub/meta.js @@ -1,97 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { axios, cheerio, getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("4khdhub"); - const url = `${baseUrl}${link}`; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const type = $(".season-content").length > 0 ? "series" : "movie"; - const imdbId = ""; - const title = $(".page-title").text() || ""; - const image = $(".poster-image").find("img").attr("src") || ""; - const synopsis = $(".content-section").find("p").first().text().trim() || ""; - // Links - const links = []; - if (type === "series") { - $(".season-item").map((i, element) => { - const title = $(element).find(".episode-title").text(); - let directLinks = []; - $(element) - .find(".episode-download-item") - .map((i, element) => { - const title = $(element) - .find(".episode-file-info") - .text() - .trim() - .replace("\n", " "); - const link = $(element) - .find(".episode-links") - .find("a:contains('HubDrive')") - .attr("href"); - console.log("title⭐", title, "link", link); - if (title && link) { - directLinks.push({ title, link }); - } - }); - if (title && directLinks.length > 0) { - links.push({ - title, - directLinks: directLinks, - }); - } - }); - } - else { - $(".download-item").map((i, element) => { - const title = $(element) - .find(".flex-1.text-left.font-semibold") - .text() - .trim(); - const link = $(element) - .find(".grid.grid-cols-2.gap-2") - .find("a:contains('HubDrive')") - .attr("href"); - // console.log("title⭐", title, "link", link); - if (title && link) { - links.push({ title, directLinks: [{ title, link }] }); - } - }); - } - // console.log('multi meta', links); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("4khdhub")}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".season-content").length>0?"series":"movie",imdbId="",title=$(".page-title").text()||"",image=$(".poster-image").find("img").attr("src")||"",synopsis=$(".content-section").find("p").first().text().trim()||"",links=[];return"series"===type?$(".season-item").map((i,element)=>{const title=$(element).find(".episode-title").text();let directLinks=[];$(element).find(".episode-download-item").map((i,element)=>{const title=$(element).find(".episode-file-info").text().trim().replace("\n"," "),link=$(element).find(".episode-links").find("a:contains('HubDrive')").attr("href");title&&link&&directLinks.push({title:title,link:link})}),title&&directLinks.length>0&&links.push({title:title,directLinks:directLinks})}):$(".download-item").map((i,element)=>{const title=$(element).find(".flex-1.text-left.font-semibold").text().trim(),link=$(element).find(".grid.grid-cols-2.gap-2").find("a:contains('HubDrive')").attr("href");title&&link&&links.push({title:title,directLinks:[{title:title,link:link}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/4khdhub/posts.js b/dist/4khdhub/posts.js index c40cb17..b3a4096 100644 --- a/dist/4khdhub/posts.js +++ b/dist/4khdhub/posts.js @@ -1,68 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("4khdhub"); - const url = `${baseUrl + filter}/page/${page}.html`; - console.log("4khdhubGetPosts url", url); - return posts({ url, signal, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("4khdhub"); - const url = `${baseUrl}/page/${page}.html?s=${searchQuery}`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, cheerio, }) { - try { - const res = yield fetch(url, { signal }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $(".card-grid") - .children() - .map((i, element) => { - const title = $(element).find(".movie-card-title").text(); - const link = $(element).attr("href"); - const image = $(element).find("img").attr("src"); - // console.log( - // "4khdhubGetPosts title", - // title, - // "link", - // link, - // "image", - // image - // ); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("4khdhubGetPosts error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("4khdhub"))+filter}/page/${page}.html`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("4khdhub")}/page/${page}.html?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".card-grid").children().map((i,element)=>{const title=$(element).find(".movie-card-title").text(),link=$(element).attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/4khdhub/stream.js b/dist/4khdhub/stream.js index 3d9790b..e246f96 100644 --- a/dist/4khdhub/stream.js +++ b/dist/4khdhub/stream.js @@ -1,164 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = getStream; -exports.getRedirectLinks = getRedirectLinks; -exports.decodeString = decodeString; -function getStream(_a) { - return __awaiter(this, arguments, void 0, function* ({ link, signal, providerContext, }) { - var _b, _c, _d, _e; - const { axios, cheerio, extractors, commonHeaders: headers, } = providerContext; - const { hubcloudExtracter } = extractors; - let hubdriveLink = ""; - if (link.includes("hubdrive")) { - const hubdriveRes = yield axios.get(link, { headers, signal }); - const hubdriveText = hubdriveRes.data; - const $ = cheerio.load(hubdriveText); - hubdriveLink = - $(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href") || link; - } - else { - const res = yield axios.get(link, { headers, signal }); - const text = res.data; - const encryptedString = (_d = (_c = (_b = text.split("s('o','")) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c.split("',180")) === null || _d === void 0 ? void 0 : _d[0]; - const decodedString = decodeString(encryptedString); - link = atob(decodedString === null || decodedString === void 0 ? void 0 : decodedString.o); - const redirectLink = yield getRedirectLinks(link, signal, headers); - const redirectLinkRes = yield axios.get(redirectLink, { headers, signal }); - const redirectLinkText = redirectLinkRes.data; - const $ = cheerio.load(redirectLinkText); - hubdriveLink = - $('h3:contains("1080p")').find("a").attr("href") || - redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1]; - if (hubdriveLink.includes("hubdrive")) { - const hubdriveRes = yield axios.get(hubdriveLink, { headers, signal }); - const hubdriveText = hubdriveRes.data; - const $$ = cheerio.load(hubdriveText); - hubdriveLink = - $$(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href") || - hubdriveLink; - } - } - const hubdriveLinkRes = yield axios.get(hubdriveLink, { headers, signal }); - const hubcloudText = hubdriveLinkRes.data; - const hubcloudLink = ((_e = hubcloudText.match(//i)) === null || _e === void 0 ? void 0 : _e[1]) || hubdriveLink; - try { - return yield hubcloudExtracter(hubcloudLink, signal); - } - catch (error) { - console.log("hd hub 4 getStream error: ", error); - return []; - } - }); -} -const encode = function (value) { - return btoa(value.toString()); -}; -const decode = function (value) { - if (value === undefined) { - return ""; - } - return atob(value.toString()); -}; -const pen = function (value) { - return value.replace(/[a-zA-Z]/g, function (_0x1a470e) { - return String.fromCharCode((_0x1a470e <= "Z" ? 90 : 122) >= - (_0x1a470e = _0x1a470e.charCodeAt(0) + 13) - ? _0x1a470e - : _0x1a470e - 26); - }); -}; -const abortableTimeout = (ms, { signal } = {}) => { - return new Promise((resolve, reject) => { - if (signal && signal.aborted) { - return reject(new Error("Aborted")); - } - const timer = setTimeout(resolve, ms); - if (signal) { - signal.addEventListener("abort", () => { - clearTimeout(timer); - reject(new Error("Aborted")); - }); - } - }); -}; -function getRedirectLinks(link, signal, headers) { - return __awaiter(this, void 0, void 0, function* () { - try { - const res = yield fetch(link, { headers, signal }); - const resText = yield res.text(); - var regex = /ck\('_wp_http_\d+','([^']+)'/g; - var combinedString = ""; - var match; - while ((match = regex.exec(resText)) !== null) { - // console.log(match[1]); - combinedString += match[1]; - } - // console.log(decode(combinedString)); - const decodedString = decode(pen(decode(decode(combinedString)))); - // console.log(decodedString); - const data = JSON.parse(decodedString); - console.log(data); - const token = encode(data === null || data === void 0 ? void 0 : data.data); - const blogLink = (data === null || data === void 0 ? void 0 : data.wp_http1) + "?re=" + token; - // abort timeout on signal - let wait = abortableTimeout((Number(data === null || data === void 0 ? void 0 : data.total_time) + 3) * 1000, { - signal, - }); - yield wait; - console.log("blogLink", blogLink); - let vcloudLink = "Invalid Request"; - while (vcloudLink.includes("Invalid Request")) { - const blogRes = yield fetch(blogLink, { headers, signal }); - const blogResText = (yield blogRes.text()); - if (blogResText.includes("Invalid Request")) { - console.log(blogResText); - } - else { - vcloudLink = blogResText.match(/var reurl = "([^"]+)"/) || ""; - break; - } - } - // console.log('vcloudLink', vcloudLink?.[1]); - return blogLink || link; - } - catch (err) { - console.log("Error in getRedirectLinks", err); - return link; - } - }); -} -function rot13(str) { - return str.replace(/[a-zA-Z]/g, function (char) { - const charCode = char.charCodeAt(0); - const isUpperCase = char <= "Z"; - const baseCharCode = isUpperCase ? 65 : 97; - return String.fromCharCode(((charCode - baseCharCode + 13) % 26) + baseCharCode); - }); -} -function decodeString(encryptedString) { - try { - // First base64 decode - let decoded = atob(encryptedString); - // Second base64 decode - decoded = atob(decoded); - // ROT13 decode - decoded = rot13(decoded); - // Third base64 decode - decoded = atob(decoded); - // Parse JSON - return JSON.parse(decoded); - } - catch (error) { - console.error("Error decoding string:", error); - return null; - } -} +"use strict";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())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:headers}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers),redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(//i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtracter(hubcloudLink,signal)}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{headers:headers,signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}} \ No newline at end of file diff --git a/dist/autoEmbed/catalog.js b/dist/autoEmbed/catalog.js index 8499593..deea42f 100644 --- a/dist/autoEmbed/catalog.js +++ b/dist/autoEmbed/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Popular Movies", - filter: "/top/catalog/movie/top.json", - }, - { - title: "Popular TV Shows", - filter: "/top/catalog/series/top.json", - }, - { - title: "Featured Movies", - filter: "/imdbRating/catalog/movie/imdbRating.json", - }, - { - title: "Featured TV Shows", - filter: "/imdbRating/catalog/series/imdbRating.json", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular Movies",filter:"/top/catalog/movie/top.json"},{title:"Popular TV Shows",filter:"/top/catalog/series/top.json"},{title:"Featured Movies",filter:"/imdbRating/catalog/movie/imdbRating.json"},{title:"Featured TV Shows",filter:"/imdbRating/catalog/series/imdbRating.json"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/autoEmbed/meta.js b/dist/autoEmbed/meta.js index 6349003..5cee539 100644 --- a/dist/autoEmbed/meta.js +++ b/dist/autoEmbed/meta.js @@ -1,99 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; - const axios = providerContext.axios; - try { - console.log("all", link); - const res = yield axios.get(link); - const data = res.data; - const meta = { - title: "", - synopsis: "", - image: "", - imdbId: ((_b = data === null || data === void 0 ? void 0 : data.meta) === null || _b === void 0 ? void 0 : _b.imdb_id) || "", - type: ((_c = data === null || data === void 0 ? void 0 : data.meta) === null || _c === void 0 ? void 0 : _c.type) || "movie", - }; - const links = []; - let directLinks = []; - let season = new Map(); - if (meta.type === "series") { - (_e = (_d = data === null || data === void 0 ? void 0 : data.meta) === null || _d === void 0 ? void 0 : _d.videos) === null || _e === void 0 ? void 0 : _e.map((video) => { - var _a, _b, _c, _d, _e, _f, _g, _h; - if ((video === null || video === void 0 ? void 0 : video.season) <= 0) - return; - if (!season.has(video === null || video === void 0 ? void 0 : video.season)) { - season.set(video === null || video === void 0 ? void 0 : video.season, []); - } - season.get(video === null || video === void 0 ? void 0 : video.season).push({ - title: "Episode " + (video === null || video === void 0 ? void 0 : video.episode), - type: "series", - link: JSON.stringify({ - title: (_a = data === null || data === void 0 ? void 0 : data.meta) === null || _a === void 0 ? void 0 : _a.name, - imdbId: (_b = data === null || data === void 0 ? void 0 : data.meta) === null || _b === void 0 ? void 0 : _b.imdb_id, - season: (_c = video === null || video === void 0 ? void 0 : video.id) === null || _c === void 0 ? void 0 : _c.split(":")[1], - episode: (_d = video === null || video === void 0 ? void 0 : video.id) === null || _d === void 0 ? void 0 : _d.split(":")[2], - type: (_e = data === null || data === void 0 ? void 0 : data.meta) === null || _e === void 0 ? void 0 : _e.type, - tmdbId: ((_g = (_f = data === null || data === void 0 ? void 0 : data.meta) === null || _f === void 0 ? void 0 : _f.moviedb_id) === null || _g === void 0 ? void 0 : _g.toString()) || "", - year: (_h = data === null || data === void 0 ? void 0 : data.meta) === null || _h === void 0 ? void 0 : _h.year, - }), - }); - }); - const keys = Array.from(season.keys()); - keys.sort(); - keys.map((key) => { - directLinks = season.get(key); - links.push({ - title: `Season ${key}`, - directLinks: directLinks, - }); - }); - } - else { - console.log("all meta Mv🔥🔥", meta); - links.push({ - title: (_f = data === null || data === void 0 ? void 0 : data.meta) === null || _f === void 0 ? void 0 : _f.name, - directLinks: [ - { - title: "Movie", - type: "movie", - link: JSON.stringify({ - title: (_g = data === null || data === void 0 ? void 0 : data.meta) === null || _g === void 0 ? void 0 : _g.name, - imdbId: (_h = data === null || data === void 0 ? void 0 : data.meta) === null || _h === void 0 ? void 0 : _h.imdb_id, - season: "", - episode: "", - type: (_j = data === null || data === void 0 ? void 0 : data.meta) === null || _j === void 0 ? void 0 : _j.type, - tmdbId: ((_l = (_k = data === null || data === void 0 ? void 0 : data.meta) === null || _k === void 0 ? void 0 : _k.moviedb_id) === null || _l === void 0 ? void 0 : _l.toString()) || "", - year: (_m = data === null || data === void 0 ? void 0 : data.meta) === null || _m === void 0 ? void 0 : _m.year, - }), - }, - ], - }); - } - return Object.assign(Object.assign({}, meta), { linkList: links }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:"",synopsis:"",image:"",imdbId:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id)||"",type:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_e=null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.videos)||void 0===_e||_e.map(video=>{var _a,_b,_c,_d,_e,_f,_g,_h;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:JSON.stringify({title:null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.name,imdbId:null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id,season:null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[1],episode:null===(_d=null==video?void 0:video.id)||void 0===_d?void 0:_d.split(":")[2],type:null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.type,tmdbId:(null===(_g=null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.moviedb_id)||void 0===_g?void 0:_g.toString())||"",year:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.year})}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.name,directLinks:[{title:"Movie",type:"movie",link:JSON.stringify({title:null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.name,imdbId:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.imdb_id,season:"",episode:"",type:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.type,tmdbId:(null===(_l=null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.moviedb_id)||void 0===_l?void 0:_l.toString())||"",year:null===(_m=null==data?void 0:data.meta)||void 0===_m?void 0:_m.year})}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/autoEmbed/posts.js b/dist/autoEmbed/posts.js index ead2e6d..1573358 100644 --- a/dist/autoEmbed/posts.js +++ b/dist/autoEmbed/posts.js @@ -1,102 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) { - try { - const catalog = []; - const url = "https://cinemeta-catalogs.strem.io" + filter; - console.log("allGetPostUrl", url); - const res = yield providerContext.axios.get(url, { - headers: providerContext.commonHeaders, - signal, - }); - const data = res.data; - data === null || data === void 0 ? void 0 : data.metas.map((result) => { - const title = result === null || result === void 0 ? void 0 : result.name; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const type = result === null || result === void 0 ? void 0 : result.type; - const image = result === null || result === void 0 ? void 0 : result.poster; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - console.log("catalog", catalog.length); - return catalog; - } - catch (err) { - console.error("AutoEmbed error ", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, - // providerValue, - signal, providerContext, }) { - try { - if (page > 1) { - return []; - } - const catalog = []; - const url1 = `https://v3-cinemeta.strem.io/catalog/series/top/search=${encodeURI(searchQuery)}.json`; - const url2 = `https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`; - const res = yield providerContext.axios.get(url1, { - headers: providerContext.commonHeaders, - signal, - }); - const data = res.data; - data === null || data === void 0 ? void 0 : data.metas.map((result) => { - const title = result.name || ""; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const image = result === null || result === void 0 ? void 0 : result.poster; - const type = result === null || result === void 0 ? void 0 : result.type; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - const res2 = yield providerContext.axios.get(url2, { - headers: providerContext.commonHeaders, - signal, - }); - const data2 = res2.data; - data2 === null || data2 === void 0 ? void 0 : data2.metas.map((result) => { - const title = (result === null || result === void 0 ? void 0 : result.name) || ""; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const image = result === null || result === void 0 ? void 0 : result.poster; - const type = result === null || result === void 0 ? void 0 : result.type; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("AutoEmbed error ", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{if(page>1)return[];const catalog=[],url1=`https://v3-cinemeta.strem.io/catalog/series/top/search=${encodeURI(searchQuery)}.json`,url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data=(yield providerContext.axios.get(url1,{headers:providerContext.commonHeaders,signal:signal})).data;null==data||data.metas.map(result=>{const title=result.name||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})});const data2=(yield providerContext.axios.get(url2,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/autoEmbed/stream.js b/dist/autoEmbed/stream.js index 0a8259b..e6366c8 100644 --- a/dist/autoEmbed/stream.js +++ b/dist/autoEmbed/stream.js @@ -1,234 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -exports.getRiveStream = getRiveStream; -const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link: id, type, providerContext, }) { - try { - const streams = []; - const { imdbId, season, episode, title, tmdbId, year } = JSON.parse(id); - yield getRiveStream(tmdbId, episode, season, type, streams, providerContext); - return streams; - } - catch (err) { - console.error(err); - return []; - } -}); -exports.getStream = getStream; -function getRiveStream(tmdId, episode, season, type, Streams, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const secret = generateSecretKey(Number(tmdId)); - const servers = [ - "flowcast", - "shadow", - "asiacloud", - "hindicast", - "anime", - "animez", - "guard", - "curve", - "hq", - "ninja", - "alpha", - "kaze", - "zenesis", - "genesis", - "zenith", - "ghost", - "halo", - "kinoecho", - "ee3", - "volt", - "putafilme", - "ophim", - "kage", - ]; - const baseUrl = yield providerContext.getBaseUrl("rive"); - const cors = process.env.CORS_PRXY ? process.env.CORS_PRXY + "?url=" : ""; - console.log("CORS: " + cors); - const route = type === "series" - ? `/api/backendfetch?requestID=tvVideoProvider&id=${tmdId}&season=${season}&episode=${episode}&secretKey=${secret}&service=` - : `/api/backendfetch?requestID=movieVideoProvider&id=${tmdId}&secretKey=${secret}&service=`; - const url = cors - ? cors + encodeURIComponent(baseUrl + route) - : baseUrl + route; - yield Promise.all(servers.map((server) => __awaiter(this, void 0, void 0, function* () { - var _a, _b, _c, _d, _e, _f; - console.log("Rive: " + url + server); - try { - const res = yield providerContext.axios.get(url + server, { - timeout: 4000, - headers: providerContext.commonHeaders, - }); - const subtitles = []; - if ((_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.captions) { - (_d = (_c = res.data) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.captions.forEach((sub) => { - var _a, _b; - subtitles.push({ - language: ((_a = sub === null || sub === void 0 ? void 0 : sub.label) === null || _a === void 0 ? void 0 : _a.slice(0, 2)) || "Und", - uri: sub === null || sub === void 0 ? void 0 : sub.file, - title: (sub === null || sub === void 0 ? void 0 : sub.label) || "Undefined", - type: ((_b = sub === null || sub === void 0 ? void 0 : sub.file) === null || _b === void 0 ? void 0 : _b.endsWith(".vtt")) - ? "text/vtt" - : "application/x-subrip", - }); - }); - } - (_f = (_e = res.data) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.sources.forEach((source) => { - Streams.push({ - server: (source === null || source === void 0 ? void 0 : source.source) + "-" + (source === null || source === void 0 ? void 0 : source.quality), - link: source === null || source === void 0 ? void 0 : source.url, - type: (source === null || source === void 0 ? void 0 : source.format) === "hls" ? "m3u8" : "mp4", - quality: source === null || source === void 0 ? void 0 : source.quality, - subtitles: subtitles, - }); - }); - } - catch (e) { - console.log(e); - } - }))); - }); -} -function generateSecretKey(id) { - // Array of secret key fragments - updated array from the new implementation - const c = [ - "Yhv40uKAZa", - "nn8YU4yBA", - "uNeH", - "ehK", - "jT0", - "n5G", - "99R", - "MvB1M", - "DQtPCh", - "GBRjk4k4I", - "CzIOoa95UT", - "BLE8s", - "GDZlc7", - "Fz45T", - "JW6lWn", - "DE3g4uw0i", - "18KxmYizv", - "8ji", - "JUDdNMnZ", - "oGpBippPgm", - "7De8Pg", - "Zv6", - "VHT9TVN", - "bYH6m", - "aK1", - "WcWH6jU", - "Q47YEMi4k", - "vRD3A", - "CGOsfJO", - "BLn8", - "RgK0drv7l", - "oPTfGCn3a", - "MkpMDkttW9", - "VNI1fPM", - "XNFi6", - "6cq", - "4LvTksXoEI", - "1rRa2KOZB0", - "zoOGRb8HT2", - "mhcXDtvz", - "NUmexFY2Ur", - "6BIMdvSZ", - "Tr0zU2vjRd", - "QPR", - "fhOqJR", - "R9VnFY", - "xkZ99D6S", - "umY7E", - "5Ds8qyDq", - "Cc6jy09y3", - "yvU3iR", - "Bg07zY", - "GccECglg", - "VYd", - "6vOiXqz", - "7xX", - "UdRrbEzF", - "fE6wc", - "BUd25Rb", - "lxq5Zum89o", - ]; - // Handle undefined input - if (id === undefined) { - return "rive"; - } - try { - let fragment, insertPos; - // Convert input to string - const idStr = String(id); - // Updated string hash function to match the new implementation - /* eslint-disable no-bitwise */ - const generateStringHash = function (input) { - input = String(input); - let hash = 0; - for (let i = 0; i < input.length; i++) { - const char = input.charCodeAt(i); - hash = - ((char + (hash << 6) + (hash << 16) - hash) ^ (char << i % 5)) >>> 0; - } - hash ^= hash >>> 13; - hash = (1540483477 * hash) >>> 0; - return (hash ^= hash >>> 15).toString(16).padStart(8, "0"); - }; - // Updated MurmurHash-like function to match the new implementation - const applyMurmurHash = function (input) { - const str = String(input); - let hash = 3735928559 ^ str.length; - for (let i = 0; i < str.length; i++) { - let char = str.charCodeAt(i); - char ^= ((i + 31) * 131) & 255; - hash = - (668265261 * - (hash = (((hash << 7) | (hash >>> 25)) >>> 0) ^ char)) >>> - 0; - } - hash ^= hash >>> 16; - hash = (2246822507 * hash) >>> 0; - hash ^= hash >>> 13; - hash = (3266489909 * hash) >>> 0; - return (hash ^= hash >>> 16).toString(16).padStart(8, "0"); - }; - /* eslint-enable no-bitwise */ - // Generate the encoded hash using the new implementation - const encodedHash = btoa(applyMurmurHash(generateStringHash(idStr))); - // Different handling for non-numeric vs numeric inputs - if (isNaN(Number(id))) { - // For non-numeric inputs, sum the character codes - const charSum = idStr - .split("") - .reduce((sum, char) => sum + char.charCodeAt(0), 0); - // Select array element or fallback to base64 encoded input - fragment = c[charSum % c.length] || btoa(idStr); - // Calculate insertion position - insertPos = Math.floor((charSum % encodedHash.length) / 2); - } - else { - // For numeric inputs, use the number directly - const numId = Number(id); - fragment = c[numId % c.length] || btoa(idStr); - // Calculate insertion position - insertPos = Math.floor((numId % encodedHash.length) / 2); - } - // Construct the final key by inserting the selected value into the base64 string - return (encodedHash.slice(0, insertPos) + fragment + encodedHash.slice(insertPos)); - } - catch (error) { - // Return fallback value if any errors occur - return "topSecret"; - } -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0,exports.getRiveStream=getRiveStream;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,type:type,providerContext:providerContext}){try{const streams=[],{imdbId:imdbId,season:season,episode:episode,title:title,tmdbId:tmdbId,year:year}=JSON.parse(id);return yield getRiveStream(tmdbId,episode,season,type,streams,providerContext),streams}catch(err){return[]}});function getRiveStream(tmdId,episode,season,type,Streams,providerContext){return __awaiter(this,void 0,void 0,function*(){const secret=generateSecretKey(Number(tmdId)),baseUrl=yield providerContext.getBaseUrl("rive"),cors=process.env.CORS_PRXY?process.env.CORS_PRXY+"?url=":"",route="series"===type?`/api/backendfetch?requestID=tvVideoProvider&id=${tmdId}&season=${season}&episode=${episode}&secretKey=${secret}&service=`:`/api/backendfetch?requestID=movieVideoProvider&id=${tmdId}&secretKey=${secret}&service=`,url=cors?cors+encodeURIComponent(baseUrl+route):baseUrl+route;yield Promise.all(["flowcast","shadow","asiacloud","hindicast","anime","animez","guard","curve","hq","ninja","alpha","kaze","zenesis","genesis","zenith","ghost","halo","kinoecho","ee3","volt","putafilme","ophim","kage"].map(server=>__awaiter(this,void 0,void 0,function*(){var _a,_b,_c,_d,_e,_f;try{const res=yield providerContext.axios.get(url+server,{timeout:4e3,headers:providerContext.commonHeaders}),subtitles=[];(null===(_b=null===(_a=res.data)||void 0===_a?void 0:_a.data)||void 0===_b?void 0:_b.captions)&&(null===(_d=null===(_c=res.data)||void 0===_c?void 0:_c.data)||void 0===_d||_d.captions.forEach(sub=>{var _a,_b;subtitles.push({language:(null===(_a=null==sub?void 0:sub.label)||void 0===_a?void 0:_a.slice(0,2))||"Und",uri:null==sub?void 0:sub.file,title:(null==sub?void 0:sub.label)||"Undefined",type:(null===(_b=null==sub?void 0:sub.file)||void 0===_b?void 0:_b.endsWith(".vtt"))?"text/vtt":"application/x-subrip"})})),null===(_f=null===(_e=res.data)||void 0===_e?void 0:_e.data)||void 0===_f||_f.sources.forEach(source=>{Streams.push({server:(null==source?void 0:source.source)+"-"+(null==source?void 0:source.quality),link:null==source?void 0:source.url,type:"hls"===(null==source?void 0:source.format)?"m3u8":"mp4",quality:null==source?void 0:source.quality,subtitles:subtitles})})}catch(e){}})))})}function generateSecretKey(id){const c=["Yhv40uKAZa","nn8YU4yBA","uNeH","ehK","jT0","n5G","99R","MvB1M","DQtPCh","GBRjk4k4I","CzIOoa95UT","BLE8s","GDZlc7","Fz45T","JW6lWn","DE3g4uw0i","18KxmYizv","8ji","JUDdNMnZ","oGpBippPgm","7De8Pg","Zv6","VHT9TVN","bYH6m","aK1","WcWH6jU","Q47YEMi4k","vRD3A","CGOsfJO","BLn8","RgK0drv7l","oPTfGCn3a","MkpMDkttW9","VNI1fPM","XNFi6","6cq","4LvTksXoEI","1rRa2KOZB0","zoOGRb8HT2","mhcXDtvz","NUmexFY2Ur","6BIMdvSZ","Tr0zU2vjRd","QPR","fhOqJR","R9VnFY","xkZ99D6S","umY7E","5Ds8qyDq","Cc6jy09y3","yvU3iR","Bg07zY","GccECglg","VYd","6vOiXqz","7xX","UdRrbEzF","fE6wc","BUd25Rb","lxq5Zum89o"];if(void 0===id)return"rive";try{let fragment,insertPos;const idStr=String(id),encodedHash=btoa(function(input){const str=String(input);let hash=3735928559^str.length;for(let i=0;i>>25)>>>0^char)>>>0}return hash^=hash>>>16,hash=2246822507*hash>>>0,hash^=hash>>>13,hash=3266489909*hash>>>0,(hash^=hash>>>16).toString(16).padStart(8,"0")}(function(input){input=String(input);let hash=0;for(let i=0;i>>0}return hash^=hash>>>13,hash=1540483477*hash>>>0,(hash^=hash>>>15).toString(16).padStart(8,"0")}(idStr)));if(isNaN(Number(id))){const charSum=idStr.split("").reduce((sum,char)=>sum+char.charCodeAt(0),0);fragment=c[charSum%c.length]||btoa(idStr),insertPos=Math.floor(charSum%encodedHash.length/2)}else{const numId=Number(id);fragment=c[numId%c.length]||btoa(idStr),insertPos=Math.floor(numId%encodedHash.length/2)}return encodedHash.slice(0,insertPos)+fragment+encodedHash.slice(insertPos)}catch(error){return"topSecret"}}exports.getStream=getStream; \ No newline at end of file diff --git a/dist/cinemaLuxe/catalog.js b/dist/cinemaLuxe/catalog.js index ec0859c..d0bbc98 100644 --- a/dist/cinemaLuxe/catalog.js +++ b/dist/cinemaLuxe/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Trending", - filter: "/genre/latest-trending-releases/", - }, - { - title: "Netflix", - filter: "/network/netflix/", - }, - { - title: "Amazon Prime", - filter: "/network/prime-video/", - }, - { - title: "Animation", - filter: "/genre/anime/", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/genre/latest-trending-releases/"},{title:"Netflix",filter:"/network/netflix/"},{title:"Amazon Prime",filter:"/network/prime-video/"},{title:"Animation",filter:"/genre/anime/"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/cinemaLuxe/episodes.js b/dist/cinemaLuxe/episodes.js index ae8fc2d..9c3fc54 100644 --- a/dist/cinemaLuxe/episodes.js +++ b/dist/cinemaLuxe/episodes.js @@ -1,77 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - var _b; - try { - if (!url.includes("luxelinks") || url.includes("cinemalux")) { - const res = yield providerContext.axios.get(url, { - headers: providerContext.commonHeaders, - }); - const data = res.data; - const encodedLink = (_b = data.match(/"link":"([^"]+)"/)) === null || _b === void 0 ? void 0 : _b[1]; - if (encodedLink) { - url = encodedLink ? atob(encodedLink) : url; - } - else { - const redirectUrlRes = yield fetch("https://ext.8man.me/api/cinemaluxe", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ url }), - }); - const redirectUrl = yield redirectUrlRes.json(); - url = (redirectUrl === null || redirectUrl === void 0 ? void 0 : redirectUrl.redirectUrl) || url; - } - } - const episodeLinks = []; - if (url.includes("luxedrive") || url.includes("drive.linkstore")) { - episodeLinks.push({ - title: "Movie", - link: url, - }); - return episodeLinks; - } - const res = yield providerContext.axios.get(url, { - headers: providerContext.commonHeaders, - }); - const html = res.data; - let $ = providerContext.cheerio.load(html); - $("a.maxbutton-4,a.maxbutton,.maxbutton-hubcloud,.ep-simple-button").map((i, element) => { - var _a; - const title = (_a = $(element).text()) === null || _a === void 0 ? void 0 : _a.trim(); - const link = $(element).attr("href"); - if (title && - link && - !title.includes("Batch") && - !title.toLowerCase().includes("zip")) { - episodeLinks.push({ - title: title - .replace(/\(\d{4}\)/, "") - .replace("Download", "Movie") - .replace("⚡", "") - .trim(), - link, - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error("cl episode links", err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),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://ext.8man.me/api/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; \ No newline at end of file diff --git a/dist/cinemaLuxe/meta.js b/dist/cinemaLuxe/meta.js index 2b376c9..54bf517 100644 --- a/dist/cinemaLuxe/meta.js +++ b/dist/cinemaLuxe/meta.js @@ -1,106 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const url = link; - const res = yield providerContext.axios.get(url, { - headers: providerContext.commonHeaders, - }); - const data = res.data; - const $ = providerContext.cheerio.load(data); - const type = url.includes("tvshows") ? "series" : "movie"; - const imdbId = ""; - const title = url.split("/")[4].replace(/-/g, " "); - const image = $(".g-item").find("a").attr("href") || ""; - const synopsis = $(".wp-content").text().trim(); - const tags = $(".sgeneros") - .children() - .map((i, element) => $(element).text()) - .get() - .slice(3); - const rating = Number($("#repimdb").find("strong").text()) - .toFixed(1) - .toString(); - const links = []; - $(".custom-links") - .find(".ep-button-container") - .map((i, element) => { - var _a; - const title = $(element) - .text() - .replace("\u2b07Download", "") - .replace("\u2b07 Download", "") - .trim(); - const link = $(element).find("a").attr("href"); - if (title && link) { - links.push({ - title, - episodesLink: link, - quality: ((_a = title === null || title === void 0 ? void 0 : title.match(/\d+P\b/)) === null || _a === void 0 ? void 0 : _a[0].replace("P", "p")) || "", - }); - } - }); - if (links.length === 0) { - $(".ep-button-container:not(:has(a:contains('Click Here To Visit')))").map((i, element) => { - var _a; - let title = $(element) - .find("a") - .text() - .replace("\u2b07Download", "") - .replace("\u2b07 Download", "") - .trim(); - if (title.includes("Download Now")) { - title = $(element) - .parent() - .find("h3") - .text() - .trim() - .replace("\u2b07Download", "") - .replace("\u2b07 Download", ""); - } - const link = $(element).find("a").attr("href"); - if (title && link) { - links.push({ - title, - episodesLink: link, - quality: ((_a = title === null || title === void 0 ? void 0 : title.match(/\d+P\b/)) === null || _a === void 0 ? void 0 : _a[0].replace("P", "p")) || "", - }); - } - }); - } - return { - title, - tags, - rating, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const url=link,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders})).data,$=providerContext.cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=url.split("/")[4].replace(/-/g," "),image=$(".g-item").find("a").attr("href")||"",synopsis=$(".wp-content").text().trim(),tags=$(".sgeneros").children().map((i,element)=>$(element).text()).get().slice(3),rating=Number($("#repimdb").find("strong").text()).toFixed(1).toString(),links=[];return $(".custom-links").find(".ep-button-container").map((i,element)=>{var _a;const title=$(element).text().replace("⬇Download","").replace("⬇ Download","").trim(),link=$(element).find("a").attr("href");title&&link&&links.push({title:title,episodesLink:link,quality:(null===(_a=null==title?void 0:title.match(/\d+P\b/))||void 0===_a?void 0:_a[0].replace("P","p"))||""})}),0===links.length&&$(".ep-button-container:not(:has(a:contains('Click Here To Visit')))").map((i,element)=>{var _a;let title=$(element).find("a").text().replace("⬇Download","").replace("⬇ Download","").trim();title.includes("Download Now")&&(title=$(element).parent().find("h3").text().trim().replace("⬇Download","").replace("⬇ Download",""));const link=$(element).find("a").attr("href");title&&link&&links.push({title:title,episodesLink:link,quality:(null===(_a=null==title?void 0:title.match(/\d+P\b/))||void 0===_a?void 0:_a[0].replace("P","p"))||""})}),{title:title,tags:tags,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/cinemaLuxe/posts.js b/dist/cinemaLuxe/posts.js index 15fc613..34180c1 100644 --- a/dist/cinemaLuxe/posts.js +++ b/dist/cinemaLuxe/posts.js @@ -1,70 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const baseUrl = yield providerContext.getBaseUrl("cinemaLuxe"); - const url = `${baseUrl + filter}page/${page}/`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const baseUrl = yield providerContext.getBaseUrl("cinemaLuxe"); - const url = `${baseUrl}/page/${page}/?s=${searchQuery}`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, providerContext, }) { - try { - const res = yield fetch(url, { - headers: providerContext.commonHeaders, - signal, - }); - const data = yield res.text(); - const $ = providerContext.cheerio.load(data); - const catalog = []; - $(".item.tvshows,.item.movies").map((i, element) => { - const title = $(element).find(".poster").find("img").attr("alt"); - const link = $(element).find(".poster").find("a").attr("href"); - const image = $(element).find(".poster").find("img").attr("data-src"); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - $(".result-item").map((i, element) => { - const title = $(element).find(".thumbnail").find("img").attr("alt"); - const link = $(element).find(".thumbnail").find("a").attr("href"); - const image = $(element).find(".thumbnail").find("img").attr("data-src"); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("cinemaluxe error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){return posts({url:`${(yield providerContext.getBaseUrl("cinemaLuxe"))+filter}page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){return posts({url:`${yield providerContext.getBaseUrl("cinemaLuxe")}/page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){try{const res=yield fetch(url,{headers:providerContext.commonHeaders,signal:signal}),data=yield res.text(),$=providerContext.cheerio.load(data),catalog=[];return $(".item.tvshows,.item.movies").map((i,element)=>{const title=$(element).find(".poster").find("img").attr("alt"),link=$(element).find(".poster").find("a").attr("href"),image=$(element).find(".poster").find("img").attr("data-src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),$(".result-item").map((i,element)=>{const title=$(element).find(".thumbnail").find("img").attr("alt"),link=$(element).find(".thumbnail").find("a").attr("href"),image=$(element).find(".thumbnail").find("img").attr("data-src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/cinemaLuxe/stream.js b/dist/cinemaLuxe/stream.js index b99abbd..3d2c9fa 100644 --- a/dist/cinemaLuxe/stream.js +++ b/dist/cinemaLuxe/stream.js @@ -1,78 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link, signal, providerContext, }) { - var _b; - try { - let newLink = link; - console.log("getStream 1", link); - if (link.includes("linkstore")) { - console.log("linkstore detected"); - const res = yield fetch(link, { - signal, - 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", - "accept-language": "en-US,en;q=0.9,en-IN;q=0.8", - "cache-control": "no-cache", - pragma: "no-cache", - priority: "u=0, i", - "sec-ch-ua": '"Microsoft Edge";v="137", "Chromium";v="137", "Not/A)Brand";v="24"', - "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", - "upgrade-insecure-requests": "1", - cookie: "PHPSESSID=9o57cff841dqtv8djtn1rp1712; ext_name=ojplmecpdpgccookcobabopnaifgidhf", - }, - }); - const html = yield res.text(); - const refreshMetaMatch = html.match(/__awaiter(void 0,[_a],void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b;try{let newLink=link;if(link.includes("linkstore")){const res=yield fetch(link,{signal:signal,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","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache",pragma:"no-cache",priority:"u=0, i","sec-ch-ua":'"Microsoft Edge";v="137", "Chromium";v="137", "Not/A)Brand";v="24"',"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","upgrade-insecure-requests":"1",cookie:"PHPSESSID=9o57cff841dqtv8djtn1rp1712; ext_name=ojplmecpdpgccookcobabopnaifgidhf"}}),refreshMetaMatch=(yield res.text()).match(/ genre === null || genre === void 0 ? void 0 : genre.name)) || []; - const links = []; - if (type === "series") { - (_d = data === null || data === void 0 ? void 0 : data.season) === null || _d === void 0 ? void 0 : _d.map((season) => { - var _a; - const title = (season === null || season === void 0 ? void 0 : season.seasons_name) || ""; - const directLinks = ((_a = season === null || season === void 0 ? void 0 : season.episodes) === null || _a === void 0 ? void 0 : _a.map((episode) => ({ - title: episode === null || episode === void 0 ? void 0 : episode.episodes_name, - link: episode === null || episode === void 0 ? void 0 : episode.file_url, - }))) || []; - links.push({ - title: title, - directLinks: directLinks, - }); - }); - } - else { - (_e = data === null || data === void 0 ? void 0 : data.videos) === null || _e === void 0 ? void 0 : _e.map((video) => { - links.push({ - title: title + " " + (video === null || video === void 0 ? void 0 : video.label), - directLinks: [ - { - title: "Play", - link: video === null || video === void 0 ? void 0 : video.file_url, - }, - ], - }); - }); - } - return { - image: (image === null || image === void 0 ? void 0 : image.includes("https")) ? image : image === null || image === void 0 ? void 0 : image.replace("http", "https"), - synopsis: synopsis, - title: title, - rating: rating, - imdbId: "", - cast: cast, - tags: tags, - type: type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const headers={"Accept-Encoding":"gzip","API-KEY":"2pm95lc6prpdbk0ppji9rsqo",Connection:"Keep-Alive","If-Modified-Since":"Wed, 14 Aug 2024 13:00:04 GMT","User-Agent":"okhttp/3.14.9"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e;try{const{axios:axios}=providerContext,resData=(yield axios.get(link,{headers:headers})).data,jsonStart=null==resData?void 0:resData.indexOf("{"),jsonEnd=(null==resData?void 0:resData.lastIndexOf("}"))+1,data=(null===(_b=null===JSON||void 0===JSON?void 0:JSON.parse(null==resData?void 0:resData.substring(jsonStart,jsonEnd)))||void 0===_b?void 0:_b.title)?null===JSON||void 0===JSON?void 0:JSON.parse(null==resData?void 0:resData.substring(jsonStart,jsonEnd)):resData,title=(null==data?void 0:data.title)||"",synopsis=(null==data?void 0:data.description)||"",image=(null==data?void 0:data.poster_url)||"",cast=(null==data?void 0:data.cast)||[],rating=(null==data?void 0:data.imdb_rating)||"",type=Number(null==data?void 0:data.is_tvseries)?"series":"movie",tags=(null===(_c=null==data?void 0:data.genre)||void 0===_c?void 0:_c.map(genre=>null==genre?void 0:genre.name))||[],links=[];return"series"===type?null===(_d=null==data?void 0:data.season)||void 0===_d||_d.map(season=>{var _a;const title=(null==season?void 0:season.seasons_name)||"",directLinks=(null===(_a=null==season?void 0:season.episodes)||void 0===_a?void 0:_a.map(episode=>({title:null==episode?void 0:episode.episodes_name,link:null==episode?void 0:episode.file_url})))||[];links.push({title:title,directLinks:directLinks})}):null===(_e=null==data?void 0:data.videos)||void 0===_e||_e.map(video=>{links.push({title:title+" "+(null==video?void 0:video.label),directLinks:[{title:"Play",link:null==video?void 0:video.file_url}]})}),{image:(null==image?void 0:image.includes("https"))?image:null==image?void 0:image.replace("http","https"),synopsis:synopsis,title:title,rating:rating,imdbId:"",cast:cast,tags:tags,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/dooflix/posts.js b/dist/dooflix/posts.js index 8662c08..b5214ed 100644 --- a/dist/dooflix/posts.js +++ b/dist/dooflix/posts.js @@ -1,154 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const headers = { - "Accept-Encoding": "gzip", - "API-KEY": "2pm95lc6prpdbk0ppji9rsqo", - Connection: "Keep-Alive", - "If-Modified-Since": "Wed, 14 Aug 2024 13:00:04 GMT", - "User-Agent": "okhttp/3.14.9", -}; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - try { - const { axios, getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("dooflix"); - const catalog = []; - const url = `${baseUrl + filter + `?page=${page}`}`; - const res = yield axios.get(url, { headers, signal }); - const resData = res.data; - if (!resData || typeof resData !== "string") { - console.warn("Unexpected response format from dooflix API"); - return []; - } - let data; - try { - const jsonStart = resData.indexOf("["); - const jsonEnd = resData.lastIndexOf("]") + 1; - if (jsonStart === -1 || jsonEnd <= jsonStart) { - // If we can't find valid JSON array markers, try parsing the entire response - data = JSON.parse(resData); - } - else { - const jsonSubstring = resData.substring(jsonStart, jsonEnd); - const parsedArray = JSON.parse(jsonSubstring); - data = parsedArray.length > 0 ? parsedArray : resData; - } - } - catch (parseError) { - console.error("Error parsing dooflix response:", parseError); - return []; - } - if (!Array.isArray(data)) { - console.warn("Unexpected data format from dooflix API"); - return []; - } - data.forEach((result) => { - const id = result === null || result === void 0 ? void 0 : result.videos_id; - if (!id) - return; - const type = !(result === null || result === void 0 ? void 0 : result.is_tvseries) ? "tvseries" : "movie"; - const link = `${baseUrl}/rest-api//v130/single_details?type=${type}&id=${id}`; - const thumbnailUrl = result === null || result === void 0 ? void 0 : result.thumbnail_url; - const image = (thumbnailUrl === null || thumbnailUrl === void 0 ? void 0 : thumbnailUrl.includes("https")) - ? thumbnailUrl - : thumbnailUrl === null || thumbnailUrl === void 0 ? void 0 : thumbnailUrl.replace("http", "https"); - catalog.push({ - title: (result === null || result === void 0 ? void 0 : result.title) || "", - link, - image, - }); - }); - return catalog; - } - catch (err) { - console.error("dooflix error:", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, providerContext, signal, }) { - var _b, _c; - try { - if (page > 1) { - return []; - } - const { axios, getBaseUrl } = providerContext; - const catalog = []; - const baseUrl = yield getBaseUrl("dooflix"); - const url = `${baseUrl}/rest-api//v130/search?q=${searchQuery}&type=movietvserieslive&range_to=0&range_from=0&tv_category_id=0&genre_id=0&country_id=0`; - const res = yield axios.get(url, { headers, signal }); - const resData = res.data; - if (!resData || typeof resData !== "string") { - console.warn("Unexpected search response format from dooflix API"); - return []; - } - let data; - try { - const jsonStart = resData.indexOf("{"); - const jsonEnd = resData.lastIndexOf("}") + 1; - if (jsonStart === -1 || jsonEnd <= jsonStart) { - data = resData; - } - else { - const jsonSubstring = resData.substring(jsonStart, jsonEnd); - const parsedData = JSON.parse(jsonSubstring); - data = (parsedData === null || parsedData === void 0 ? void 0 : parsedData.movie) ? parsedData : resData; - } - } - catch (parseError) { - console.error("Error parsing dooflix search response:", parseError); - return []; - } - // Process movies - (_b = data === null || data === void 0 ? void 0 : data.movie) === null || _b === void 0 ? void 0 : _b.forEach((result) => { - const id = result === null || result === void 0 ? void 0 : result.videos_id; - if (!id) - return; - const link = `${baseUrl}/rest-api//v130/single_details?type=movie&id=${id}`; - const thumbnailUrl = result === null || result === void 0 ? void 0 : result.thumbnail_url; - const image = (thumbnailUrl === null || thumbnailUrl === void 0 ? void 0 : thumbnailUrl.includes("https")) - ? thumbnailUrl - : thumbnailUrl === null || thumbnailUrl === void 0 ? void 0 : thumbnailUrl.replace("http", "https"); - catalog.push({ - title: (result === null || result === void 0 ? void 0 : result.title) || "", - link, - image, - }); - }); - // Process TV series - (_c = data === null || data === void 0 ? void 0 : data.tvseries) === null || _c === void 0 ? void 0 : _c.forEach((result) => { - const id = result === null || result === void 0 ? void 0 : result.videos_id; - if (!id) - return; - const link = `${baseUrl}/rest-api//v130/single_details?type=tvseries&id=${id}`; - const thumbnailUrl = result === null || result === void 0 ? void 0 : result.thumbnail_url; - const image = (thumbnailUrl === null || thumbnailUrl === void 0 ? void 0 : thumbnailUrl.includes("https")) - ? thumbnailUrl - : thumbnailUrl === null || thumbnailUrl === void 0 ? void 0 : thumbnailUrl.replace("http", "https"); - catalog.push({ - title: (result === null || result === void 0 ? void 0 : result.title) || "", - link, - image, - }); - }); - return catalog; - } - catch (error) { - console.error("dooflix search error:", error); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const headers={"Accept-Encoding":"gzip","API-KEY":"2pm95lc6prpdbk0ppji9rsqo",Connection:"Keep-Alive","If-Modified-Since":"Wed, 14 Aug 2024 13:00:04 GMT","User-Agent":"okhttp/3.14.9"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("dooflix"),catalog=[],url=""+(baseUrl+filter+`?page=${page}`),resData=(yield axios.get(url,{headers:headers,signal:signal})).data;if(!resData||"string"!=typeof resData)return[];let data;try{const jsonStart=resData.indexOf("["),jsonEnd=resData.lastIndexOf("]")+1;if(-1===jsonStart||jsonEnd<=jsonStart)data=JSON.parse(resData);else{const jsonSubstring=resData.substring(jsonStart,jsonEnd),parsedArray=JSON.parse(jsonSubstring);data=parsedArray.length>0?parsedArray:resData}}catch(parseError){return[]}return Array.isArray(data)?(data.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const type=(null==result?void 0:result.is_tvseries)?"movie":"tvseries",link=`${baseUrl}/rest-api//v130/single_details?type=${type}&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),catalog):[]}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerContext:providerContext,signal:signal}){var _b,_c;try{if(page>1)return[];const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,catalog=[],baseUrl=yield getBaseUrl("dooflix"),url=`${baseUrl}/rest-api//v130/search?q=${searchQuery}&type=movietvserieslive&range_to=0&range_from=0&tv_category_id=0&genre_id=0&country_id=0`,resData=(yield axios.get(url,{headers:headers,signal:signal})).data;if(!resData||"string"!=typeof resData)return[];let data;try{const jsonStart=resData.indexOf("{"),jsonEnd=resData.lastIndexOf("}")+1;if(-1===jsonStart||jsonEnd<=jsonStart)data=resData;else{const jsonSubstring=resData.substring(jsonStart,jsonEnd),parsedData=JSON.parse(jsonSubstring);data=(null==parsedData?void 0:parsedData.movie)?parsedData:resData}}catch(parseError){return[]}return null===(_b=null==data?void 0:data.movie)||void 0===_b||_b.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const link=`${baseUrl}/rest-api//v130/single_details?type=movie&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),null===(_c=null==data?void 0:data.tvseries)||void 0===_c||_c.forEach(result=>{const id=null==result?void 0:result.videos_id;if(!id)return;const link=`${baseUrl}/rest-api//v130/single_details?type=tvseries&id=${id}`,thumbnailUrl=null==result?void 0:result.thumbnail_url,image=(null==thumbnailUrl?void 0:thumbnailUrl.includes("https"))?thumbnailUrl:null==thumbnailUrl?void 0:thumbnailUrl.replace("http","https");catalog.push({title:(null==result?void 0:result.title)||"",link:link,image:image})}),catalog}catch(error){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/dooflix/stream.js b/dist/dooflix/stream.js index 31153e1..0b72e75 100644 --- a/dist/dooflix/stream.js +++ b/dist/dooflix/stream.js @@ -1,51 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, }) { - try { - const streams = []; - const headers = { - Connection: "Keep-Alive", - "User-Agent": "Mozilla/5.0 (WindowsNT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.37", - Referer: "https://molop.art/", - Cookie: "cf_clearance=M2_2Hy4lKRy_ruRX3dzOgm3iho1FHe2DUC1lq28BUtI-1737377622-1.2.1.1-6R8RaH94._H2BuNuotsjTZ3fAF6cLwPII0guemu9A5Xa46lpCJPuELycojdREwoonYS2kRTYcZ9_1c4h4epi2LtDvMM9jIoOZKE9pIdWa30peM1hRMpvffTjGUCraHsJNCJez8S_QZ6XkkdP7GeQ5iwiYaI6Grp6qSJWoq0Hj8lS7EITZ1LzyrALI6iLlYjgLmgLGa1VuhORWJBN8ZxrJIZ_ba_pqbrR9fjnyToqxZ0XQaZfk1d3rZyNWoZUjI98GoAxVjnKtcBQQG6b2jYPJuMbbYraGoa54N7E7BR__7o", - }; - const response = yield fetch(link, { - redirect: "manual", - headers: headers, - }); - if (response.status >= 300 && response.status < 400) { - const redirectLink = response.headers.get("Location"); - if (redirectLink) { - link = redirectLink; - } - } - if (response.url) { - link = response.url; - } - streams.push({ - server: "Dooflix", - link: link, - headers: headers, - type: "m3u8", - }); - console.log("doo streams", streams); - return streams; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){try{const streams=[],headers={Connection:"Keep-Alive","User-Agent":"Mozilla/5.0 (WindowsNT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.37",Referer:"https://molop.art/",Cookie:"cf_clearance=M2_2Hy4lKRy_ruRX3dzOgm3iho1FHe2DUC1lq28BUtI-1737377622-1.2.1.1-6R8RaH94._H2BuNuotsjTZ3fAF6cLwPII0guemu9A5Xa46lpCJPuELycojdREwoonYS2kRTYcZ9_1c4h4epi2LtDvMM9jIoOZKE9pIdWa30peM1hRMpvffTjGUCraHsJNCJez8S_QZ6XkkdP7GeQ5iwiYaI6Grp6qSJWoq0Hj8lS7EITZ1LzyrALI6iLlYjgLmgLGa1VuhORWJBN8ZxrJIZ_ba_pqbrR9fjnyToqxZ0XQaZfk1d3rZyNWoZUjI98GoAxVjnKtcBQQG6b2jYPJuMbbYraGoa54N7E7BR__7o"},response=yield fetch(link,{redirect:"manual",headers:headers});if(response.status>=300&&response.status<400){const redirectLink=response.headers.get("Location");redirectLink&&(link=redirectLink)}return response.url&&(link=response.url),streams.push({server:"Dooflix",link:link,headers:headers,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/drive/catalog.js b/dist/drive/catalog.js index ea3a77d..a57f4d7 100644 --- a/dist/drive/catalog.js +++ b/dist/drive/catalog.js @@ -1,63 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Latest", - filter: "", - }, - { - title: "Anime", - filter: "category/anime/", - }, - { - title: "Netflix", - filter: "category/netflix/", - }, - { - title: "4K", - filter: "category/2160p-4k/", - }, -]; -exports.genres = [ - { - title: "Action", - filter: "/category/action", - }, - { - title: "Crime", - filter: "/category/crime", - }, - { - title: "Comedy", - filter: "/category/comedy", - }, - { - title: "Drama", - filter: "/category/drama", - }, - { - title: "Horror", - filter: "/category/horror", - }, - { - title: "Family", - filter: "/category/family", - }, - { - title: "Sci-Fi", - filter: "/category/sifi", - }, - { - title: "Thriller", - filter: "/category/triller", - }, - { - title: "Romance", - filter: "/category/romance", - }, - { - title: "Fight", - filter: "/category/fight", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Anime",filter:"category/anime/"},{title:"Netflix",filter:"category/netflix/"},{title:"4K",filter:"category/2160p-4k/"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file diff --git a/dist/drive/episodes.js b/dist/drive/episodes.js index f207389..9511214 100644 --- a/dist/drive/episodes.js +++ b/dist/drive/episodes.js @@ -1,45 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - try { - const { axios, cheerio } = providerContext; - const res = yield axios.get(url); - const html = res.data; - let $ = cheerio.load(html); - const episodeLinks = []; - $('a:contains("HubCloud")').map((i, element) => { - const title = $(element).parent().prev().text(); - const link = $(element).attr("href"); - if (link && (title.includes("Ep") || title.includes("Download"))) { - episodeLinks.push({ - title: title.includes("Download") ? "Play" : title, - link, - }); - } - }); - // console.log(episodeLinks); - return episodeLinks; - } - catch (err) { - console.error(err); - return [ - { - title: "Server 1", - link: url, - }, - ]; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('a:contains("HubCloud")').map((i,element)=>{const title=$(element).parent().prev().text(),link=$(element).attr("href");link&&(title.includes("Ep")||title.includes("Download"))&&episodeLinks.push({title:title.includes("Download")?"Play":title,link:link})}),episodeLinks}catch(err){return[{title:"Server 1",link:url}]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/drive/meta.js b/dist/drive/meta.js index 2e4bc21..2c05c51 100644 --- a/dist/drive/meta.js +++ b/dist/drive/meta.js @@ -1,85 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const type = $(".left-wrapper") - .text() - .toLocaleLowerCase() - .includes("movie name") - ? "movie" - : "series"; - const imdbId = ((_b = $('a:contains("IMDb")').attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || ""; - const title = $(".left-wrapper").find('strong:contains("Name")').next().text() || - $(".left-wrapper") - .find('strong:contains("Name"),h5:contains("Name")') - .find("span:first") - .text(); - const synopsis = $(".left-wrapper") - .find('h2:contains("Storyline"),h3:contains("Storyline"),h5:contains("Storyline"),h4:contains("Storyline"),h4:contains("STORYLINE")') - .next() - .text() || - $(".ipc-html-content-inner-div").text() || - ""; - const image = $("img.entered.lazyloaded,img.entered,img.litespeed-loaded").attr("src") || - $("img.aligncenter").attr("src") || - ""; - // Links - const links = []; - $('a:contains("1080")a:not(:contains("Zip")),a:contains("720")a:not(:contains("Zip")),a:contains("480")a:not(:contains("Zip")),a:contains("2160")a:not(:contains("Zip")),a:contains("4k")a:not(:contains("Zip"))').map((i, element) => { - var _a; - const title = $(element).parent("h5").prev().text(); - const episodesLink = $(element).attr("href"); - const quality = ((_a = title.match(/\b(480p|720p|1080p|2160p)\b/i)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - if (episodesLink && title) { - links.push({ - title, - episodesLink: type === "series" ? episodesLink : "", - directLinks: type === "movie" - ? [{ title: "Movie", link: episodesLink, type: "movie" }] - : [], - quality: quality, - }); - } - }); - // console.log('drive meta', title, synopsis, image, imdbId, type, links); - console.log("drive meta", links, type); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".left-wrapper").text().toLocaleLowerCase().includes("movie name")?"movie":"series",imdbId=(null===(_b=$('a:contains("IMDb")').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=$(".left-wrapper").find('strong:contains("Name")').next().text()||$(".left-wrapper").find('strong:contains("Name"),h5:contains("Name")').find("span:first").text(),synopsis=$(".left-wrapper").find('h2:contains("Storyline"),h3:contains("Storyline"),h5:contains("Storyline"),h4:contains("Storyline"),h4:contains("STORYLINE")').next().text()||$(".ipc-html-content-inner-div").text()||"",image=$("img.entered.lazyloaded,img.entered,img.litespeed-loaded").attr("src")||$("img.aligncenter").attr("src")||"",links=[];return $('a:contains("1080")a:not(:contains("Zip")),a:contains("720")a:not(:contains("Zip")),a:contains("480")a:not(:contains("Zip")),a:contains("2160")a:not(:contains("Zip")),a:contains("4k")a:not(:contains("Zip"))').map((i,element)=>{var _a;const title=$(element).parent("h5").prev().text(),episodesLink=$(element).attr("href"),quality=(null===(_a=title.match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"";episodesLink&&title&&links.push({title:title,episodesLink:"series"===type?episodesLink:"",directLinks:"movie"===type?[{title:"Movie",link:episodesLink,type:"movie"}]:[],quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/drive/posts.js b/dist/drive/posts.js index 3e9091b..5dad028 100644 --- a/dist/drive/posts.js +++ b/dist/drive/posts.js @@ -1,60 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("drive"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("drive"); - const url = `${baseUrl}page/${page}/?s=${searchQuery}`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, providerContext, }) { - try { - const { cheerio } = providerContext; - const res = yield fetch(url, { signal }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $(".recent-movies") - .children() - .map((i, element) => { - const title = $(element).find("figure").find("img").attr("alt"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("figure").find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title.replace("Download", "").trim(), - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("drive error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("drive"))+filter}/page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${yield getBaseUrl("drive")}page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-movies").children().map((i,element)=>{const title=$(element).find("figure").find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("figure").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/drive/stream.js b/dist/drive/stream.js index 4272aaa..00652ae 100644 --- a/dist/drive/stream.js +++ b/dist/drive/stream.js @@ -1,45 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, type, signal, providerContext, }) { - var _b, _c; - const headers = providerContext.commonHeaders; - try { - if (type === "movie") { - const res = yield providerContext.axios.get(url, { headers }); - const html = res.data; - const $ = providerContext.cheerio.load(html); - const link = $('a:contains("HubCloud")').attr("href"); - url = link || url; - } - const res = yield providerContext.axios.get(url, { headers }); - let redirectUrl = (_b = res.data.match(//i)) === null || _b === void 0 ? void 0 : _b[1]; - if (url.includes("/archives/")) { - redirectUrl = (_c = res.data.match(/]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i)) === null || _c === void 0 ? void 0 : _c[1]; - } - if (!redirectUrl) { - return yield providerContext.extractors.hubcloudExtracter(url, signal); - } - const res2 = yield providerContext.axios.get(redirectUrl, { headers }); - const data = res2.data; - const $ = providerContext.cheerio.load(data); - const hubcloudLink = $(".fa-file-download").parent().attr("href"); - return yield providerContext.extractors.hubcloudExtracter((hubcloudLink === null || hubcloudLink === void 0 ? void 0 : hubcloudLink.includes("https://hubcloud")) ? hubcloudLink : redirectUrl, signal); - } - catch (err) { - console.error("Movies Drive err", err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,signal:signal,providerContext:providerContext}){var _b,_c;const headers=providerContext.commonHeaders;try{if("movie"===type){const html=(yield providerContext.axios.get(url,{headers:headers})).data,$=providerContext.cheerio.load(html);url=$('a:contains("HubCloud")').attr("href")||url}const res=yield providerContext.axios.get(url,{headers:headers});let redirectUrl=null===(_b=res.data.match(//i))||void 0===_b?void 0:_b[1];if(url.includes("/archives/")&&(redirectUrl=null===(_c=res.data.match(/]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i))||void 0===_c?void 0:_c[1]),!redirectUrl)return yield providerContext.extractors.hubcloudExtracter(url,signal);const data=(yield providerContext.axios.get(redirectUrl,{headers:headers})).data,hubcloudLink=providerContext.cheerio.load(data)(".fa-file-download").parent().attr("href");return yield providerContext.extractors.hubcloudExtracter((null==hubcloudLink?void 0:hubcloudLink.includes("https://hubcloud"))?hubcloudLink:redirectUrl,signal)}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/filmyfly/catalog.js b/dist/filmyfly/catalog.js index 6b05714..f889a03 100644 --- a/dist/filmyfly/catalog.js +++ b/dist/filmyfly/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Home", - filter: "", - }, - { - title: "Web Series", - filter: "/page-cat/42/Web-Series.html", - }, - { - title: "Hollywood", - filter: "/page-cat/9/New-Hollywood-Hindi-Dubbed-Movie-2016-2025.html", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Web Series",filter:"/page-cat/42/Web-Series.html"},{title:"Hollywood",filter:"/page-cat/9/New-Hollywood-Hindi-Dubbed-Movie-2016-2025.html"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/filmyfly/episodes.js b/dist/filmyfly/episodes.js index 7c1171c..8331c8a 100644 --- a/dist/filmyfly/episodes.js +++ b/dist/filmyfly/episodes.js @@ -1,43 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - try { - const headers = providerContext.commonHeaders; - const { axios, cheerio } = providerContext; - const res = yield axios.get(url, { headers }); - const data = res.data; - const $ = cheerio.load(data); - const episodeLinks = []; - $(".dlink.dl").map((i, element) => { - var _a, _b; - const title = (_b = (_a = $(element) - .find("a") - .text()) === null || _a === void 0 ? void 0 : _a.replace("Download", "")) === null || _b === void 0 ? void 0 : _b.trim(); - const link = $(element).find("a").attr("href"); - if (title && link) { - episodeLinks.push({ - title, - link, - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error("cl episode links", err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){try{const headers=providerContext.commonHeaders,{axios:axios,cheerio:cheerio}=providerContext,data=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(data),episodeLinks=[];return $(".dlink.dl").map((i,element)=>{var _a,_b;const title=null===(_b=null===(_a=$(element).find("a").text())||void 0===_a?void 0:_a.replace("Download",""))||void 0===_b?void 0:_b.trim(),link=$(element).find("a").attr("href");title&&link&&episodeLinks.push({title:title,link:link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/filmyfly/meta.js b/dist/filmyfly/meta.js index 1bb5e26..289f37e 100644 --- a/dist/filmyfly/meta.js +++ b/dist/filmyfly/meta.js @@ -1,63 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { axios, cheerio, commonHeaders: headers } = providerContext; - const url = link; - const res = yield axios.get(url, { headers }); - const data = res.data; - const $ = cheerio.load(data); - const type = url.includes("tvshows") ? "series" : "movie"; - const imdbId = ""; - const title = $('.fname:contains("Name")').find(".colora").text().trim(); - const image = $(".ss").find("img").attr("src") || ""; - const synopsis = $('.fname:contains("Description")') - .find(".colorg") - .text() - .trim(); - const tags = $('.fname:contains("Genre")').find(".colorb").text().split(",") || []; - const rating = ""; - const links = []; - const downloadLink = $(".dlbtn").find("a").attr("href"); - if (downloadLink) { - links.push({ - title: title, - episodesLink: downloadLink, - }); - } - return { - title, - tags, - rating, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext,url=link,data=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=$('.fname:contains("Name")').find(".colora").text().trim(),image=$(".ss").find("img").attr("src")||"",synopsis=$('.fname:contains("Description")').find(".colorg").text().trim(),tags=$('.fname:contains("Genre")').find(".colorb").text().split(",")||[],rating="",links=[],downloadLink=$(".dlbtn").find("a").attr("href");return downloadLink&&links.push({title:title,episodesLink:downloadLink}),{title:title,tags:tags,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/filmyfly/posts.js b/dist/filmyfly/posts.js index 16469a0..ce0f583 100644 --- a/dist/filmyfly/posts.js +++ b/dist/filmyfly/posts.js @@ -1,61 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("filmyfly"); - const url = `${baseUrl + filter}/${page}`; - return posts({ url, signal, baseUrl, providerContext }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("filmyfly"); - const url = `${baseUrl}/site-1.html?to-search=${searchQuery}`; - if (page > 1) { - return []; - } - return posts({ url, signal, baseUrl, providerContext }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, baseUrl, providerContext, }) { - try { - const { cheerio, commonHeaders: headers } = providerContext; - const res = yield fetch(url, { headers, signal }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $(".A2,.A10,.fl").map((i, element) => { - const title = $(element).find("a").eq(1).text() || $(element).find("b").text(); - const link = $(element).find("a").attr("href"); - const image = $(element).find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title, - link: baseUrl + link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("ff error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("filmyfly");return posts({url:`${baseUrl+filter}/${page}`,signal:signal,baseUrl:baseUrl,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("filmyfly");return page>1?[]:posts({url:`${baseUrl}/site-1.html?to-search=${searchQuery}`,signal:signal,baseUrl:baseUrl,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,baseUrl:baseUrl,providerContext:providerContext}){try{const{cheerio:cheerio,commonHeaders:headers}=providerContext,res=yield fetch(url,{headers:headers,signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".A2,.A10,.fl").map((i,element)=>{const title=$(element).find("a").eq(1).text()||$(element).find("b").text(),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:baseUrl+link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/filmyfly/stream.js b/dist/filmyfly/stream.js index 75235a7..6577915 100644 --- a/dist/filmyfly/stream.js +++ b/dist/filmyfly/stream.js @@ -1,51 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, signal, providerContext, }) { - try { - const res = yield providerContext.axios.get(link, { signal }); - const data = res.data; - const $ = providerContext.cheerio.load(data); - const streams = []; - const elements = $(".button2,.button1,.button3,.button4,.button").toArray(); - const promises = elements.map((element) => __awaiter(this, void 0, void 0, function* () { - const title = $(element).text(); - let link = $(element).attr("href"); - if (title.includes("GDFLIX") && link) { - const gdLinks = yield providerContext.extractors.gdFlixExtracter(link, signal); - streams.push(...gdLinks); - } - const alreadyAdded = streams.find((s) => s.link === link); - if (title && - link && - !title.includes("Watch") && - !title.includes("Login") && - !title.includes("GoFile") && - !alreadyAdded) { - streams.push({ - server: title, - link: link, - type: "mkv", - }); - } - })); - yield Promise.all(promises); - return streams; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){try{const data=(yield providerContext.axios.get(link,{signal:signal})).data,$=providerContext.cheerio.load(data),streams=[],promises=$(".button2,.button1,.button3,.button4,.button").toArray().map(element=>__awaiter(this,void 0,void 0,function*(){const title=$(element).text();let link=$(element).attr("href");if(title.includes("GDFLIX")&&link){const gdLinks=yield providerContext.extractors.gdFlixExtracter(link,signal);streams.push(...gdLinks)}const alreadyAdded=streams.find(s=>s.link===link);!title||!link||title.includes("Watch")||title.includes("Login")||title.includes("GoFile")||alreadyAdded||streams.push({server:title,link:link,type:"mkv"})}));return yield Promise.all(promises),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/flixhq/catalog.js b/dist/flixhq/catalog.js index 40b7453..0ad3dbd 100644 --- a/dist/flixhq/catalog.js +++ b/dist/flixhq/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Trending", - filter: "/trending", - }, - { - title: "Movies", - filter: "/recent-movies", - }, - { - title: "TV Shows", - filter: "/recent-shows", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/trending"},{title:"Movies",filter:"/recent-movies"},{title:"TV Shows",filter:"/recent-shows"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/flixhq/meta.js b/dist/flixhq/meta.js index 9183905..1841190 100644 --- a/dist/flixhq/meta.js +++ b/dist/flixhq/meta.js @@ -1,64 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, providerContext, }) { - try { - const { axios, getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("consumet"); - const url = `${baseUrl}/movies/flixhq/info?id=` + id; - const res = yield axios.get(url); - const data = res.data; - const meta = { - title: data.title, - synopsis: data.description.replace(/<[^>]*>?/gm, "").trim(), - image: data.cover, - cast: data.casts, - rating: data.rating, - tags: [data === null || data === void 0 ? void 0 : data.type, data === null || data === void 0 ? void 0 : data.duration, data.releaseDate.split("-")[0]], - imdbId: "", - type: data.episodes.length > 1 ? "series" : "movie", - }; - const links = []; - data.episodes.forEach((episode) => { - const title = (episode === null || episode === void 0 ? void 0 : episode.number) - ? "Season-" + (episode === null || episode === void 0 ? void 0 : episode.season) + " Ep-" + episode.number - : episode.title; - const link = episode.id + "*" + data.id; - if (link && title) { - links.push({ - title, - link, - }); - } - }); - return Object.assign(Object.assign({}, meta), { linkList: [ - { - title: meta.title, - directLinks: links, - }, - ] }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,url=`${yield getBaseUrl("consumet")}/movies/flixhq/info?id=`+id,data=(yield axios.get(url)).data,meta={title:data.title,synopsis:data.description.replace(/<[^>]*>?/gm,"").trim(),image:data.cover,cast:data.casts,rating:data.rating,tags:[null==data?void 0:data.type,null==data?void 0:data.duration,data.releaseDate.split("-")[0]],imdbId:"",type:data.episodes.length>1?"series":"movie"},links=[];return data.episodes.forEach(episode=>{const title=(null==episode?void 0:episode.number)?"Season-"+(null==episode?void 0:episode.season)+" Ep-"+episode.number:episode.title,link=episode.id+"*"+data.id;link&&title&&links.push({title:title,link:link})}),Object.assign(Object.assign({},meta),{linkList:[{title:meta.title,directLinks:links}]})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/flixhq/posts.js b/dist/flixhq/posts.js index 60d14f1..471a618 100644 --- a/dist/flixhq/posts.js +++ b/dist/flixhq/posts.js @@ -1,60 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const urlRes = yield getBaseUrl("consumet"); - const baseUrl = urlRes + "/movies/flixhq"; - const url = `${baseUrl + filter}`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const urlRes = yield getBaseUrl("consumet"); - const baseUrl = urlRes + "/movies/flixhq"; - const url = `${baseUrl}/${searchQuery}?page=${page}`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, providerContext, }) { - var _b; - try { - const { axios } = providerContext; - const res = yield axios.get(url, { signal }); - const data = ((_b = res.data) === null || _b === void 0 ? void 0 : _b.results) || res.data; - const catalog = []; - data === null || data === void 0 ? void 0 : data.map((element) => { - const title = element.title; - const link = element.id; - const image = element.image; - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("flixhq error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+"/movies/flixhq"+filter}`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+"/movies/flixhq"}/${searchQuery}?page=${page}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){var _b;try{const{axios:axios}=providerContext,res=yield axios.get(url,{signal:signal}),data=(null===(_b=res.data)||void 0===_b?void 0:_b.results)||res.data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=element.id,image=element.image;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/flixhq/stream.js b/dist/flixhq/stream.js index ffbebd2..50016fa 100644 --- a/dist/flixhq/stream.js +++ b/dist/flixhq/stream.js @@ -1,68 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, providerContext, }) { - var _b; - try { - const { getBaseUrl } = providerContext; - const episodeId = id.split("*")[0]; - const mediaId = id.split("*")[1]; - const baseUrl = yield getBaseUrl("consumet"); - const serverUrl = `${baseUrl}/movies/flixhq/servers?episodeId=${episodeId}&mediaId=${mediaId}`; - const res = yield fetch(serverUrl); - const servers = yield res.json(); - const streamLinks = []; - for (const server of servers) { - const streamUrl = `${baseUrl}/movies/flixhq/watch?server=` + - server.name + - "&episodeId=" + - episodeId + - "&mediaId=" + - mediaId; - const streamRes = yield fetch(streamUrl); - const streamData = yield streamRes.json(); - const subtitles = []; - if (((_b = streamData === null || streamData === void 0 ? void 0 : streamData.sources) === null || _b === void 0 ? void 0 : _b.length) > 0) { - if (streamData.subtitles) { - streamData.subtitles.forEach((sub) => { - var _a; - subtitles.push({ - language: (_a = sub === null || sub === void 0 ? void 0 : sub.lang) === null || _a === void 0 ? void 0 : _a.slice(0, 2), - uri: sub === null || sub === void 0 ? void 0 : sub.url, - type: "text/vtt", - title: sub === null || sub === void 0 ? void 0 : sub.lang, - }); - }); - } - streamData.sources.forEach((source) => { - var _a; - streamLinks.push({ - server: (server === null || server === void 0 ? void 0 : server.name) + - "-" + - ((_a = source === null || source === void 0 ? void 0 : source.quality) === null || _a === void 0 ? void 0 : _a.replace("auto", "MultiQuality")), - link: source.url, - type: source.isM3U8 ? "m3u8" : "mp4", - subtitles: subtitles, - }); - }); - } - } - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){var _b;try{const{getBaseUrl:getBaseUrl}=providerContext,episodeId=id.split("*")[0],mediaId=id.split("*")[1],baseUrl=yield getBaseUrl("consumet"),serverUrl=`${baseUrl}/movies/flixhq/servers?episodeId=${episodeId}&mediaId=${mediaId}`,res=yield fetch(serverUrl),servers=yield res.json(),streamLinks=[];for(const server of servers){const streamUrl=`${baseUrl}/movies/flixhq/watch?server=`+server.name+"&episodeId="+episodeId+"&mediaId="+mediaId,streamRes=yield fetch(streamUrl),streamData=yield streamRes.json(),subtitles=[];(null===(_b=null==streamData?void 0:streamData.sources)||void 0===_b?void 0:_b.length)>0&&(streamData.subtitles&&streamData.subtitles.forEach(sub=>{var _a;subtitles.push({language:null===(_a=null==sub?void 0:sub.lang)||void 0===_a?void 0:_a.slice(0,2),uri:null==sub?void 0:sub.url,type:"text/vtt",title:null==sub?void 0:sub.lang})}),streamData.sources.forEach(source=>{var _a;streamLinks.push({server:(null==server?void 0:server.name)+"-"+(null===(_a=null==source?void 0:source.quality)||void 0===_a?void 0:_a.replace("auto","MultiQuality")),link:source.url,type:source.isM3U8?"m3u8":"mp4",subtitles:subtitles})}))}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/gdflixExtractor.js b/dist/gdflixExtractor.js index 33ec793..14c50d5 100644 --- a/dist/gdflixExtractor.js +++ b/dist/gdflixExtractor.js @@ -1,211 +1 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.gdFlixExtracter = gdFlixExtracter; -const axios_1 = __importDefault(require("axios")); -const cheerio = __importStar(require("cheerio")); -const headers_1 = require("./headers"); -function gdFlixExtracter(link, signal) { - return __awaiter(this, void 0, void 0, function* () { - var _a, _b, _c, _d, _e, _f, _g, _h; - try { - const streamLinks = []; - const res = yield (0, axios_1.default)(`${link}`, { headers: headers_1.headers, signal }); - console.log('gdFlixExtracter', link); - const data = res.data; - let $drive = cheerio.load(data); - // handle if redirected to another link - if ((_a = $drive('body').attr('onload')) === null || _a === void 0 ? void 0 : _a.includes('location.replace')) { - const newLink = (_d = (_c = (_b = $drive('body') - .attr('onload')) === null || _b === void 0 ? void 0 : _b.split("location.replace('")) === null || _c === void 0 ? void 0 : _c[1].split("'")) === null || _d === void 0 ? void 0 : _d[0]; - console.log('newLink', newLink); - if (newLink) { - const newRes = yield axios_1.default.get(newLink, { headers: headers_1.headers, signal }); - $drive = cheerio.load(newRes.data); - } - } - // try { - // const resumeBot = $drive('.fab.fa-artstation').prev().attr('href') || ''; - // console.log('resumeBot', resumeBot); - // const resumeBotRes = await axios.get(resumeBot, {headers}); - // const resumeBotToken = resumeBotRes.data.match( - // /formData\.append\('token', '([a-f0-9]+)'\)/, - // )[1]; - // const resumeBotBody = new FormData(); - // resumeBotBody.append('token', resumeBotToken); - // const resumeBotPath = resumeBotRes.data.match( - // /fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/, - // )[1]; - // const resumeBotBaseUrl = resumeBot.split('/download')[0]; - // // console.log( - // // 'resumeBotPath', - // // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // // ); - // // console.log('resumeBotBody', resumeBotToken); - // const resumeBotDownload = await fetch( - // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // { - // method: 'POST', - // body: resumeBotBody, - // headers: { - // Referer: resumeBot, - // Cookie: 'PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308', - // }, - // }, - // ); - // const resumeBotDownloadData = await resumeBotDownload.json(); - // console.log('resumeBotDownloadData', resumeBotDownloadData.url); - // streamLinks.push({ - // server: 'ResumeBot', - // link: resumeBotDownloadData.url, - // type: 'mkv', - // }); - // } catch (err) { - // console.log('ResumeBot link not found', err); - // } - /// resume cloud - try { - const baseUrl = link.split('/').slice(0, 3).join('/'); - const resumeDrive = $drive('.btn-secondary').attr('href') || ''; - console.log('resumeDrive', resumeDrive); - if (resumeDrive.includes('indexbot')) { - const resumeBotRes = yield axios_1.default.get(resumeDrive, { headers: headers_1.headers }); - const resumeBotToken = resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1]; - const resumeBotBody = new FormData(); - resumeBotBody.append('token', resumeBotToken); - const resumeBotPath = resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1]; - const resumeBotBaseUrl = resumeDrive.split('/download')[0]; - // console.log( - // 'resumeBotPath', - // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // ); - // console.log('resumeBotBody', resumeBotToken); - const resumeBotDownload = yield fetch(resumeBotBaseUrl + '/download?id=' + resumeBotPath, { - method: 'POST', - body: resumeBotBody, - headers: { - Referer: resumeDrive, - Cookie: 'PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308', - }, - }); - const resumeBotDownloadData = yield resumeBotDownload.json(); - console.log('resumeBotDownloadData', resumeBotDownloadData.url); - streamLinks.push({ - server: 'ResumeBot', - link: resumeBotDownloadData.url, - type: 'mkv', - }); - } - else { - const url = baseUrl + resumeDrive; - const resumeDriveRes = yield axios_1.default.get(url, { headers: headers_1.headers }); - const resumeDriveHtml = resumeDriveRes.data; - const $resumeDrive = cheerio.load(resumeDriveHtml); - const resumeLink = $resumeDrive('.btn-success').attr('href'); - // console.log('resumeLink', resumeLink); - if (resumeLink) { - streamLinks.push({ - server: 'ResumeCloud', - link: resumeLink, - type: 'mkv', - }); - } - } - } - catch (err) { - console.log('Resume link not found'); - } - //instant link - try { - const seed = $drive('.btn-danger').attr('href') || ''; - console.log('seed', seed); - if (!seed.includes('?url=')) { - const newLinkRes = yield axios_1.default.head(seed, { headers: headers_1.headers, signal }); - console.log('newLinkRes', (_e = newLinkRes.request) === null || _e === void 0 ? void 0 : _e.responseURL); - const newLink = ((_h = (_g = (_f = newLinkRes.request) === null || _f === void 0 ? void 0 : _f.responseURL) === null || _g === void 0 ? void 0 : _g.split('?url=')) === null || _h === void 0 ? void 0 : _h[1]) || seed; - streamLinks.push({ server: 'G-Drive', link: newLink, type: 'mkv' }); - } - else { - const instantToken = seed.split('=')[1]; - // console.log('InstantToken', instantToken); - const InstantFromData = new FormData(); - InstantFromData.append('keys', instantToken); - const videoSeedUrl = seed.split('/').slice(0, 3).join('/') + '/api'; - // console.log('videoSeedUrl', videoSeedUrl); - const instantLinkRes = yield fetch(videoSeedUrl, { - method: 'POST', - body: InstantFromData, - headers: { - 'x-token': videoSeedUrl, - }, - }); - const instantLinkData = yield instantLinkRes.json(); - // console.log('instantLinkData', instantLinkData); - if (instantLinkData.error === false) { - const instantLink = instantLinkData.url; - streamLinks.push({ - server: 'Gdrive-Instant', - link: instantLink, - type: 'mkv', - }); - } - else { - console.log('Instant link not found', instantLinkData); - } - } - } - catch (err) { - console.log('Instant link not found', err); - } - return streamLinks; - } - catch (error) { - console.log('gdflix error: ', error); - return []; - } - }); -} +"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i __awaiter(void 0, void 0, void 0, function* () { - try { - let baseUrl = ""; - const cacheKey = "CacheBaseUrl" + providerValue; - const timeKey = "baseUrlTime" + providerValue; - // const cachedUrl = cacheStorageService.getString(cacheKey); - // const cachedTime = cacheStorageService.getObject(timeKey); - // if (cachedUrl && cachedTime && Date.now() - cachedTime < expireTime) { - // baseUrl = cachedUrl; - // } else { - const baseUrlRes = yield fetch("https://himanshu8443.github.io/providers/modflix.json"); - const baseUrlData = yield baseUrlRes.json(); - baseUrl = baseUrlData[providerValue].url; - // cacheStorageService.setString(cacheKey, baseUrl); - // cacheStorageService.setObject(timeKey, Date.now()); - // } - return baseUrl; - } - catch (error) { - console.error(`Error fetching baseUrl: ${providerValue}`, error); - return ""; - } -}); -exports.getBaseUrl = getBaseUrl; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBaseUrl=void 0;const expireTime=36e5,getBaseUrl=providerValue=>__awaiter(void 0,void 0,void 0,function*(){try{let baseUrl="";const baseUrlRes=yield fetch("https://himanshu8443.github.io/providers/modflix.json");return baseUrl=(yield baseUrlRes.json())[providerValue].url,baseUrl}catch(error){return""}});exports.getBaseUrl=getBaseUrl; \ No newline at end of file diff --git a/dist/gofileExtracter.js b/dist/gofileExtracter.js index 5ea2122..e7d3d9e 100644 --- a/dist/gofileExtracter.js +++ b/dist/gofileExtracter.js @@ -1,48 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.gofileExtracter = gofileExtracter; -const axios_1 = __importDefault(require("axios")); -function gofileExtracter(id) { - return __awaiter(this, void 0, void 0, function* () { - try { - const gofileRes = yield axios_1.default.get('https://gofile.io/d/' + id); - const genAccountres = yield axios_1.default.post('https://api.gofile.io/accounts'); - const token = genAccountres.data.data.token; - console.log('gofile token', token); - const wtRes = yield axios_1.default.get('https://gofile.io/dist/js/global.js'); - const wt = wtRes.data.match(/appdata\.wt\s*=\s*["']([^"']+)["']/)[1]; - console.log('gofile wt', wt); - const res = yield axios_1.default.get(`https://api.gofile.io/contents/${id}?wt=${wt}`, { - headers: { - Authorization: `Bearer ${token}`, - }, - }); - const oId = Object.keys(res.data.data.children)[0]; - console.log('gofile extracter', res.data.data.children[oId].link); - const link = res.data.data.children[oId].link; - return { - link, - token, - }; - } - catch (e) { - console.log('gofile extracter err', e); - return { - link: '', - token: '', - }; - } - }); -} +"use strict";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())})},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.gofileExtracter=gofileExtracter;const axios_1=__importDefault(require("axios"));function gofileExtracter(id){return __awaiter(this,void 0,void 0,function*(){try{yield axios_1.default.get("https://gofile.io/d/"+id);const token=(yield axios_1.default.post("https://api.gofile.io/accounts")).data.data.token,wt=(yield axios_1.default.get("https://gofile.io/dist/js/global.js")).data.match(/appdata\.wt\s*=\s*["']([^"']+)["']/)[1],res=yield axios_1.default.get(`https://api.gofile.io/contents/${id}?wt=${wt}`,{headers:{Authorization:`Bearer ${token}`}}),oId=Object.keys(res.data.data.children)[0];return{link:res.data.data.children[oId].link,token:token}}catch(e){return{link:"",token:""}}})} \ No newline at end of file diff --git a/dist/guardahd/catalog.js b/dist/guardahd/catalog.js index 0e38e58..7de0cb2 100644 --- a/dist/guardahd/catalog.js +++ b/dist/guardahd/catalog.js @@ -1,14 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Popular Movies", - filter: "/top/catalog/movie/top.json", - }, - { - title: "Featured Movies", - filter: "/imdbRating/catalog/movie/imdbRating.json", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Popular Movies",filter:"/top/catalog/movie/top.json"},{title:"Featured Movies",filter:"/imdbRating/catalog/movie/imdbRating.json"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/guardahd/meta.js b/dist/guardahd/meta.js index 6349003..5cee539 100644 --- a/dist/guardahd/meta.js +++ b/dist/guardahd/meta.js @@ -1,99 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; - const axios = providerContext.axios; - try { - console.log("all", link); - const res = yield axios.get(link); - const data = res.data; - const meta = { - title: "", - synopsis: "", - image: "", - imdbId: ((_b = data === null || data === void 0 ? void 0 : data.meta) === null || _b === void 0 ? void 0 : _b.imdb_id) || "", - type: ((_c = data === null || data === void 0 ? void 0 : data.meta) === null || _c === void 0 ? void 0 : _c.type) || "movie", - }; - const links = []; - let directLinks = []; - let season = new Map(); - if (meta.type === "series") { - (_e = (_d = data === null || data === void 0 ? void 0 : data.meta) === null || _d === void 0 ? void 0 : _d.videos) === null || _e === void 0 ? void 0 : _e.map((video) => { - var _a, _b, _c, _d, _e, _f, _g, _h; - if ((video === null || video === void 0 ? void 0 : video.season) <= 0) - return; - if (!season.has(video === null || video === void 0 ? void 0 : video.season)) { - season.set(video === null || video === void 0 ? void 0 : video.season, []); - } - season.get(video === null || video === void 0 ? void 0 : video.season).push({ - title: "Episode " + (video === null || video === void 0 ? void 0 : video.episode), - type: "series", - link: JSON.stringify({ - title: (_a = data === null || data === void 0 ? void 0 : data.meta) === null || _a === void 0 ? void 0 : _a.name, - imdbId: (_b = data === null || data === void 0 ? void 0 : data.meta) === null || _b === void 0 ? void 0 : _b.imdb_id, - season: (_c = video === null || video === void 0 ? void 0 : video.id) === null || _c === void 0 ? void 0 : _c.split(":")[1], - episode: (_d = video === null || video === void 0 ? void 0 : video.id) === null || _d === void 0 ? void 0 : _d.split(":")[2], - type: (_e = data === null || data === void 0 ? void 0 : data.meta) === null || _e === void 0 ? void 0 : _e.type, - tmdbId: ((_g = (_f = data === null || data === void 0 ? void 0 : data.meta) === null || _f === void 0 ? void 0 : _f.moviedb_id) === null || _g === void 0 ? void 0 : _g.toString()) || "", - year: (_h = data === null || data === void 0 ? void 0 : data.meta) === null || _h === void 0 ? void 0 : _h.year, - }), - }); - }); - const keys = Array.from(season.keys()); - keys.sort(); - keys.map((key) => { - directLinks = season.get(key); - links.push({ - title: `Season ${key}`, - directLinks: directLinks, - }); - }); - } - else { - console.log("all meta Mv🔥🔥", meta); - links.push({ - title: (_f = data === null || data === void 0 ? void 0 : data.meta) === null || _f === void 0 ? void 0 : _f.name, - directLinks: [ - { - title: "Movie", - type: "movie", - link: JSON.stringify({ - title: (_g = data === null || data === void 0 ? void 0 : data.meta) === null || _g === void 0 ? void 0 : _g.name, - imdbId: (_h = data === null || data === void 0 ? void 0 : data.meta) === null || _h === void 0 ? void 0 : _h.imdb_id, - season: "", - episode: "", - type: (_j = data === null || data === void 0 ? void 0 : data.meta) === null || _j === void 0 ? void 0 : _j.type, - tmdbId: ((_l = (_k = data === null || data === void 0 ? void 0 : data.meta) === null || _k === void 0 ? void 0 : _k.moviedb_id) === null || _l === void 0 ? void 0 : _l.toString()) || "", - year: (_m = data === null || data === void 0 ? void 0 : data.meta) === null || _m === void 0 ? void 0 : _m.year, - }), - }, - ], - }); - } - return Object.assign(Object.assign({}, meta), { linkList: links }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:"",synopsis:"",image:"",imdbId:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id)||"",type:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_e=null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.videos)||void 0===_e||_e.map(video=>{var _a,_b,_c,_d,_e,_f,_g,_h;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:JSON.stringify({title:null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.name,imdbId:null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id,season:null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[1],episode:null===(_d=null==video?void 0:video.id)||void 0===_d?void 0:_d.split(":")[2],type:null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.type,tmdbId:(null===(_g=null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.moviedb_id)||void 0===_g?void 0:_g.toString())||"",year:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.year})}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.name,directLinks:[{title:"Movie",type:"movie",link:JSON.stringify({title:null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.name,imdbId:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.imdb_id,season:"",episode:"",type:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.type,tmdbId:(null===(_l=null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.moviedb_id)||void 0===_l?void 0:_l.toString())||"",year:null===(_m=null==data?void 0:data.meta)||void 0===_m?void 0:_m.year})}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/guardahd/posts.js b/dist/guardahd/posts.js index 2fb59be..b15b8a0 100644 --- a/dist/guardahd/posts.js +++ b/dist/guardahd/posts.js @@ -1,79 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) { - try { - const catalog = []; - const url = "https://cinemeta-catalogs.strem.io" + filter; - console.log("allGetPostUrl", url); - const res = yield providerContext.axios.get(url, { - headers: providerContext.commonHeaders, - signal, - }); - const data = res.data; - data === null || data === void 0 ? void 0 : data.metas.map((result) => { - const title = result === null || result === void 0 ? void 0 : result.name; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const type = result === null || result === void 0 ? void 0 : result.type; - const image = result === null || result === void 0 ? void 0 : result.poster; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - console.log("catalog", catalog.length); - return catalog; - } - catch (err) { - console.error("AutoEmbed error ", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - try { - const { axios, commonHeaders: headers } = providerContext; - if (page > 1) { - return []; - } - const catalog = []; - const url2 = `https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`; - const res2 = yield axios.get(url2, { headers, signal }); - const data2 = res2.data; - data2 === null || data2 === void 0 ? void 0 : data2.metas.map((result) => { - const title = (result === null || result === void 0 ? void 0 : result.name) || ""; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const image = result === null || result === void 0 ? void 0 : result.poster; - const type = result === null || result === void 0 ? void 0 : result.type; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("AutoEmbed error ", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,commonHeaders:headers}=providerContext;if(page>1)return[];const catalog=[],url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data2=(yield axios.get(url2,{headers:headers,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/guardahd/stream.js b/dist/guardahd/stream.js index 52ac9a9..0799f68 100644 --- a/dist/guardahd/stream.js +++ b/dist/guardahd/stream.js @@ -1,117 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, type, providerContext, }) { - try { - const { axios, cheerio, extractors } = providerContext; - const { superVideoExtractor } = extractors; - function ExtractGuardahd(_a) { - return __awaiter(this, arguments, void 0, function* ({ imdb, // type, // season, - }) { - try { - const baseUrl = "https://guardahd.stream"; - const path = "/set-movie-a/" + imdb; - const url = baseUrl + path; - console.log("url:", url); - const res = yield axios.get(url, { timeout: 4000 }); - const html = res.data; - const $ = cheerio.load(html); - const superVideoUrl = $('li:contains("supervideo")').attr("data-link"); - console.log("superVideoUrl:", superVideoUrl); - if (!superVideoUrl) { - return null; - } - const controller2 = new AbortController(); - const signal2 = controller2.signal; - setTimeout(() => controller2.abort(), 4000); - const res2 = yield fetch("https:" + superVideoUrl, { signal: signal2 }); - const data = yield res2.text(); - // console.log('mostraguarda data:', data); - const streamUrl = yield superVideoExtractor(data); - return streamUrl; - } - catch (err) { - console.error("Error in GetMostraguardaStram:", err); - } - }); - } - function GetMostraguardaStream(_a) { - return __awaiter(this, arguments, void 0, function* ({ imdb, type, season, episode, }) { - try { - const baseUrl = "https://mostraguarda.stream"; - const path = type === "tv" - ? `/serie/${imdb}/${season}/${episode}` - : `/movie/${imdb}`; - const url = baseUrl + path; - console.log("url:", url); - const res = yield axios(url, { timeout: 4000 }); - const html = res.data; - const $ = cheerio.load(html); - const superVideoUrl = $('li:contains("supervideo")').attr("data-link"); - console.log("superVideoUrl:", superVideoUrl); - if (!superVideoUrl) { - return null; - } - const controller2 = new AbortController(); - const signal2 = controller2.signal; - setTimeout(() => controller2.abort(), 4000); - const res2 = yield fetch("https:" + superVideoUrl, { signal: signal2 }); - const data = yield res2.text(); - // console.log('mostraguarda data:', data); - const streamUrl = yield superVideoExtractor(data); - return streamUrl; - } - catch (err) { - console.error("Error in GetMostraguardaStram:", err); - } - }); - } - console.log(id); - const streams = []; - const { imdbId, season, episode } = JSON.parse(id); - ///// mostraguarda - const mostraguardaStream = yield GetMostraguardaStream({ - imdb: imdbId, - type: type, - season: season, - episode: episode, - }); - if (mostraguardaStream) { - streams.push({ - server: "Supervideo 1", - link: mostraguardaStream, - type: "m3u8", - }); - } - const guardahdStream = yield ExtractGuardahd({ - imdb: imdbId, - type: type, - season: season, - episode: episode, - }); - if (guardahdStream) { - streams.push({ - server: "Supervideo 2", - link: guardahdStream, - type: "m3u8", - }); - } - return streams; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{superVideoExtractor:superVideoExtractor}=extractors;function ExtractGuardahd(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}function GetMostraguardaStream(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}const streams=[],{imdbId:imdbId,season:season,episode:episode}=JSON.parse(id),mostraguardaStream=yield GetMostraguardaStream({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield ExtractGuardahd({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/hdhub4u/catalog.js b/dist/hdhub4u/catalog.js index 2706ac3..f41ac7b 100644 --- a/dist/hdhub4u/catalog.js +++ b/dist/hdhub4u/catalog.js @@ -1,63 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Latest", - filter: "", - }, - { - title: "Web Series", - filter: "/category/web-series", - }, - { - title: "Hollywood ", - filter: "/category/hollywood-movies", - }, - { - title: "South Movies", - filter: "/category/south-hindi-movies", - }, -]; -exports.genres = [ - { - title: "Action", - filter: "/category/action", - }, - { - title: "Crime", - filter: "/category/crime", - }, - { - title: "Comedy", - filter: "/category/comedy", - }, - { - title: "Drama", - filter: "/category/drama", - }, - { - title: "Horror", - filter: "/category/horror", - }, - { - title: "Family", - filter: "/category/family", - }, - { - title: "Sci-Fi", - filter: "/category/sifi", - }, - { - title: "Thriller", - filter: "/category/triller", - }, - { - title: "Romance", - filter: "/category/romance", - }, - { - title: "Fight", - filter: "/category/fight", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Web Series",filter:"/category/web-series"},{title:"Hollywood ",filter:"/category/hollywood-movies"},{title:"South Movies",filter:"/category/south-hindi-movies"}],exports.genres=[{title:"Action",filter:"/category/action"},{title:"Crime",filter:"/category/crime"},{title:"Comedy",filter:"/category/comedy"},{title:"Drama",filter:"/category/drama"},{title:"Horror",filter:"/category/horror"},{title:"Family",filter:"/category/family"},{title:"Sci-Fi",filter:"/category/sifi"},{title:"Thriller",filter:"/category/triller"},{title:"Romance",filter:"/category/romance"},{title:"Fight",filter:"/category/fight"}]; \ No newline at end of file diff --git a/dist/hdhub4u/meta.js b/dist/hdhub4u/meta.js index 2ab5e49..c3da24f 100644 --- a/dist/hdhub4u/meta.js +++ b/dist/hdhub4u/meta.js @@ -1,127 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const hdbHeaders = { - Cookie: "xla=s4t", - Referer: "https://google.com", - "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", -}; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url, { headers: hdbHeaders }); - const data = res.data; - const $ = cheerio.load(data); - const container = $(".page-body"); - const imdbId = ((_b = container - .find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])') - .attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || ""; - const title = container - .find('h2[data-ved="2ahUKEwjL0NrBk4vnAhWlH7cAHRCeAlwQ3B0oATAfegQIFBAM"],h2[data-ved="2ahUKEwiP0pGdlermAhUFYVAKHV8tAmgQ3B0oATAZegQIDhAM"]') - .text(); - const type = title.toLocaleLowerCase().includes("season") - ? "series" - : "movie"; - const synopsis = container - .find('strong:contains("DESCRIPTION")') - .parent() - .text() - .replace("DESCRIPTION:", ""); - const image = container.find('img[decoding="async"]').attr("src") || ""; - // Links - const links = []; - const directLink = []; - // direct link type - $('strong:contains("EPiSODE")').map((i, element) => { - const epTitle = $(element).parent().parent().text(); - const episodesLink = $(element) - .parent() - .parent() - .parent() - .next() - .next() - .find("a") - .attr("href") || - $(element).parent().parent().parent().next().find("a").attr("href"); - if (episodesLink && episodesLink) { - directLink.push({ - title: epTitle, - link: episodesLink, - }); - } - }); - if (directLink.length === 0) { - container.find('a:contains("EPiSODE")').map((i, element) => { - const epTitle = $(element).text(); - const episodesLink = $(element).attr("href"); - if (episodesLink) { - directLink.push({ - title: epTitle.toLocaleUpperCase(), - link: episodesLink, - }); - } - }); - } - if (directLink.length > 0) { - links.push({ - title: title, - directLinks: directLink, - }); - } - if (directLink.length === 0) { - container - .find('a:contains("480"),a:contains("720"),a:contains("1080"),a:contains("2160"),a:contains("4K")') - .map((i, element) => { - var _a; - const quality = ((_a = $(element) - .text() - .match(/\b(480p|720p|1080p|2160p)\b/i)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - const movieLinks = $(element).attr("href"); - const title = $(element).text(); - if (movieLinks) { - links.push({ - directLinks: [ - { link: movieLinks, title: "Movie", type: "movie" }, - ], - quality: quality, - title: title, - }); - } - }); - } - // console.log('drive meta', title, synopsis, image, imdbId, type, links); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const hdbHeaders={Cookie:"xla=s4t",Referer:"https://google.com","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"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url,{headers:hdbHeaders})).data,$=cheerio.load(data),container=$(".page-body"),imdbId=(null===(_b=container.find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=container.find('h2[data-ved="2ahUKEwjL0NrBk4vnAhWlH7cAHRCeAlwQ3B0oATAfegQIFBAM"],h2[data-ved="2ahUKEwiP0pGdlermAhUFYVAKHV8tAmgQ3B0oATAZegQIDhAM"]').text(),type=title.toLocaleLowerCase().includes("season")?"series":"movie",synopsis=container.find('strong:contains("DESCRIPTION")').parent().text().replace("DESCRIPTION:",""),image=container.find('img[decoding="async"]').attr("src")||"",links=[],directLink=[];return $('strong:contains("EPiSODE")').map((i,element)=>{const epTitle=$(element).parent().parent().text(),episodesLink=$(element).parent().parent().parent().next().next().find("a").attr("href")||$(element).parent().parent().parent().next().find("a").attr("href");episodesLink&&episodesLink&&directLink.push({title:epTitle,link:episodesLink})}),0===directLink.length&&container.find('a:contains("EPiSODE")').map((i,element)=>{const epTitle=$(element).text(),episodesLink=$(element).attr("href");episodesLink&&directLink.push({title:epTitle.toLocaleUpperCase(),link:episodesLink})}),directLink.length>0&&links.push({title:title,directLinks:directLink}),0===directLink.length&&container.find('a:contains("480"),a:contains("720"),a:contains("1080"),a:contains("2160"),a:contains("4K")').map((i,element)=>{var _a;const quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",movieLinks=$(element).attr("href"),title=$(element).text();movieLinks&&links.push({directLinks:[{link:movieLinks,title:"Movie",type:"movie"}],quality:quality,title:title})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/hdhub4u/posts.js b/dist/hdhub4u/posts.js index 67ad50e..47db813 100644 --- a/dist/hdhub4u/posts.js +++ b/dist/hdhub4u/posts.js @@ -1,68 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const hdbHeaders = { - Cookie: "xla=s4t", - Referer: "https://google.com", - "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", -}; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("hdhub"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("hdhub"); - const url = `${baseUrl}/page/${page}/?s=${searchQuery}`; - return posts({ url, signal, providerContext }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, providerContext, }) { - const { cheerio } = providerContext; - try { - const res = yield fetch(url, { - headers: hdbHeaders, - signal, - }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $(".recent-movies") - .children() - .map((i, element) => { - const title = $(element).find("figure").find("img").attr("alt"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("figure").find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title.replace("Download", "").trim(), - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("hdhubGetPosts error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const hdbHeaders={Cookie:"xla=s4t",Referer:"https://google.com","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"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${(yield getBaseUrl("hdhub"))+filter}/page/${page}/`,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts({url:`${yield getBaseUrl("hdhub")}/page/${page}/?s=${searchQuery}`,signal:signal,providerContext:providerContext})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,providerContext:providerContext}){const{cheerio:cheerio}=providerContext;try{const res=yield fetch(url,{headers:hdbHeaders,signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-movies").children().map((i,element)=>{const title=$(element).find("figure").find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("figure").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/hdhub4u/stream.js b/dist/hdhub4u/stream.js index 3d9790b..e246f96 100644 --- a/dist/hdhub4u/stream.js +++ b/dist/hdhub4u/stream.js @@ -1,164 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = getStream; -exports.getRedirectLinks = getRedirectLinks; -exports.decodeString = decodeString; -function getStream(_a) { - return __awaiter(this, arguments, void 0, function* ({ link, signal, providerContext, }) { - var _b, _c, _d, _e; - const { axios, cheerio, extractors, commonHeaders: headers, } = providerContext; - const { hubcloudExtracter } = extractors; - let hubdriveLink = ""; - if (link.includes("hubdrive")) { - const hubdriveRes = yield axios.get(link, { headers, signal }); - const hubdriveText = hubdriveRes.data; - const $ = cheerio.load(hubdriveText); - hubdriveLink = - $(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href") || link; - } - else { - const res = yield axios.get(link, { headers, signal }); - const text = res.data; - const encryptedString = (_d = (_c = (_b = text.split("s('o','")) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c.split("',180")) === null || _d === void 0 ? void 0 : _d[0]; - const decodedString = decodeString(encryptedString); - link = atob(decodedString === null || decodedString === void 0 ? void 0 : decodedString.o); - const redirectLink = yield getRedirectLinks(link, signal, headers); - const redirectLinkRes = yield axios.get(redirectLink, { headers, signal }); - const redirectLinkText = redirectLinkRes.data; - const $ = cheerio.load(redirectLinkText); - hubdriveLink = - $('h3:contains("1080p")').find("a").attr("href") || - redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1]; - if (hubdriveLink.includes("hubdrive")) { - const hubdriveRes = yield axios.get(hubdriveLink, { headers, signal }); - const hubdriveText = hubdriveRes.data; - const $$ = cheerio.load(hubdriveText); - hubdriveLink = - $$(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href") || - hubdriveLink; - } - } - const hubdriveLinkRes = yield axios.get(hubdriveLink, { headers, signal }); - const hubcloudText = hubdriveLinkRes.data; - const hubcloudLink = ((_e = hubcloudText.match(//i)) === null || _e === void 0 ? void 0 : _e[1]) || hubdriveLink; - try { - return yield hubcloudExtracter(hubcloudLink, signal); - } - catch (error) { - console.log("hd hub 4 getStream error: ", error); - return []; - } - }); -} -const encode = function (value) { - return btoa(value.toString()); -}; -const decode = function (value) { - if (value === undefined) { - return ""; - } - return atob(value.toString()); -}; -const pen = function (value) { - return value.replace(/[a-zA-Z]/g, function (_0x1a470e) { - return String.fromCharCode((_0x1a470e <= "Z" ? 90 : 122) >= - (_0x1a470e = _0x1a470e.charCodeAt(0) + 13) - ? _0x1a470e - : _0x1a470e - 26); - }); -}; -const abortableTimeout = (ms, { signal } = {}) => { - return new Promise((resolve, reject) => { - if (signal && signal.aborted) { - return reject(new Error("Aborted")); - } - const timer = setTimeout(resolve, ms); - if (signal) { - signal.addEventListener("abort", () => { - clearTimeout(timer); - reject(new Error("Aborted")); - }); - } - }); -}; -function getRedirectLinks(link, signal, headers) { - return __awaiter(this, void 0, void 0, function* () { - try { - const res = yield fetch(link, { headers, signal }); - const resText = yield res.text(); - var regex = /ck\('_wp_http_\d+','([^']+)'/g; - var combinedString = ""; - var match; - while ((match = regex.exec(resText)) !== null) { - // console.log(match[1]); - combinedString += match[1]; - } - // console.log(decode(combinedString)); - const decodedString = decode(pen(decode(decode(combinedString)))); - // console.log(decodedString); - const data = JSON.parse(decodedString); - console.log(data); - const token = encode(data === null || data === void 0 ? void 0 : data.data); - const blogLink = (data === null || data === void 0 ? void 0 : data.wp_http1) + "?re=" + token; - // abort timeout on signal - let wait = abortableTimeout((Number(data === null || data === void 0 ? void 0 : data.total_time) + 3) * 1000, { - signal, - }); - yield wait; - console.log("blogLink", blogLink); - let vcloudLink = "Invalid Request"; - while (vcloudLink.includes("Invalid Request")) { - const blogRes = yield fetch(blogLink, { headers, signal }); - const blogResText = (yield blogRes.text()); - if (blogResText.includes("Invalid Request")) { - console.log(blogResText); - } - else { - vcloudLink = blogResText.match(/var reurl = "([^"]+)"/) || ""; - break; - } - } - // console.log('vcloudLink', vcloudLink?.[1]); - return blogLink || link; - } - catch (err) { - console.log("Error in getRedirectLinks", err); - return link; - } - }); -} -function rot13(str) { - return str.replace(/[a-zA-Z]/g, function (char) { - const charCode = char.charCodeAt(0); - const isUpperCase = char <= "Z"; - const baseCharCode = isUpperCase ? 65 : 97; - return String.fromCharCode(((charCode - baseCharCode + 13) % 26) + baseCharCode); - }); -} -function decodeString(encryptedString) { - try { - // First base64 decode - let decoded = atob(encryptedString); - // Second base64 decode - decoded = atob(decoded); - // ROT13 decode - decoded = rot13(decoded); - // Third base64 decode - decoded = atob(decoded); - // Parse JSON - return JSON.parse(decoded); - } - catch (error) { - console.error("Error decoding string:", error); - return null; - } -} +"use strict";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())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){var _b,_c,_d,_e;const{axios:axios,cheerio:cheerio,extractors:extractors,commonHeaders:headers}=providerContext,{hubcloudExtracter:hubcloudExtracter}=extractors;let hubdriveLink="";if(link.includes("hubdrive")){const hubdriveText=(yield axios.get(link,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||link}else{const decodedString=decodeString(null===(_d=null===(_c=null===(_b=(yield axios.get(link,{headers:headers,signal:signal})).data.split("s('o','"))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("',180"))||void 0===_d?void 0:_d[0]);link=atob(null==decodedString?void 0:decodedString.o);const redirectLink=yield getRedirectLinks(link,signal,headers),redirectLinkText=(yield axios.get(redirectLink,{headers:headers,signal:signal})).data;if(hubdriveLink=cheerio.load(redirectLinkText)('h3:contains("1080p")').find("a").attr("href")||redirectLinkText.match(/href="(https:\/\/hubcloud\.[^\/]+\/drive\/[^"]+)"/)[1],hubdriveLink.includes("hubdrive")){const hubdriveText=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data;hubdriveLink=cheerio.load(hubdriveText)(".btn.btn-primary.btn-user.btn-success1.m-1").attr("href")||hubdriveLink}}const hubcloudLink=(null===(_e=(yield axios.get(hubdriveLink,{headers:headers,signal:signal})).data.match(//i))||void 0===_e?void 0:_e[1])||hubdriveLink;try{return yield hubcloudExtracter(hubcloudLink,signal)}catch(error){return[]}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream,exports.getRedirectLinks=getRedirectLinks,exports.decodeString=decodeString;const encode=function(value){return btoa(value.toString())},decode=function(value){return void 0===value?"":atob(value.toString())},pen=function(value){return value.replace(/[a-zA-Z]/g,function(_0x1a470e){return String.fromCharCode((_0x1a470e<="Z"?90:122)>=(_0x1a470e=_0x1a470e.charCodeAt(0)+13)?_0x1a470e:_0x1a470e-26)})},abortableTimeout=(ms,{signal:signal}={})=>new Promise((resolve,reject)=>{if(signal&&signal.aborted)return reject(new Error("Aborted"));const timer=setTimeout(resolve,ms);signal&&signal.addEventListener("abort",()=>{clearTimeout(timer),reject(new Error("Aborted"))})});function getRedirectLinks(link,signal,headers){return __awaiter(this,void 0,void 0,function*(){try{const res=yield fetch(link,{headers:headers,signal:signal}),resText=yield res.text();for(var match,regex=/ck\('_wp_http_\d+','([^']+)'/g,combinedString="";null!==(match=regex.exec(resText));)combinedString+=match[1];const decodedString=decode(pen(decode(decode(combinedString)))),data=JSON.parse(decodedString),token=encode(null==data?void 0:data.data),blogLink=(null==data?void 0:data.wp_http1)+"?re="+token;let wait=abortableTimeout(1e3*(Number(null==data?void 0:data.total_time)+3),{signal:signal});yield wait;let vcloudLink="Invalid Request";for(;vcloudLink.includes("Invalid Request");){const blogRes=yield fetch(blogLink,{headers:headers,signal:signal}),blogResText=yield blogRes.text();if(!blogResText.includes("Invalid Request")){vcloudLink=blogResText.match(/var reurl = "([^"]+)"/)||"";break}}return blogLink||link}catch(err){return link}})}function rot13(str){return str.replace(/[a-zA-Z]/g,function(char){const charCode=char.charCodeAt(0),baseCharCode=char<="Z"?65:97;return String.fromCharCode((charCode-baseCharCode+13)%26+baseCharCode)})}function decodeString(encryptedString){try{let decoded=atob(encryptedString);return decoded=atob(decoded),decoded=rot13(decoded),decoded=atob(decoded),JSON.parse(decoded)}catch(error){return null}} \ No newline at end of file diff --git a/dist/headers.js b/dist/headers.js index 67246b4..2f2eecd 100644 --- a/dist/headers.js +++ b/dist/headers.js @@ -1,11 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.headers = void 0; -exports.headers = { - '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-Site': 'none', - // 'Sec-Fetch-User': '?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', -}; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.headers=void 0,exports.headers={"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"',"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"}; \ No newline at end of file diff --git a/dist/hiAnime/catalog.js b/dist/hiAnime/catalog.js index 50c28d9..033e1f4 100644 --- a/dist/hiAnime/catalog.js +++ b/dist/hiAnime/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Recent", - filter: "/anime/zoro/recent-episodes", - }, - { - title: "Top Airing", - filter: "/anime/zoro/top-airing", - }, - { - title: "Most Popular", - filter: "/anime/zoro/most-popular", - }, - { - title: "Most Favorited", - filter: "/anime/zoro/most-favorite", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Recent",filter:"/anime/zoro/recent-episodes"},{title:"Top Airing",filter:"/anime/zoro/top-airing"},{title:"Most Popular",filter:"/anime/zoro/most-popular"},{title:"Most Favorited",filter:"/anime/zoro/most-favorite"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/hiAnime/meta.js b/dist/hiAnime/meta.js index 3df6a86..f16607d 100644 --- a/dist/hiAnime/meta.js +++ b/dist/hiAnime/meta.js @@ -1,86 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { getBaseUrl, axios } = providerContext; - const baseUrl = yield getBaseUrl("consumet"); - const url = `${baseUrl}/anime/zoro/info?id=` + link; - const res = yield axios.get(url); - const data = res.data; - const meta = { - title: data.title, - synopsis: data.description, - image: data.image, - tags: [ - data === null || data === void 0 ? void 0 : data.type, - (data === null || data === void 0 ? void 0 : data.subOrDub) === "both" ? "Sub And Dub" : data === null || data === void 0 ? void 0 : data.subOrDub, - ], - imdbId: "", - type: data.episodes.length > 0 ? "series" : "movie", - }; - const linkList = []; - const subLinks = []; - data.episodes.forEach((episode) => { - if (!(episode === null || episode === void 0 ? void 0 : episode.isSubbed)) { - return; - } - const title = "Episode " + episode.number + ((episode === null || episode === void 0 ? void 0 : episode.isFiller) ? " (Filler)" : ""); - const link = episode.id + "$sub"; - if (link && title) { - subLinks.push({ - title, - link, - }); - } - }); - linkList.push({ - title: meta.title + " (Sub)", - directLinks: subLinks, - }); - if ((data === null || data === void 0 ? void 0 : data.subOrDub) === "both") { - const dubLinks = []; - data.episodes.forEach((episode) => { - if (!(episode === null || episode === void 0 ? void 0 : episode.isDubbed)) { - return; - } - const title = "Episode " + episode.number + ((episode === null || episode === void 0 ? void 0 : episode.isFiller) ? " (Filler)" : ""); - const link = episode.id + "$dub"; - if (link && title) { - dubLinks.push({ - title, - link, - }); - } - }); - linkList.push({ - title: meta.title + " (Dub)", - directLinks: dubLinks, - }); - } - return Object.assign(Object.assign({}, meta), { linkList: linkList }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,url=`${yield getBaseUrl("consumet")}/anime/zoro/info?id=`+link,data=(yield axios.get(url)).data,meta={title:data.title,synopsis:data.description,image:data.image,tags:[null==data?void 0:data.type,"both"===(null==data?void 0:data.subOrDub)?"Sub And Dub":null==data?void 0:data.subOrDub],imdbId:"",type:data.episodes.length>0?"series":"movie"},linkList=[],subLinks=[];if(data.episodes.forEach(episode=>{if(!(null==episode?void 0:episode.isSubbed))return;const title="Episode "+episode.number+((null==episode?void 0:episode.isFiller)?" (Filler)":""),link=episode.id+"$sub";link&&title&&subLinks.push({title:title,link:link})}),linkList.push({title:meta.title+" (Sub)",directLinks:subLinks}),"both"===(null==data?void 0:data.subOrDub)){const dubLinks=[];data.episodes.forEach(episode=>{if(!(null==episode?void 0:episode.isDubbed))return;const title="Episode "+episode.number+((null==episode?void 0:episode.isFiller)?" (Filler)":""),link=episode.id+"$dub";link&&title&&dubLinks.push({title:title,link:link})}),linkList.push({title:meta.title+" (Dub)",directLinks:dubLinks})}return Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/hiAnime/posts.js b/dist/hiAnime/posts.js index fb78271..2f7a63a 100644 --- a/dist/hiAnime/posts.js +++ b/dist/hiAnime/posts.js @@ -1,57 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, axios } = providerContext; - const baseUrl = yield getBaseUrl("consumet"); - const url = `${baseUrl + filter}?page=${page}`; - return posts({ url, signal, axios }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, axios } = providerContext; - const baseUrl = yield getBaseUrl("consumet"); - const url = `${baseUrl}/anime/zoro/${searchQuery}?page=${page}`; - return posts({ url, signal, axios }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, axios, }) { - var _b; - try { - const res = yield axios.get(url, { signal }); - const data = (_b = res.data) === null || _b === void 0 ? void 0 : _b.results; - const catalog = []; - data === null || data === void 0 ? void 0 : data.map((element) => { - const title = element.title; - const link = element.id; - const image = element.image; - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("zoro error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;return posts({url:`${(yield getBaseUrl("consumet"))+filter}?page=${page}`,signal:signal,axios:axios})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;return posts({url:`${yield getBaseUrl("consumet")}/anime/zoro/${searchQuery}?page=${page}`,signal:signal,axios:axios})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios}){var _b;try{const data=null===(_b=(yield axios.get(url,{signal:signal})).data)||void 0===_b?void 0:_b.results,catalog=[];return null==data||data.map(element=>{const title=element.title,link=element.id,image=element.image;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/hiAnime/stream.js b/dist/hiAnime/stream.js index ad01c7e..6cd77a8 100644 --- a/dist/hiAnime/stream.js +++ b/dist/hiAnime/stream.js @@ -1,66 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, providerContext, }) { - try { - const { getBaseUrl, axios } = providerContext; - const baseUrl = yield getBaseUrl("consumet"); - const servers = ["vidcloud", "vidstreaming"]; - const url = `${baseUrl}/anime/zoro/watch?episodeId=${id}&server=`; - const streamLinks = []; - yield Promise.all(servers.map((server) => __awaiter(this, void 0, void 0, function* () { - var _a, _b; - try { - const res = yield axios.get(url + server); - if (res.data) { - const subtitles = []; - (_a = res.data) === null || _a === void 0 ? void 0 : _a.subtitles.forEach((sub) => { - var _a, _b; - if ((sub === null || sub === void 0 ? void 0 : sub.lang) === "Thumbnails") - return; - subtitles.push({ - language: ((_a = sub === null || sub === void 0 ? void 0 : sub.lang) === null || _a === void 0 ? void 0 : _a.slice(0, 2)) || "Und", - uri: sub === null || sub === void 0 ? void 0 : sub.url, - title: (sub === null || sub === void 0 ? void 0 : sub.lang) || "Undefined", - type: ((_b = sub === null || sub === void 0 ? void 0 : sub.url) === null || _b === void 0 ? void 0 : _b.endsWith(".vtt")) - ? "text/vtt" - : "application/x-subrip", - }); - }); - (_b = res.data) === null || _b === void 0 ? void 0 : _b.sources.forEach((source) => { - streamLinks.push({ - server: server, - link: source === null || source === void 0 ? void 0 : source.url, - type: (source === null || source === void 0 ? void 0 : source.isM3U8) ? "m3u8" : "mp4", - headers: { - Referer: "https://megacloud.club/", - Origin: "https://megacloud.club", - }, - subtitles: subtitles, - }); - }); - } - } - catch (e) { - console.log(e); - } - }))); - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("consumet"),servers=["vidcloud","vidstreaming"],url=`${baseUrl}/anime/zoro/watch?episodeId=${id}&server=`,streamLinks=[];return yield Promise.all(servers.map(server=>__awaiter(this,void 0,void 0,function*(){var _a,_b;try{const res=yield axios.get(url+server);if(res.data){const subtitles=[];null===(_a=res.data)||void 0===_a||_a.subtitles.forEach(sub=>{var _a,_b;"Thumbnails"!==(null==sub?void 0:sub.lang)&&subtitles.push({language:(null===(_a=null==sub?void 0:sub.lang)||void 0===_a?void 0:_a.slice(0,2))||"Und",uri:null==sub?void 0:sub.url,title:(null==sub?void 0:sub.lang)||"Undefined",type:(null===(_b=null==sub?void 0:sub.url)||void 0===_b?void 0:_b.endsWith(".vtt"))?"text/vtt":"application/x-subrip"})}),null===(_b=res.data)||void 0===_b||_b.sources.forEach(source=>{streamLinks.push({server:server,link:null==source?void 0:source.url,type:(null==source?void 0:source.isM3U8)?"m3u8":"mp4",headers:{Referer:"https://megacloud.club/",Origin:"https://megacloud.club"},subtitles:subtitles})})}}catch(e){}}))),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/hubcloudExtractor.js b/dist/hubcloudExtractor.js index 3301b10..cc4662a 100644 --- a/dist/hubcloudExtractor.js +++ b/dist/hubcloudExtractor.js @@ -1,132 +1 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.hubcloudExtracter = hubcloudExtracter; -const axios_1 = __importDefault(require("axios")); -const cheerio = __importStar(require("cheerio")); -const headers_1 = require("./headers"); -const decode = function (value) { - if (value === undefined) { - return ''; - } - return atob(value.toString()); -}; -function hubcloudExtracter(link, signal) { - return __awaiter(this, void 0, void 0, function* () { - var _a, _b, _c, _d, _e; - try { - console.log('hubcloudExtracter', link); - const baseUrl = link.split('/').slice(0, 3).join('/'); - const streamLinks = []; - const vLinkRes = yield (0, axios_1.default)(`${link}`, { headers: headers_1.headers, signal }); - const vLinkText = vLinkRes.data; - const $vLink = cheerio.load(vLinkText); - const vLinkRedirect = vLinkText.match(/var\s+url\s*=\s*'([^']+)';/) || []; - let vcloudLink = decode((_b = (_a = vLinkRedirect[1]) === null || _a === void 0 ? void 0 : _a.split('r=')) === null || _b === void 0 ? void 0 : _b[1]) || - vLinkRedirect[1] || - $vLink('.fa-file-download.fa-lg').parent().attr('href') || - link; - console.log('vcloudLink', vcloudLink); - if (vcloudLink === null || vcloudLink === void 0 ? void 0 : vcloudLink.startsWith('/')) { - vcloudLink = `${baseUrl}${vcloudLink}`; - console.log('New vcloudLink', vcloudLink); - } - const vcloudRes = yield fetch(vcloudLink, { - headers: headers_1.headers, - signal, - redirect: 'follow', - }); - const $ = cheerio.load(yield vcloudRes.text()); - // console.log('vcloudRes', $.text()); - const linkClass = $('.btn-success.btn-lg.h6,.btn-danger,.btn-secondary'); - for (const element of linkClass) { - const itm = $(element); - let link = itm.attr('href') || ''; - if ((link === null || link === void 0 ? void 0 : link.includes('.dev')) && !(link === null || link === void 0 ? void 0 : link.includes('/?id='))) { - streamLinks.push({ server: 'Cf Worker', link: link, type: 'mkv' }); - } - if (link === null || link === void 0 ? void 0 : link.includes('pixeld')) { - if (!(link === null || link === void 0 ? void 0 : link.includes('api'))) { - const token = link.split('/').pop(); - const baseUrl = link.split('/').slice(0, -2).join('/'); - link = `${baseUrl}/api/file/${token}?download`; - } - streamLinks.push({ server: 'Pixeldrain', link: link, type: 'mkv' }); - } - if ((link === null || link === void 0 ? void 0 : link.includes('hubcloud')) || (link === null || link === void 0 ? void 0 : link.includes('/?id='))) { - try { - const newLinkRes = yield axios_1.default.head(link, { headers: headers_1.headers, signal }); - const newLink = ((_e = (_d = (_c = newLinkRes.request) === null || _c === void 0 ? void 0 : _c.responseURL) === null || _d === void 0 ? void 0 : _d.split('link=')) === null || _e === void 0 ? void 0 : _e[1]) || link; - streamLinks.push({ server: 'hubcloud', link: newLink, type: 'mkv' }); - } - catch (error) { - console.log('hubcloudExtracter error in hubcloud link: ', error); - } - } - if (link === null || link === void 0 ? void 0 : link.includes('cloudflarestorage')) { - streamLinks.push({ server: 'CfStorage', link: link, type: 'mkv' }); - } - if (link === null || link === void 0 ? void 0 : link.includes('fastdl')) { - streamLinks.push({ server: 'FastDl', link: link, type: 'mkv' }); - } - if (link.includes('hubcdn')) { - streamLinks.push({ - server: 'HubCdn', - link: link, - type: 'mkv', - }); - } - } - console.log('streamLinks', streamLinks); - return streamLinks; - } - catch (error) { - console.log('hubcloudExtracter error: ', error); - return []; - } - }); -} +"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i { - episodesLink.push({ - title: $(link).text() || "", - link: baseUrl + $(link).find("a").attr("href") || "", - }); - }); - if (episodesLink.length > 0) { - return episodesLink; - } - } - if (url.includes("/pack")) { - const epIds = yield extractKmhdEpisodes(url, providerContext); - epIds === null || epIds === void 0 ? void 0 : epIds.forEach((id, index) => { - episodesLink.push({ - title: `Episode ${index + 1}`, - link: url.split("/pack")[0] + "/file/" + id, - }); - }); - } - const res = yield axios.get(url, { - headers: { - Cookie: "_ga_GNR438JY8N=GS1.1.1722240350.5.0.1722240350.0.0.0; _ga=GA1.1.372196696.1722150754; unlocked=true", - }, - }); - const episodeData = res.data; - const $ = cheerio.load(episodeData); - const links = $(".autohyperlink"); - links === null || links === void 0 ? void 0 : links.map((i, link) => { - episodesLink.push({ - title: $(link).parent().children().remove().end().text() || "", - link: $(link).attr("href") || "", - }); - }); - return episodesLink; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; -function extractKmhdLink(katlink, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const { axios } = providerContext; - const res = yield axios.get(katlink); - const data = res.data; - const hubDriveRes = data.match(/hubdrive_res:\s*"([^"]+)"/)[1]; - const hubDriveLink = data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]; - return hubDriveLink + hubDriveRes; - }); -} -function extractKmhdEpisodes(katlink, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const { axios } = providerContext; - const res = yield axios.get(katlink); - const data = res.data; - const ids = data.match(/[\w]+_[a-f0-9]{8}/g); - return ids; - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0,exports.extractKmhdLink=extractKmhdLink;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,episodesLink=[];try{if(url.includes("gdflix")){const baseUrl=null===(_b=url.split("/pack"))||void 0===_b?void 0:_b[0],data=(yield axios.get(url)).data,$=cheerio.load(data),links=$(".list-group-item");if(null==links||links.map((i,link)=>{episodesLink.push({title:$(link).text()||"",link:baseUrl+$(link).find("a").attr("href")||""})}),episodesLink.length>0)return episodesLink}if(url.includes("/pack")){const epIds=yield extractKmhdEpisodes(url,providerContext);null==epIds||epIds.forEach((id,index)=>{episodesLink.push({title:`Episode ${index+1}`,link:url.split("/pack")[0]+"/file/"+id})})}const episodeData=(yield axios.get(url,{headers:{Cookie:"_ga_GNR438JY8N=GS1.1.1722240350.5.0.1722240350.0.0.0; _ga=GA1.1.372196696.1722150754; unlocked=true"}})).data,$=cheerio.load(episodeData),links=$(".autohyperlink");return null==links||links.map((i,link)=>{episodesLink.push({title:$(link).parent().children().remove().end().text()||"",link:$(link).attr("href")||""})}),episodesLink}catch(err){return[]}})};function extractKmhdLink(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext,data=(yield axios.get(katlink)).data,hubDriveRes=data.match(/hubdrive_res:\s*"([^"]+)"/)[1];return data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]+hubDriveRes})}function extractKmhdEpisodes(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext;return(yield axios.get(katlink)).data.match(/[\w]+_[a-f0-9]{8}/g)})}exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/katmovies/meta.js b/dist/katmovies/meta.js index 3365722..900a5c6 100644 --- a/dist/katmovies/meta.js +++ b/dist/katmovies/meta.js @@ -1,128 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const container = $(".yQ8hqd.ksSzJd.LoQAYe").html() - ? $(".yQ8hqd.ksSzJd.LoQAYe") - : $(".FxvUNb"); - const imdbId = ((_b = container - .find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])') - .attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || ""; - const title = container - .find('li:contains("Name")') - .children() - .remove() - .end() - .text(); - const type = $(".yQ8hqd.ksSzJd.LoQAYe").html() ? "series" : "movie"; - const synopsis = container.find('li:contains("Stars")').text(); - const image = $('h4:contains("SCREENSHOTS")').next().find("img").attr("src") || ""; - console.log("katGetInfo", title, synopsis, image, imdbId, type); - // Links - const links = []; - const directLink = []; - // direct links - $(".entry-content") - .find('p:contains("Episode")') - .each((i, element) => { - const dlLink = $(element) - .nextAll("h3,h2") - .first() - .find('a:contains("1080"),a:contains("720"),a:contains("480")') - .attr("href") || ""; - const dlTitle = $(element).find("span").text(); - if (link.trim().length > 0 && dlTitle.includes("Episode ")) { - directLink.push({ - title: dlTitle, - link: dlLink, - }); - } - }); - if (directLink.length > 0) { - links.push({ - quality: "", - title: title, - directLinks: directLink, - }); - } - $(".entry-content") - .find("pre") - .nextUntil("div") - .filter("h2") - .each((i, element) => { - var _a; - const link = $(element).find("a").attr("href"); - const quality = ((_a = $(element) - .text() - .match(/\b(480p|720p|1080p|2160p)\b/i)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - const title = $(element).text(); - if (link && title.includes("")) { - links.push({ - quality, - title, - episodesLink: link, - }); - } - }); - if (links.length === 0 && type === "movie") { - $(".entry-content") - .find('h2:contains("DOWNLOAD"),h3:contains("DOWNLOAD")') - .nextUntil("pre,div") - .filter("h2") - .each((i, element) => { - var _a; - const link = $(element).find("a").attr("href"); - const quality = ((_a = $(element) - .text() - .match(/\b(480p|720p|1080p|2160p)\b/i)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - const title = $(element).text(); - if (link && !title.includes("Online")) { - links.push({ - quality, - title, - directLinks: [{ link, title, type: "movie" }], - }); - } - }); - } - // console.log('drive meta', title, synopsis, image, imdbId, type, links); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),container=$(".yQ8hqd.ksSzJd.LoQAYe").html()?$(".yQ8hqd.ksSzJd.LoQAYe"):$(".FxvUNb"),imdbId=(null===(_b=container.find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=container.find('li:contains("Name")').children().remove().end().text(),type=$(".yQ8hqd.ksSzJd.LoQAYe").html()?"series":"movie",synopsis=container.find('li:contains("Stars")').text(),image=$('h4:contains("SCREENSHOTS")').next().find("img").attr("src")||"",links=[],directLink=[];return $(".entry-content").find('p:contains("Episode")').each((i,element)=>{const dlLink=$(element).nextAll("h3,h2").first().find('a:contains("1080"),a:contains("720"),a:contains("480")').attr("href")||"",dlTitle=$(element).find("span").text();link.trim().length>0&&dlTitle.includes("Episode ")&&directLink.push({title:dlTitle,link:dlLink})}),directLink.length>0&&links.push({quality:"",title:title,directLinks:directLink}),$(".entry-content").find("pre").nextUntil("div").filter("h2").each((i,element)=>{var _a;const link=$(element).find("a").attr("href"),quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",title=$(element).text();link&&title.includes("")&&links.push({quality:quality,title:title,episodesLink:link})}),0===links.length&&"movie"===type&&$(".entry-content").find('h2:contains("DOWNLOAD"),h3:contains("DOWNLOAD")').nextUntil("pre,div").filter("h2").each((i,element)=>{var _a;const link=$(element).find("a").attr("href"),quality=(null===(_a=$(element).text().match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"",title=$(element).text();link&&!title.includes("Online")&&links.push({quality:quality,title:title,directLinks:[{link:link,title:title,type:"movie"}]})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/katmovies/posts.js b/dist/katmovies/posts.js index c1f8a94..ca9dbbb 100644 --- a/dist/katmovies/posts.js +++ b/dist/katmovies/posts.js @@ -1,59 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("kat"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("kat"); - const url = `${baseUrl}/page/${page}/?s=${searchQuery}`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, cheerio, }) { - try { - const res = yield fetch(url, { signal }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $(".recent-posts") - .children() - .map((i, element) => { - const title = $(element).find("img").attr("alt"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title.replace("Download", "").trim(), - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("katmovies error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("kat"))+filter}/page/${page}/`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("kat")}/page/${page}/?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".recent-posts").children().map((i,element)=>{const title=$(element).find("img").attr("alt"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/katmovies/stream.js b/dist/katmovies/stream.js index fbffc07..5a3cf3a 100644 --- a/dist/katmovies/stream.js +++ b/dist/katmovies/stream.js @@ -1,104 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -function extractKmhdLink(katlink, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const { axios } = providerContext; - const res = yield axios.get(katlink); - const data = res.data; - const hubDriveRes = data.match(/hubdrive_res:\s*"([^"]+)"/)[1]; - const hubDriveLink = data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]; - return hubDriveLink + hubDriveRes; - }); -} -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, signal, providerContext, }) { - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter, gdFlixExtracter } = extractors; - const streamLinks = []; - console.log("katGetStream", link); - try { - if (link.includes("gdflix")) { - return yield gdFlixExtracter(link, signal); - } - if (link.includes("kmhd")) { - const hubcloudLink = yield extractKmhdLink(link, providerContext); - return yield hubcloudExtracter(hubcloudLink, signal); - } - if (link.includes("gdflix")) { - // resume link - try { - const resumeDrive = link.replace("/file", "/zfile"); - // console.log('resumeDrive', resumeDrive); - const resumeDriveRes = yield axios.get(resumeDrive); - const resumeDriveHtml = resumeDriveRes.data; - const $resumeDrive = cheerio.load(resumeDriveHtml); - const resumeLink = $resumeDrive(".btn-success").attr("href"); - console.log("resumeLink", resumeLink); - if (resumeLink) { - streamLinks.push({ - server: "ResumeCloud", - link: resumeLink, - type: "mkv", - }); - } - } - catch (err) { - console.log("Resume link not found"); - } - //instant link - try { - const driveres = yield axios.get(link, { timeout: 10000 }); - const $drive = cheerio.load(driveres.data); - const seed = $drive(".btn-danger").attr("href") || ""; - const instantToken = seed.split("=")[1]; - // console.log('InstantToken', instantToken); - const InstantFromData = new FormData(); - InstantFromData.append("keys", instantToken); - const videoSeedUrl = seed.split("/").slice(0, 3).join("/") + "/api"; - // console.log('videoSeedUrl', videoSeedUrl); - const instantLinkRes = yield fetch(videoSeedUrl, { - method: "POST", - body: InstantFromData, - headers: { - "x-token": videoSeedUrl, - }, - }); - const instantLinkData = yield instantLinkRes.json(); - console.log("instantLinkData", instantLinkData); - if (instantLinkData.error === false) { - const instantLink = instantLinkData.url; - streamLinks.push({ - server: "Gdrive-Instant", - link: instantLink, - type: "mkv", - }); - } - else { - console.log("Instant link not found", instantLinkData); - } - } - catch (err) { - console.log("Instant link not found", err); - } - return streamLinks; - } - const stereams = yield hubcloudExtracter(link, signal); - return stereams; - } - catch (error) { - console.log("katgetStream error: ", error); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};function extractKmhdLink(katlink,providerContext){return __awaiter(this,void 0,void 0,function*(){const{axios:axios}=providerContext,data=(yield axios.get(katlink)).data,hubDriveRes=data.match(/hubdrive_res:\s*"([^"]+)"/)[1];return data.match(/hubdrive_res\s*:\s*{[^}]*?link\s*:\s*"([^"]+)"/)[1]+hubDriveRes})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{hubcloudExtracter:hubcloudExtracter,gdFlixExtracter:gdFlixExtracter}=extractors,streamLinks=[];try{if(link.includes("gdflix"))return yield gdFlixExtracter(link,signal);if(link.includes("kmhd")){const hubcloudLink=yield extractKmhdLink(link,providerContext);return yield hubcloudExtracter(hubcloudLink,signal)}if(link.includes("gdflix")){try{const resumeDrive=link.replace("/file","/zfile"),resumeDriveHtml=(yield axios.get(resumeDrive)).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&streamLinks.push({server:"ResumeCloud",link:resumeLink,type:"mkv"})}catch(err){}try{const driveres=yield axios.get(link,{timeout:1e4}),seed=cheerio.load(driveres.data)(".btn-danger").attr("href")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;streamLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}catch(err){}return streamLinks}return yield hubcloudExtracter(link,signal)}catch(error){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/kissKh/catalog.js b/dist/kissKh/catalog.js index 5544ceb..03ab8ff 100644 --- a/dist/kissKh/catalog.js +++ b/dist/kissKh/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Latest", - filter: "/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2", - }, - { - title: "Hollywood", - filter: "/api/DramaList/List?type=4&sub=0&country=0&status=0&order=2", - }, - { - title: "Anime", - filter: "/api/DramaList/List?type=3&sub=0&country=0&status=0&order=2", - }, - { - title: "K Drama", - filter: "/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:"/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2"},{title:"Hollywood",filter:"/api/DramaList/List?type=4&sub=0&country=0&status=0&order=2"},{title:"Anime",filter:"/api/DramaList/List?type=3&sub=0&country=0&status=0&order=2"},{title:"K Drama",filter:"/api/DramaList/List?type=0&sub=0&country=0&status=0&order=2"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/kissKh/meta.js b/dist/kissKh/meta.js index 62b37d1..8018db2 100644 --- a/dist/kissKh/meta.js +++ b/dist/kissKh/meta.js @@ -1,60 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c; - try { - const { axios } = providerContext; - const res = yield axios.get(link); - const data = res.data; - const meta = { - title: data.title, - synopsis: data.description, - image: data.thumbnail, - tags: [(_b = data === null || data === void 0 ? void 0 : data.releaseDate) === null || _b === void 0 ? void 0 : _b.split("-")[0], data === null || data === void 0 ? void 0 : data.status, data === null || data === void 0 ? void 0 : data.type], - imdbId: "", - type: data.episodesCount > 1 ? "series" : "movie", - }; - const linkList = []; - const subLinks = []; - (_c = data === null || data === void 0 ? void 0 : data.episodes) === null || _c === void 0 ? void 0 : _c.reverse().map((episode) => { - var _a; - const title = "Episode " + (episode === null || episode === void 0 ? void 0 : episode.number); - const link = (_a = episode === null || episode === void 0 ? void 0 : episode.id) === null || _a === void 0 ? void 0 : _a.toString(); - if (link && title) { - subLinks.push({ - title, - link, - }); - } - }); - linkList.push({ - title: meta.title, - directLinks: subLinks, - }); - return Object.assign(Object.assign({}, meta), { linkList: linkList }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios}=providerContext,data=(yield axios.get(link)).data,meta={title:data.title,synopsis:data.description,image:data.thumbnail,tags:[null===(_b=null==data?void 0:data.releaseDate)||void 0===_b?void 0:_b.split("-")[0],null==data?void 0:data.status,null==data?void 0:data.type],imdbId:"",type:data.episodesCount>1?"series":"movie"},linkList=[],subLinks=[];return null===(_c=null==data?void 0:data.episodes)||void 0===_c||_c.reverse().map(episode=>{var _a;const title="Episode "+(null==episode?void 0:episode.number),link=null===(_a=null==episode?void 0:episode.id)||void 0===_a?void 0:_a.toString();link&&title&&subLinks.push({title:title,link:link})}),linkList.push({title:meta.title,directLinks:subLinks}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/kissKh/posts.js b/dist/kissKh/posts.js index ea325c1..4f4c922 100644 --- a/dist/kissKh/posts.js +++ b/dist/kissKh/posts.js @@ -1,73 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) { - var _b; - const { getBaseUrl, axios } = providerContext; - const baseUrl = yield getBaseUrl("kissKh"); - const url = `${baseUrl + filter}&type=0`; - try { - const res = yield axios.get(url, { signal }); - const data = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data; - const catalog = []; - data === null || data === void 0 ? void 0 : data.map((element) => { - const title = element.title; - const link = baseUrl + `/api/DramaList/Drama/${element === null || element === void 0 ? void 0 : element.id}?isq=false`; - const image = element.thumbnail; - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("kiss error ", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, signal, providerContext, }) { - const { getBaseUrl, axios } = providerContext; - const baseUrl = yield getBaseUrl("kissKh"); - const url = `${baseUrl}/api/DramaList/Search?q=${searchQuery}&type=0`; - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const catalog = []; - data === null || data === void 0 ? void 0 : data.map((element) => { - const title = element.title; - const link = baseUrl + `/api/DramaList/Drama/${element === null || element === void 0 ? void 0 : element.id}?isq=false`; - const image = element.thumbnail; - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("kiss error ", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("kissKh"),url=`${baseUrl+filter}&type=0`;try{const data=null===(_b=(yield axios.get(url,{signal:signal})).data)||void 0===_b?void 0:_b.data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=baseUrl+`/api/DramaList/Drama/${null==element?void 0:element.id}?isq=false`,image=element.thumbnail;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,baseUrl=yield getBaseUrl("kissKh"),url=`${baseUrl}/api/DramaList/Search?q=${searchQuery}&type=0`;try{const data=(yield axios.get(url,{signal:signal})).data,catalog=[];return null==data||data.map(element=>{const title=element.title,link=baseUrl+`/api/DramaList/Drama/${null==element?void 0:element.id}?isq=false`,image=element.thumbnail;title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/kissKh/stream.js b/dist/kissKh/stream.js index c3dd9c1..a0421e2 100644 --- a/dist/kissKh/stream.js +++ b/dist/kissKh/stream.js @@ -1,52 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, providerContext, }) { - var _b, _c, _d; - try { - const { axios, getBaseUrl } = providerContext; - const streamLinks = []; - const subtitles = []; - const baseUrl = yield getBaseUrl("kissKh"); - const streamUrl = "https://adorable-salamander-ecbb21.netlify.app/api/kisskh/video?id=" + - id; - const res = yield axios.get(streamUrl); - const stream = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.source) === null || _c === void 0 ? void 0 : _c.Video; - const subData = (_d = res.data) === null || _d === void 0 ? void 0 : _d.subtitles; - subData === null || subData === void 0 ? void 0 : subData.map((sub) => { - var _a; - subtitles.push({ - title: sub === null || sub === void 0 ? void 0 : sub.label, - language: sub === null || sub === void 0 ? void 0 : sub.land, - type: ((_a = sub === null || sub === void 0 ? void 0 : sub.src) === null || _a === void 0 ? void 0 : _a.includes(".vtt")) ? "text/vtt" : "application/x-subrip", - uri: sub === null || sub === void 0 ? void 0 : sub.src, - }); - }); - streamLinks.push({ - server: "kissKh", - link: stream, - type: "m3u8", - subtitles, - headers: { - referer: baseUrl, - }, - }); - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,providerContext:providerContext}){var _b,_c,_d;try{const{axios:axios,getBaseUrl:getBaseUrl}=providerContext,streamLinks=[],subtitles=[],baseUrl=yield getBaseUrl("kissKh"),streamUrl="https://adorable-salamander-ecbb21.netlify.app/api/kisskh/video?id="+id,res=yield axios.get(streamUrl),stream=null===(_c=null===(_b=res.data)||void 0===_b?void 0:_b.source)||void 0===_c?void 0:_c.Video,subData=null===(_d=res.data)||void 0===_d?void 0:_d.subtitles;return null==subData||subData.map(sub=>{var _a;subtitles.push({title:null==sub?void 0:sub.label,language:null==sub?void 0:sub.land,type:(null===(_a=null==sub?void 0:sub.src)||void 0===_a?void 0:_a.includes(".vtt"))?"text/vtt":"application/x-subrip",uri:null==sub?void 0:sub.src})}),streamLinks.push({server:"kissKh",link:stream,type:"m3u8",subtitles:subtitles,headers:{referer:baseUrl}}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/luxMovies/catalog.js b/dist/luxMovies/catalog.js index f280f29..39e3dfd 100644 --- a/dist/luxMovies/catalog.js +++ b/dist/luxMovies/catalog.js @@ -1,103 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "New", - filter: "", - }, - { - title: "Netflix", - filter: "category/web-series/netflix", - }, - { - title: "Amazon Prime", - filter: "category/web-series/amazon-prime-video", - }, - { - title: "4K Movies", - filter: "category/movies-by-quality/2160p", - }, -]; -exports.genres = [ - { - title: "Action", - filter: "category/movies-by-genres/action/", - }, - { - title: "Adventure", - filter: "category/movies-by-genres/adventure/", - }, - { - title: "Animation", - filter: "category/movies-by-genres/animation/", - }, - { - title: "Biography", - filter: "category/movies-by-genres/biography/", - }, - { - title: "Comedy", - filter: "category/movies-by-genres/comedy/", - }, - { - title: "Crime", - filter: "category/movies-by-genres/crime/", - }, - { - title: "Documentary", - filter: "category/movies-by-genres/documentary/", - }, - { - title: "Drama", - filter: "category/movies-by-genres/drama/", - }, - { - title: "Family", - filter: "category/movies-by-genres/family/", - }, - { - title: "Fantasy", - filter: "category/movies-by-genres/fantasy/", - }, - { - title: "History", - filter: "category/movies-by-genres/history/", - }, - { - title: "Horror", - filter: "category/movies-by-genres/horror/", - }, - { - title: "Music", - filter: "category/movies-by-genres/music/", - }, - { - title: "Mystery", - filter: "category/movies-by-genres/mystery/", - }, - { - title: "Romance", - filter: "category/movies-by-genres/romance/", - }, - { - title: "Sci-Fi", - filter: "category/movies-by-genres/sci-fi/", - }, - { - title: "Sport", - filter: "category/movies-by-genres/sport/", - }, - { - title: "Thriller", - filter: "category/movies-by-genres/thriller/", - }, - { - title: "War", - filter: "category/movies-by-genres/war/", - }, - { - title: "Western", - filter: "category/movies-by-genres/western/", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"New",filter:""},{title:"Netflix",filter:"category/web-series/netflix"},{title:"Amazon Prime",filter:"category/web-series/amazon-prime-video"},{title:"4K Movies",filter:"category/movies-by-quality/2160p"}],exports.genres=[{title:"Action",filter:"category/movies-by-genres/action/"},{title:"Adventure",filter:"category/movies-by-genres/adventure/"},{title:"Animation",filter:"category/movies-by-genres/animation/"},{title:"Biography",filter:"category/movies-by-genres/biography/"},{title:"Comedy",filter:"category/movies-by-genres/comedy/"},{title:"Crime",filter:"category/movies-by-genres/crime/"},{title:"Documentary",filter:"category/movies-by-genres/documentary/"},{title:"Drama",filter:"category/movies-by-genres/drama/"},{title:"Family",filter:"category/movies-by-genres/family/"},{title:"Fantasy",filter:"category/movies-by-genres/fantasy/"},{title:"History",filter:"category/movies-by-genres/history/"},{title:"Horror",filter:"category/movies-by-genres/horror/"},{title:"Music",filter:"category/movies-by-genres/music/"},{title:"Mystery",filter:"category/movies-by-genres/mystery/"},{title:"Romance",filter:"category/movies-by-genres/romance/"},{title:"Sci-Fi",filter:"category/movies-by-genres/sci-fi/"},{title:"Sport",filter:"category/movies-by-genres/sport/"},{title:"Thriller",filter:"category/movies-by-genres/thriller/"},{title:"War",filter:"category/movies-by-genres/war/"},{title:"Western",filter:"category/movies-by-genres/western/"}]; \ No newline at end of file diff --git a/dist/luxMovies/episodes.js b/dist/luxMovies/episodes.js index a634180..d5d7c93 100644 --- a/dist/luxMovies/episodes.js +++ b/dist/luxMovies/episodes.js @@ -1,45 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - const { axios, cheerio, commonHeaders: headers } = providerContext; - console.log("getEpisodeLinks", url); - try { - const res = yield axios.get(url, { headers }); - const $ = cheerio.load(res.data); - const container = $(".entry-content,.entry-inner"); - $(".unili-content,.code-block-1").remove(); - const episodes = []; - container.find("h4").each((index, element) => { - const el = $(element); - const title = el.text().replace(/-/g, "").replace(/:/g, ""); - const link = el - .next("p") - .find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]') - .parent() - .attr("href"); - if (title && link) { - episodes.push({ title, link }); - } - }); - // console.log(episodes); - return episodes; - } - catch (err) { - console.log("getEpisodeLinks error: "); - // console.error(err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:headers}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/luxMovies/meta.js b/dist/luxMovies/meta.js index e34b34e..6d25421 100644 --- a/dist/luxMovies/meta.js +++ b/dist/luxMovies/meta.js @@ -1,127 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -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: "_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw", - "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", -}; -const getMeta = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; - try { - const { axios, cheerio } = providerContext; - const url = link; - console.log("url", url); - const baseUrl = url.split("/").slice(0, 3).join("/"); - const response = yield axios.get(url, { - headers: Object.assign(Object.assign({}, headers), { Referer: baseUrl }), - }); - const $ = cheerio.load(response.data); - const infoContainer = $(".entry-content,.post-inner"); - const heading = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("h3"); - const imdbId = - //@ts-ignore - ((_g = (_f = (_e = (_d = (_c = (_b = heading === null || heading === void 0 ? void 0 : heading.next("p")) === null || _b === void 0 ? void 0 : _b.find("a")) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.attribs) === null || _e === void 0 ? void 0 : _e.href) === null || _f === void 0 ? void 0 : _f.match(/tt\d+/g)) === null || _g === void 0 ? void 0 : _g[0]) || - ((_h = infoContainer.text().match(/tt\d+/g)) === null || _h === void 0 ? void 0 : _h[0]) || - ""; - // console.log(imdbId) - const type = ((_k = (_j = heading === null || heading === void 0 ? void 0 : heading.next("p")) === null || _j === void 0 ? void 0 : _j.text()) === null || _k === void 0 ? void 0 : _k.includes("Series Name")) - ? "series" - : "movie"; - // console.log(type); - // title - const titleRegex = /Name: (.+)/; - const title = ((_o = (_m = (_l = heading === null || heading === void 0 ? void 0 : heading.next("p")) === null || _l === void 0 ? void 0 : _l.text()) === null || _m === void 0 ? void 0 : _m.match(titleRegex)) === null || _o === void 0 ? void 0 : _o[1]) || ""; - // console.log(title); - // synopsis - const synopsisNode = //@ts-ignore - (_t = (_s = (_r = (_q = (_p = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("p")) === null || _p === void 0 ? void 0 : _p.next("h3,h4")) === null || _q === void 0 ? void 0 : _q.next("p")) === null || _r === void 0 ? void 0 : _r[0]) === null || _s === void 0 ? void 0 : _s.children) === null || _t === void 0 ? void 0 : _t[0]; - const synopsis = synopsisNode && "data" in synopsisNode ? synopsisNode.data : ""; - // console.log(synopsis); - // image - let image = ((_u = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("img[data-lazy-src]")) === null || _u === void 0 ? void 0 : _u.attr("data-lazy-src")) || ""; - if (image.startsWith("//")) { - image = "https:" + image; - } - // console.log(image); - // console.log({title, synopsis, image, imdbId, type}); - /// Links - const hr = (_v = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.first()) === null || _v === void 0 ? void 0 : _v.find("hr"); - const list = hr === null || hr === void 0 ? void 0 : hr.nextUntil("hr"); - const links = []; - list.each((index, element) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - element = $(element); - // title - const title = (element === null || element === void 0 ? void 0 : element.text()) || ""; - const quality = ((_a = element === null || element === void 0 ? void 0 : element.text().match(/\d+p\b/)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - // console.log(title); - // movieLinks - const movieLinks = (element === null || element === void 0 ? void 0 : element.next().find(".dwd-button").text().toLowerCase().includes("download")) - ? (_c = (_b = element === null || element === void 0 ? void 0 : element.next().find(".dwd-button")) === null || _b === void 0 ? void 0 : _b.parent()) === null || _c === void 0 ? void 0 : _c.attr("href") - : ""; - // episode links - const vcloudLinks = (_e = (_d = element === null || element === void 0 ? void 0 : element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;']")) === null || _d === void 0 ? void 0 : _d.parent()) === null || _e === void 0 ? void 0 : _e.attr("href"); - console.log(title); - const episodesLink = (vcloudLinks - ? vcloudLinks - : (element === null || element === void 0 ? void 0 : element.next().find(".dwd-button").text().toLowerCase().includes("episode")) - ? (_g = (_f = element === null || element === void 0 ? void 0 : element.next().find(".dwd-button")) === null || _f === void 0 ? void 0 : _f.parent()) === null || _g === void 0 ? void 0 : _g.attr("href") - : "") || - ((_j = (_h = element === null || element === void 0 ? void 0 : element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']")) === null || _h === void 0 ? void 0 : _h.parent()) === null || _j === void 0 ? void 0 : _j.attr("href")); - if (movieLinks || episodesLink) { - links.push({ - title, - directLinks: movieLinks - ? [{ title: "Movie", link: movieLinks, type: "movie" }] - : [], - episodesLink, - quality, - }); - } - }); - // console.log(links); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (error) { - console.log("getInfo error"); - console.error(error); - // ToastAndroid.show('No response', ToastAndroid.SHORT); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "", - linkList: [], - }; - } -}); -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),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:"_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw","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"},getMeta=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),heading=null==infoContainer?void 0:infoContainer.find("h3"),imdbId=(null===(_g=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=null==heading?void 0:heading.next("p"))||void 0===_b?void 0:_b.find("a"))||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.attribs)||void 0===_e?void 0:_e.href)||void 0===_f?void 0:_f.match(/tt\d+/g))||void 0===_g?void 0:_g[0])||(null===(_h=infoContainer.text().match(/tt\d+/g))||void 0===_h?void 0:_h[0])||"",type=(null===(_k=null===(_j=null==heading?void 0:heading.next("p"))||void 0===_j?void 0:_j.text())||void 0===_k?void 0:_k.includes("Series Name"))?"series":"movie",titleRegex=/Name: (.+)/,title=(null===(_o=null===(_m=null===(_l=null==heading?void 0:heading.next("p"))||void 0===_l?void 0:_l.text())||void 0===_m?void 0:_m.match(titleRegex))||void 0===_o?void 0:_o[1])||"",synopsisNode=null===(_t=null===(_s=null===(_r=null===(_q=null===(_p=null==infoContainer?void 0:infoContainer.find("p"))||void 0===_p?void 0:_p.next("h3,h4"))||void 0===_q?void 0:_q.next("p"))||void 0===_r?void 0:_r[0])||void 0===_s?void 0:_s.children)||void 0===_t?void 0:_t[0],synopsis=synopsisNode&&"data"in synopsisNode?synopsisNode.data:"";let image=(null===(_u=null==infoContainer?void 0:infoContainer.find("img[data-lazy-src]"))||void 0===_u?void 0:_u.attr("data-lazy-src"))||"";image.startsWith("//")&&(image="https:"+image);const hr=null===(_v=null==infoContainer?void 0:infoContainer.first())||void 0===_v?void 0:_v.find("hr"),list=null==hr?void 0:hr.nextUntil("hr"),links=[];return list.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j;const title=(null==(element=$(element))?void 0:element.text())||"",quality=(null===(_a=null==element?void 0:element.text().match(/\d+p\b/))||void 0===_a?void 0:_a[0])||"",movieLinks=(null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("download"))?null===(_c=null===(_b=null==element?void 0:element.next().find(".dwd-button"))||void 0===_b?void 0:_b.parent())||void 0===_c?void 0:_c.attr("href"):"",vcloudLinks=null===(_e=null===(_d=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;']"))||void 0===_d?void 0:_d.parent())||void 0===_e?void 0:_e.attr("href"),episodesLink=vcloudLinks||((null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("episode"))?null===(_g=null===(_f=null==element?void 0:element.next().find(".dwd-button"))||void 0===_f?void 0:_f.parent())||void 0===_g?void 0:_g.attr("href"):"")||(null===(_j=null===(_h=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']"))||void 0===_h?void 0:_h.parent())||void 0===_j?void 0:_j.attr("href"));(movieLinks||episodesLink)&&links.push({title:title,directLinks:movieLinks?[{title:"Movie",link:movieLinks,type:"movie"}]:[],episodesLink:episodesLink,quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(error){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}});exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/luxMovies/posts.js b/dist/luxMovies/posts.js index dc314b4..cd4fc89 100644 --- a/dist/luxMovies/posts.js +++ b/dist/luxMovies/posts.js @@ -1,85 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = 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", - "Sec-Fetch-Site": "none", - "Sec-Fetch-User": "?1", - Cookie: "ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=lDWFqLsHL5LZ.VpfxQRtHY2_mpXRuq3OFTbVDKNIZGw-1752051595-1.2.1.1-VZ2S8yUrcCuOMLUgWfNv9a1LrtuhUKEd.uPN1Au_9tuTFYLra7ugoFBYKfsunvzrBOlYSYM0q8J7vpw.JhGZH0RO6MlaVBKH5olmoryhd6s11LXg7ZF1Ld_NedYoA7uKk_SBhbb1CCsj11S52U9VUve7twrLEjILmw3MEURU1eGqOOi3YGxtGgpQBNYgfnkJCoRkLB_6vQESw4RcIvO1j1BHMuyMVEkbn7sBtLEX52w", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0", -}; -const getPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ filter, page, providerValue, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("lux"); - console.log("vegaGetPosts baseUrl:", providerValue, baseUrl); - const url = `${baseUrl}/${filter}/page/${page}/`; - console.log("lux url:", url); - return posts(url, signal, providerContext); -}); -exports.getPosts = getPosts; -const getSearchPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ searchQuery, page, providerValue, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("lux"); - console.log("vegaGetPosts baseUrl:", providerValue, baseUrl); - const url = page === 1 - ? `${baseUrl}/?s=${searchQuery}` - : `${baseUrl}/page/${page}/?s=${searchQuery}`; - console.log("lux url:", url); - return posts(url, signal, providerContext); -}); -exports.getSearchPosts = getSearchPosts; -function posts(url, signal, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - var _a, _b; - try { - const { axios, cheerio } = providerContext; - const urlRes = yield axios.get(url, { - headers: Object.assign(Object.assign({}, headers), { Referer: url }), - signal, - }); - const $ = cheerio.load(urlRes.data); - const posts = []; - (_b = (_a = $(".blog-items")) === null || _a === void 0 ? void 0 : _a.children("article")) === null || _b === void 0 ? void 0 : _b.each((index, element) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; - const post = { - title: ((_e = (_d = (_c = (_b = (_a = $(element)) === null || _a === void 0 ? void 0 : _a.find("a")) === null || _b === void 0 ? void 0 : _b.attr("title")) === null || _c === void 0 ? void 0 : _c.replace("Download", "")) === null || _d === void 0 ? void 0 : _d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/)) === null || _e === void 0 ? void 0 : _e[0]) || - ((_h = (_g = (_f = $(element)) === null || _f === void 0 ? void 0 : _f.find("a")) === null || _g === void 0 ? void 0 : _g.attr("title")) === null || _h === void 0 ? void 0 : _h.replace("Download", "")) || - "", - link: ((_k = (_j = $(element)) === null || _j === void 0 ? void 0 : _j.find("a")) === null || _k === void 0 ? void 0 : _k.attr("href")) || "", - image: $(element).find("a").find("img").attr("data-lazy-src") || - $(element).find("a").find("img").attr("data-src") || - $(element).find("a").find("img").attr("src") || - "", - }; - if (post.image.startsWith("//")) { - post.image = "https:" + post.image; - } - posts.push(post); - }); - // console.log(posts); - return posts; - } - catch (error) { - console.error("vegaGetPosts error:", error); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=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","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=lDWFqLsHL5LZ.VpfxQRtHY2_mpXRuq3OFTbVDKNIZGw-1752051595-1.2.1.1-VZ2S8yUrcCuOMLUgWfNv9a1LrtuhUKEd.uPN1Au_9tuTFYLra7ugoFBYKfsunvzrBOlYSYM0q8J7vpw.JhGZH0RO6MlaVBKH5olmoryhd6s11LXg7ZF1Ld_NedYoA7uKk_SBhbb1CCsj11S52U9VUve7twrLEjILmw3MEURU1eGqOOi3YGxtGgpQBNYgfnkJCoRkLB_6vQESw4RcIvO1j1BHMuyMVEkbn7sBtLEX52w","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${yield getBaseUrl("lux")}/${filter}/page/${page}/`,signal,providerContext)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("lux");return posts(1===page?`${baseUrl}/?s=${searchQuery}`:`${baseUrl}/page/${page}/?s=${searchQuery}`,signal,providerContext)});function posts(url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){var _a,_b;try{const{axios:axios,cheerio:cheerio}=providerContext,urlRes=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:url}),signal:signal}),$=cheerio.load(urlRes.data),posts=[];return null===(_b=null===(_a=$(".blog-items"))||void 0===_a?void 0:_a.children("article"))||void 0===_b||_b.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;const post={title:(null===(_e=null===(_d=null===(_c=null===(_b=null===(_a=$(element))||void 0===_a?void 0:_a.find("a"))||void 0===_b?void 0:_b.attr("title"))||void 0===_c?void 0:_c.replace("Download",""))||void 0===_d?void 0:_d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/))||void 0===_e?void 0:_e[0])||(null===(_h=null===(_g=null===(_f=$(element))||void 0===_f?void 0:_f.find("a"))||void 0===_g?void 0:_g.attr("title"))||void 0===_h?void 0:_h.replace("Download",""))||"",link:(null===(_k=null===(_j=$(element))||void 0===_j?void 0:_j.find("a"))||void 0===_k?void 0:_k.attr("href"))||"",image:$(element).find("a").find("img").attr("data-lazy-src")||$(element).find("a").find("img").attr("data-src")||$(element).find("a").find("img").attr("src")||""};post.image.startsWith("//")&&(post.image="https:"+post.image),posts.push(post)}),posts}catch(error){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/luxMovies/stream.js b/dist/luxMovies/stream.js index 71a2787..08d59c9 100644 --- a/dist/luxMovies/stream.js +++ b/dist/luxMovies/stream.js @@ -1,103 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = getStream; -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: "_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw", - "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 getStream(_a) { - return __awaiter(this, arguments, void 0, function* ({ link, type, signal, providerContext, }) { - var _b, _c, _d, _e; - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; - try { - const streamLinks = []; - console.log("dotlink", link); - if (type === "movie") { - // vlink - const dotlinkRes = yield axios(`${link}`, { headers }); - const dotlinkText = dotlinkRes.data; - // console.log('dotlinkText', dotlinkText); - const vlink = dotlinkText.match(/ { - const seriesTitle = $(element).text(); - const episodesLink = $(element).find("a").attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - $("a.maxbutton").map((i, element) => { - const seriesTitle = $(element).children("span").text(); - const episodesLink = $(element).attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=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[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/mod/meta.js b/dist/mod/meta.js index 43ca4ca..b946fd5 100644 --- a/dist/mod/meta.js +++ b/dist/mod/meta.js @@ -1,75 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const meta = { - title: $(".imdbwp__title").text(), - synopsis: $(".imdbwp__teaser").text(), - image: $(".imdbwp__thumb").find("img").attr("src") || "", - imdbId: ((_b = $(".imdbwp__link").attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || "", - type: $(".thecontent").text().toLocaleLowerCase().includes("season") - ? "series" - : "movie", - }; - const links = []; - $("h3,h4").map((i, element) => { - var _a; - const seriesTitle = $(element).text(); - // const batchZipLink = $(element) - // .next("p") - // .find(".maxbutton-batch-zip,.maxbutton-zip-download") - // .attr("href"); - const episodesLink = $(element) - .next("p") - .find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download") - .attr("href"); - const movieLink = $(element) - .next("p") - .find(".maxbutton-download-links") - .attr("href"); - if (movieLink || - (episodesLink && episodesLink !== "javascript:void(0);")) { - links.push({ - title: seriesTitle.replace("Download ", "").trim() || "Download", - episodesLink: episodesLink || "", - directLinks: movieLink - ? [{ link: movieLink, title: "Movie", type: "movie" }] - : [], - quality: ((_a = seriesTitle === null || seriesTitle === void 0 ? void 0 : seriesTitle.match(/\d+p\b/)) === null || _a === void 0 ? void 0 : _a[0]) || "", - }); - } - }); - // console.log('mod meta', links); - return Object.assign(Object.assign({}, meta), { linkList: links }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),meta={title:$(".imdbwp__title").text(),synopsis:$(".imdbwp__teaser").text(),image:$(".imdbwp__thumb").find("img").attr("src")||"",imdbId:(null===(_b=$(".imdbwp__link").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type:$(".thecontent").text().toLocaleLowerCase().includes("season")?"series":"movie"},links=[];return $("h3,h4").map((i,element)=>{var _a;const seriesTitle=$(element).text(),episodesLink=$(element).next("p").find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download").attr("href"),movieLink=$(element).next("p").find(".maxbutton-download-links").attr("href");(movieLink||episodesLink&&"javascript:void(0);"!==episodesLink)&&links.push({title:seriesTitle.replace("Download ","").trim()||"Download",episodesLink:episodesLink||"",directLinks:movieLink?[{link:movieLink,title:"Movie",type:"movie"}]:[],quality:(null===(_a=null==seriesTitle?void 0:seriesTitle.match(/\d+p\b/))||void 0===_a?void 0:_a[0])||""})}),Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/mod/posts.js b/dist/mod/posts.js index 25fae11..cd0095f 100644 --- a/dist/mod/posts.js +++ b/dist/mod/posts.js @@ -1,59 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("Moviesmod"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts({ url, signal, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("Moviesmod"); - const url = `${baseUrl}/search/${searchQuery}/page/${page}/`; - return posts({ url, signal, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, axios, cheerio, }) { - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $(".post-cards") - .find("article") - .map((i, element) => { - const title = $(element).find("a").attr("title"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("modGetPosts error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("Moviesmod"))+filter}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("Moviesmod")}/search/${searchQuery}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".post-cards").find("article").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/mod/stream.js b/dist/mod/stream.js index 3dea75c..c0a70d8 100644 --- a/dist/mod/stream.js +++ b/dist/mod/stream.js @@ -1,274 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -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", -}; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, type, providerContext, }) { - var _b, _c; - const { axios, cheerio } = providerContext; - try { - const modGetEpisodeLinks = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - var _b; - const { axios, cheerio } = providerContext; - try { - if (url.includes("url=")) { - url = atob(url.split("url=")[1]); - } - const res = yield axios.get(url); - const html = res.data; - let $ = cheerio.load(html); - if (url.includes("url=")) { - const newUrl = (_b = $("meta[http-equiv='refresh']") - .attr("content")) === null || _b === void 0 ? void 0 : _b.split("url=")[1]; - const res2 = yield axios.get(newUrl || url); - const html2 = res2.data; - $ = cheerio.load(html2); - } - const episodeLinks = []; - $("h3,h4").map((i, element) => { - const seriesTitle = $(element).text(); - const episodesLink = $(element).find("a").attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - $("a.maxbutton").map((i, element) => { - const seriesTitle = $(element).children("span").text(); - const episodesLink = $(element).attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error(err); - return []; - } - }); - }; - console.log("modGetStream", type, url); - if (type === "movie") { - const servers = yield modGetEpisodeLinks({ url, providerContext }); - url = servers[0].link || url; - } - let downloadLink = yield modExtractor(url, providerContext); - // console.log(downloadLink.data); - const ddl = ((_c = (_b = downloadLink === null || downloadLink === void 0 ? void 0 : downloadLink.data) === null || _b === void 0 ? void 0 : _b.match(/content="0;url=(.*?)"/)) === null || _c === void 0 ? void 0 : _c[1]) || url; - // console.log('ddl', url); - // console.log(ddl); - // console.log(ddl); - const servers = []; - const driveLink = yield isDriveLink(ddl); - const driveRes = yield axios.get(driveLink, { headers }); - const driveHtml = driveRes.data; - const $drive = cheerio.load(driveHtml); - try { - const resumeBot = $drive(".btn.btn-light").attr("href") || ""; - const resumeBotRes = yield axios.get(resumeBot, { headers }); - const resumeBotToken = resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1]; - const resumeBotBody = new FormData(); - resumeBotBody.append("token", resumeBotToken); - const resumeBotPath = resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1]; - const resumeBotBaseUrl = resumeBot.split("/download")[0]; - // console.log( - // 'resumeBotPath', - // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // ); - // console.log('resumeBotBody', resumeBotToken); - const resumeBotDownload = yield fetch(resumeBotBaseUrl + "/download?id=" + resumeBotPath, { - method: "POST", - body: resumeBotBody, - headers: { - Referer: resumeBot, - Cookie: "PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308", - }, - }); - const resumeBotDownloadData = yield resumeBotDownload.json(); - console.log("resumeBotDownloadData", resumeBotDownloadData.url); - servers.push({ - server: "ResumeBot", - link: resumeBotDownloadData.url, - type: "mkv", - }); - } - catch (err) { - console.log("ResumeBot link not found", err); - } - // CF workers type 1 - try { - const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=1"; - const cfWorkersRes = yield axios.get(cfWorkersLink, { headers }); - const cfWorkersHtml = cfWorkersRes.data; - const $cfWorkers = cheerio.load(cfWorkersHtml); - const cfWorkersStream = $cfWorkers(".btn-success"); - cfWorkersStream.each((i, el) => { - var _a; - const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href; - if (link) { - servers.push({ - server: "Cf Worker 1." + i, - link: link, - type: "mkv", - }); - } - }); - } - catch (err) { - console.log("CF workers link not found", err); - } - // CF workers type 2 - try { - const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=2"; - const cfWorkersRes = yield axios.get(cfWorkersLink, { headers }); - const cfWorkersHtml = cfWorkersRes.data; - const $cfWorkers = cheerio.load(cfWorkersHtml); - const cfWorkersStream = $cfWorkers(".btn-success"); - cfWorkersStream.each((i, el) => { - var _a; - const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href; - if (link) { - servers.push({ - server: "Cf Worker 2." + i, - link: link, - type: "mkv", - }); - } - }); - } - catch (err) { - console.log("CF workers link not found", err); - } - // gdrive - //instant link - try { - const seed = $drive(".btn-danger").attr("href") || ""; - const instantToken = seed.split("=")[1]; - // console.log('InstantToken', instantToken); - const InstantFromData = new FormData(); - InstantFromData.append("keys", instantToken); - const videoSeedUrl = seed.split("/").slice(0, 3).join("/") + "/api"; - // console.log('videoSeedUrl', videoSeedUrl); - const instantLinkRes = yield fetch(videoSeedUrl, { - method: "POST", - body: InstantFromData, - headers: { - "x-token": videoSeedUrl, - }, - }); - const instantLinkData = yield instantLinkRes.json(); - // console.log('instantLinkData', instantLinkData); - if (instantLinkData.error === false) { - const instantLink = instantLinkData.url; - servers.push({ - server: "Gdrive-Instant", - link: instantLink, - type: "mkv", - }); - } - else { - console.log("Instant link not found", instantLinkData); - } - } - catch (err) { - console.log("Instant link not found", err); - } - return servers; - } - catch (err) { - console.log("getStream error", 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); - const driveLeachData = yield driveLeach.text(); - const pathMatch = driveLeachData.match(/window\.location\.replace\("([^"]+)"\)/); - const path = pathMatch === null || pathMatch === void 0 ? void 0 : pathMatch[1]; - const mainUrl = ddl.split("/")[2]; - console.log(`driveUrl = https://${mainUrl}${path}`); - return `https://${mainUrl}${path}`; - } - else { - return ddl; - } -}); -function modExtractor(url, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const { axios, 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, - }); - const data = yield res.text(); - // console.log('', data); - const html = data; - const $ = cheerio.load(html); - // find input with name="_wp_http2" - const wpHttp2 = $("input").attr("name", "_wp_http2").val(); - // console.log('wpHttp2', wpHttp2); - // form data - var bodyFormData = new FormData(); - bodyFormData.append("_wp_http2", wpHttp2); - const formUrl1 = $("form").attr("action"); - const formUrl = formUrl1 || url.split("?")[0]; - const res2 = yield fetch(formUrl, { - method: "POST", - body: bodyFormData, - }); - const html2 = yield res2.text(); - const link = html2.match(/setAttribute\("href",\s*"(.*?)"/)[1]; - console.log(link); - const cookie = link.split("=")[1]; - console.log("cookie", cookie); - const downloadLink = yield axios.get(link, { - headers: { - Referer: formUrl, - Cookie: `${cookie}=${wpHttp2}`, - }, - }); - return downloadLink; - } - catch (err) { - console.log("modGetStream error", err); - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),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{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")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;servers.push({server:"Gdrive-Instant",link:instantLink,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){}})} \ No newline at end of file diff --git a/dist/moviesApi/stream.js b/dist/moviesApi/stream.js index 00f770b..2c84eb6 100644 --- a/dist/moviesApi/stream.js +++ b/dist/moviesApi/stream.js @@ -1,97 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.mpGetStream = void 0; -const mpGetStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, type, providerContext, }) { - var _b, _c; - try { - const { getBaseUrl, cheerio } = providerContext; - const streams = []; - const { season, episode, tmdbId } = JSON.parse(id); - const baseUrl = yield getBaseUrl("moviesapi"); - const link = type === "movie" - ? `${baseUrl}/movie/${tmdbId}` - : `${baseUrl}/tv/${tmdbId}-${season}-${episode}`; - const res = yield fetch(link, { - headers: { - referer: baseUrl, - }, - }); - const baseData = yield res.text(); - const $ = cheerio.load(baseData); - const embededUrl = $("iframe").attr("src") || ""; - const response = yield fetch(embededUrl, { - credentials: "omit", - headers: { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0", - Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - "Alt-Used": "w1.moviesapi.club", - "Upgrade-Insecure-Requests": "1", - "Sec-Fetch-Dest": "document", - "Sec-Fetch-Mode": "navigate", - "Sec-Fetch-Site": "none", - "Sec-Fetch-User": "?1", - Pragma: "no-cache", - "Cache-Control": "no-cache", - referer: baseUrl, - }, - referrer: baseUrl, - method: "GET", - mode: "cors", - }); - const data2 = yield response.text(); - // Extract the encrypted content - const contents = ((_b = data2.match(/const\s+Encrypted\s*=\s*['"]({.*})['"]/)) === null || _b === void 0 ? void 0 : _b[1]) || ""; - if (embededUrl) { - const res2 = yield fetch("https://ext.8man.me/api/decrypt?passphrase==JV[t}{trEV=Ilh5", { - method: "POST", - body: contents, - }); - const finalData = yield res2.json(); - const subtitle = (_c = finalData === null || finalData === void 0 ? void 0 : finalData.subtitles) === null || _c === void 0 ? void 0 : _c.map((sub) => { - var _a; - return ({ - title: (sub === null || sub === void 0 ? void 0 : sub.label) || "Unknown", - language: sub === null || sub === void 0 ? void 0 : sub.label, - type: ((_a = sub === null || sub === void 0 ? void 0 : sub.file) === null || _a === void 0 ? void 0 : _a.includes(".vtt")) ? "text/vtt" : "application/x-subrip", - uri: sub === null || sub === void 0 ? void 0 : sub.file, - }); - }); - streams.push({ - server: "vidstreaming ", - type: "m3u8", - subtitles: subtitle, - link: finalData === null || finalData === void 0 ? void 0 : finalData.videoUrl, - headers: { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0", - Referer: baseUrl, - Origin: baseUrl, - Accept: "*/*", - "Accept-Language": "en-US,en;q=0.5", - "Sec-Fetch-Dest": "empty", - "Sec-Fetch-Mode": "cors", - "Sec-Fetch-Site": "cross-site", - Pragma: "no-cache", - "Cache-Control": "no-cache", - }, - }); - } - return streams; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.mpGetStream = mpGetStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.mpGetStream=void 0;const mpGetStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){var _b,_c;try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,streams=[],{season:season,episode:episode,tmdbId:tmdbId}=JSON.parse(id),baseUrl=yield getBaseUrl("moviesapi"),link="movie"===type?`${baseUrl}/movie/${tmdbId}`:`${baseUrl}/tv/${tmdbId}-${season}-${episode}`,res=yield fetch(link,{headers:{referer:baseUrl}}),baseData=yield res.text(),embededUrl=cheerio.load(baseData)("iframe").attr("src")||"",response=yield fetch(embededUrl,{credentials:"omit",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Alt-Used":"w1.moviesapi.club","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1",Pragma:"no-cache","Cache-Control":"no-cache",referer:baseUrl},referrer:baseUrl,method:"GET",mode:"cors"}),contents=(null===(_b=(yield response.text()).match(/const\s+Encrypted\s*=\s*['"]({.*})['"]/))||void 0===_b?void 0:_b[1])||"";if(embededUrl){const res2=yield fetch("https://ext.8man.me/api/decrypt?passphrase==JV[t}{trEV=Ilh5",{method:"POST",body:contents}),finalData=yield res2.json(),subtitle=null===(_c=null==finalData?void 0:finalData.subtitles)||void 0===_c?void 0:_c.map(sub=>{var _a;return{title:(null==sub?void 0:sub.label)||"Unknown",language:null==sub?void 0:sub.label,type:(null===(_a=null==sub?void 0:sub.file)||void 0===_a?void 0:_a.includes(".vtt"))?"text/vtt":"application/x-subrip",uri:null==sub?void 0:sub.file}});streams.push({server:"vidstreaming ",type:"m3u8",subtitles:subtitle,link:null==finalData?void 0:finalData.videoUrl,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Referer:baseUrl,Origin:baseUrl,Accept:"*/*","Accept-Language":"en-US,en;q=0.5","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site",Pragma:"no-cache","Cache-Control":"no-cache"}})}return streams}catch(err){return[]}})};exports.mpGetStream=mpGetStream; \ No newline at end of file diff --git a/dist/moviezwap/catalog.js b/dist/moviezwap/catalog.js index c33f15e..026bec3 100644 --- a/dist/moviezwap/catalog.js +++ b/dist/moviezwap/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Telugu Movies", - filter: "/category/Telugu-(2025)-Movies.html", - }, - { - title: "Tamil Movies", - filter: "/category/Tamil-(2025)-Movies.html", - }, - { - title: "Hollywood Telugu Dubbed", - filter: "/category/Telugu-Dubbed-Hollywood-Movies-Complete-Set.html", - }, - { - title: "Web Series", - filter: "/category/Telugu-Web-Series.html", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Telugu Movies",filter:"/category/Telugu-(2025)-Movies.html"},{title:"Tamil Movies",filter:"/category/Tamil-(2025)-Movies.html"},{title:"Hollywood Telugu Dubbed",filter:"/category/Telugu-Dubbed-Hollywood-Movies-Complete-Set.html"},{title:"Web Series",filter:"/category/Telugu-Web-Series.html"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/moviezwap/episodes.js b/dist/moviezwap/episodes.js index 4a86787..48e6b76 100644 --- a/dist/moviezwap/episodes.js +++ b/dist/moviezwap/episodes.js @@ -1,46 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - const { axios, cheerio, getBaseUrl } = providerContext; - try { - const res = yield axios.get(url); - const baseUrl = yield getBaseUrl("moviezwap"); - const html = res.data; - const $ = cheerio.load(html); - const episodeLinks = []; - $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i, el) => { - var _a; - const downloadPage = ((_a = $(el).attr("href")) === null || _a === void 0 ? void 0 : _a.replace("dwload.php", "download.php")) || ""; - let text = $(el).text().trim(); - if (text.includes("Download page")) { - // Remove "Download" from the text - text = "Play"; - } - if (downloadPage && text) { - // Only add links with quality in text - episodeLinks.push({ - title: text, - link: baseUrl + downloadPage, - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext;try{const res=yield axios.get(url),baseUrl=yield getBaseUrl("moviezwap"),html=res.data,$=cheerio.load(html),episodeLinks=[];return $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i,el)=>{var _a;const downloadPage=(null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.replace("dwload.php","download.php"))||"";let text=$(el).text().trim();text.includes("Download page")&&(text="Play"),downloadPage&&text&&episodeLinks.push({title:text,link:baseUrl+downloadPage})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/moviezwap/meta.js b/dist/moviezwap/meta.js index fe1ca83..44ba006 100644 --- a/dist/moviezwap/meta.js +++ b/dist/moviezwap/meta.js @@ -1,106 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { axios, cheerio, getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("moviezwap"); - const url = link.startsWith("http") ? link : `${baseUrl}${link}`; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - // 1. Poster image find image with width 260 - let image = $('img[width="260"]').attr("src") || ""; - if (image && !image.startsWith("http")) { - image = baseUrl + image; - } - const tags = $("font[color='steelblue']") - .map((i, el) => $(el).text().trim()) - .get() - .slice(0, 2); - // 2. Title - const title = $("title").text().replace(" - MoviezWap", "").trim() || ""; - // 3. Info table - let synopsis = ""; - let imdbId = ""; - let type = "movie"; - let infoRows = []; - $("td:contains('Movie Information')") - .parent() - .nextAll("tr") - .each((i, el) => { - const tds = $(el).find("td"); - if (tds.length === 2) { - const key = tds.eq(0).text().trim(); - const value = tds.eq(1).text().trim(); - infoRows.push(`${key}: ${value}`); - if (key.toLowerCase().includes("plot")) - synopsis = value; - if (key.toLowerCase().includes("imdb")) - imdbId = value; - } - }); - if (!synopsis) { - // fallback: try to find a

with plot - synopsis = $("p:contains('plot')").text().trim(); - } - // 4. Download links (multiple qualities) - const links = []; - $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i, el) => { - var _a; - const downloadPage = ((_a = $(el).attr("href")) === null || _a === void 0 ? void 0 : _a.replace("dwload.php", "download.php")) || ""; - const text = $(el).text().trim(); - if (downloadPage && /\d+p/i.test(text)) { - // Only add links with quality in text - links.push({ - title: text, - directLinks: [{ title: "Movie", link: baseUrl + downloadPage }], - }); - } - }); - $("img[src*='/images/play.png']").each((i, el) => { - const downloadPage = $(el).siblings("a").attr("href"); - const text = $(el).siblings("a").text().trim(); - console.log("Found link:🔥🔥", text, downloadPage); - if (downloadPage && text) { - links.push({ - title: text, - episodesLink: baseUrl + downloadPage, - }); - } - }); - return { - title, - synopsis, - image, - imdbId, - tags, - type, - linkList: links, - //info: infoRows.join("\n"), - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("moviezwap"),url=link.startsWith("http")?link:`${baseUrl}${link}`,data=(yield axios.get(url)).data,$=cheerio.load(data);let image=$('img[width="260"]').attr("src")||"";image&&!image.startsWith("http")&&(image=baseUrl+image);const tags=$("font[color='steelblue']").map((i,el)=>$(el).text().trim()).get().slice(0,2),title=$("title").text().replace(" - MoviezWap","").trim()||"";let synopsis="",imdbId="",type="movie",infoRows=[];$("td:contains('Movie Information')").parent().nextAll("tr").each((i,el)=>{const tds=$(el).find("td");if(2===tds.length){const key=tds.eq(0).text().trim(),value=tds.eq(1).text().trim();infoRows.push(`${key}: ${value}`),key.toLowerCase().includes("plot")&&(synopsis=value),key.toLowerCase().includes("imdb")&&(imdbId=value)}}),synopsis||(synopsis=$("p:contains('plot')").text().trim());const links=[];return $('a[href*="download.php?file="], a[href*="dwload.php?file="]').each((i,el)=>{var _a;const downloadPage=(null===(_a=$(el).attr("href"))||void 0===_a?void 0:_a.replace("dwload.php","download.php"))||"",text=$(el).text().trim();downloadPage&&/\d+p/i.test(text)&&links.push({title:text,directLinks:[{title:"Movie",link:baseUrl+downloadPage}]})}),$("img[src*='/images/play.png']").each((i,el)=>{const downloadPage=$(el).siblings("a").attr("href"),text=$(el).siblings("a").text().trim();downloadPage&&text&&links.push({title:text,episodesLink:baseUrl+downloadPage})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,tags:tags,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/moviezwap/posts.js b/dist/moviezwap/posts.js index b696579..36ee202 100644 --- a/dist/moviezwap/posts.js +++ b/dist/moviezwap/posts.js @@ -1,57 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("moviezwap"); - const url = `${baseUrl}${filter}`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("moviezwap"); - const url = `${baseUrl}/search.php?q=${encodeURIComponent(searchQuery)}`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, cheerio, }) { - try { - const res = yield fetch(url, { signal }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $('a[href^="/movie/"]').each((i, el) => { - const title = $(el).text().trim(); - const link = $(el).attr("href"); - const image = ""; - if (title && link) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("moviezwapGetPosts error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("moviezwap")}${filter}`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("moviezwap")}/search.php?q=${encodeURIComponent(searchQuery)}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $('a[href^="/movie/"]').each((i,el)=>{const title=$(el).text().trim(),link=$(el).attr("href");title&&link&&catalog.push({title:title,link:link,image:""})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/moviezwap/stream.js b/dist/moviezwap/stream.js index a71a814..3061d2f 100644 --- a/dist/moviezwap/stream.js +++ b/dist/moviezwap/stream.js @@ -1,35 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = getStream; -function getStream(_a) { - return __awaiter(this, arguments, void 0, function* ({ link, signal, providerContext, }) { - const { axios, cheerio, commonHeaders: headers } = providerContext; - const res = yield axios.get(link, { headers, signal }); - const html = res.data; - const $ = cheerio.load(html); - const Streams = []; - // Find the actual .mp4 download link - let downloadLink = null; - $('a:contains("Fast Download Server")').each((i, el) => { - const href = $(el).attr("href"); - if (href && href.toLocaleLowerCase().includes(".mp4")) { - Streams.push({ - link: href, - type: "mp4", - server: "Fast Download", - headers: headers, - }); - } - }); - return Streams; - }); -} +"use strict";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())})};function getStream(_a){return __awaiter(this,arguments,void 0,function*({link:link,signal:signal,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext,html=(yield axios.get(link,{headers:headers,signal:signal})).data,$=cheerio.load(html),Streams=[];return $('a:contains("Fast Download Server")').each((i,el)=>{const href=$(el).attr("href");href&&href.toLocaleLowerCase().includes(".mp4")&&Streams.push({link:href,type:"mp4",server:"Fast Download",headers:headers})}),Streams})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=getStream; \ No newline at end of file diff --git a/dist/multi/catalog.js b/dist/multi/catalog.js index c8a00cd..7d7016c 100644 --- a/dist/multi/catalog.js +++ b/dist/multi/catalog.js @@ -1,79 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Trending", - filter: "/trending/", - }, - { - title: "Netflix", - filter: "/genre/netflix/", - }, - { - title: "Amazon Prime", - filter: "/genre/amazon-prime/", - }, - { - title: "Disney Hotstar", - filter: "/genre/disney-hotstar/", - }, -]; -exports.genres = [ - { - title: "Action", - filter: "/genre/action/", - }, - { - title: "Adventure", - filter: "/genre/adventure/", - }, - { - title: "Animation", - filter: "/genre/animation/", - }, - { - title: "Comedy", - filter: "/genre/comedy/", - }, - { - title: "Crime", - filter: "/genre/crime/", - }, - { - title: "Drama", - filter: "/genre/drama/", - }, - { - title: "Family", - filter: "/genre/family/", - }, - { - title: "Fantasy", - filter: "/genre/fantasy/", - }, - { - title: "History", - filter: "/genre/history/", - }, - { - title: "Horror", - filter: "/genre/horror/", - }, - { - title: "Mystery", - filter: "/genre/mystery/", - }, - { - title: "Romance", - filter: "/genre/romance/", - }, - { - title: "Science Fiction", - filter: "/genre/science-fiction/", - }, - { - title: "Thriller", - filter: "/genre/thriller/", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Trending",filter:"/trending/"},{title:"Netflix",filter:"/genre/netflix/"},{title:"Amazon Prime",filter:"/genre/amazon-prime/"},{title:"Disney Hotstar",filter:"/genre/disney-hotstar/"}],exports.genres=[{title:"Action",filter:"/genre/action/"},{title:"Adventure",filter:"/genre/adventure/"},{title:"Animation",filter:"/genre/animation/"},{title:"Comedy",filter:"/genre/comedy/"},{title:"Crime",filter:"/genre/crime/"},{title:"Drama",filter:"/genre/drama/"},{title:"Family",filter:"/genre/family/"},{title:"Fantasy",filter:"/genre/fantasy/"},{title:"History",filter:"/genre/history/"},{title:"Horror",filter:"/genre/horror/"},{title:"Mystery",filter:"/genre/mystery/"},{title:"Romance",filter:"/genre/romance/"},{title:"Science Fiction",filter:"/genre/science-fiction/"},{title:"Thriller",filter:"/genre/thriller/"}]; \ No newline at end of file diff --git a/dist/multi/meta.js b/dist/multi/meta.js index 1192299..1783a04 100644 --- a/dist/multi/meta.js +++ b/dist/multi/meta.js @@ -1,87 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const type = url.includes("tvshows") ? "series" : "movie"; - const imdbId = ""; - const title = url.split("/")[4].replace(/-/g, " "); - const image = $(".g-item").find("a").attr("href") || ""; - const synopsis = $(".wp-content").find("p").text() || ""; - // Links - const links = []; - if (type === "series") { - $("#seasons") - .children() - .map((i, element) => { - const title = $(element) - .find(".title") - .children() - .remove() - .end() - .text(); - let episodesList = []; - $(element) - .find(".episodios") - .children() - .map((i, element) => { - const title = "Episode" + - $(element).find(".numerando").text().trim().split("-")[1]; - const link = $(element).find("a").attr("href"); - if (title && link) { - episodesList.push({ title, link }); - } - }); - if (title && episodesList.length > 0) { - links.push({ - title, - directLinks: episodesList, - }); - } - }); - } - else { - links.push({ - title: title, - directLinks: [{ title: title, link: url.slice(0, -1), type: "movie" }], - }); - } - // console.log('multi meta', links); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=url.includes("tvshows")?"series":"movie",imdbId="",title=url.split("/")[4].replace(/-/g," "),image=$(".g-item").find("a").attr("href")||"",synopsis=$(".wp-content").find("p").text()||"",links=[];return"series"===type?$("#seasons").children().map((i,element)=>{const title=$(element).find(".title").children().remove().end().text();let episodesList=[];$(element).find(".episodios").children().map((i,element)=>{const title="Episode"+$(element).find(".numerando").text().trim().split("-")[1],link=$(element).find("a").attr("href");title&&link&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&links.push({title:title,directLinks:episodesList})}):links.push({title:title,directLinks:[{title:title,link:url.slice(0,-1),type:"movie"}]}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/multi/posts.js b/dist/multi/posts.js index 1aa8c61..a175067 100644 --- a/dist/multi/posts.js +++ b/dist/multi/posts.js @@ -1,60 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("multi"); - const url = `${baseUrl + filter}page/${page}/`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, signal, providerContext, }) { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("multi"); - const url = `${baseUrl}/?s=${searchQuery}`; - return posts({ url, signal, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, cheerio, }) { - try { - const res = yield fetch(url, { signal }); - const data = yield res.text(); - const $ = cheerio.load(data); - const catalog = []; - $(".items.full") - .children() - .map((i, element) => { - const title = $(element).find(".poster").find("img").attr("alt"); - const link = $(element).find(".poster").find("a").attr("href"); - const image = $(element).find(".poster").find("img").attr("data-src") || - $(element).find(".poster").find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("multiGetPosts error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("multi"))+filter}page/${page}/`,signal:signal,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("multi")}/?s=${searchQuery}`,signal:signal,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,cheerio:cheerio}){try{const res=yield fetch(url,{signal:signal}),data=yield res.text(),$=cheerio.load(data),catalog=[];return $(".items.full").children().map((i,element)=>{const title=$(element).find(".poster").find("img").attr("alt"),link=$(element).find(".poster").find("a").attr("href"),image=$(element).find(".poster").find("img").attr("data-src")||$(element).find(".poster").find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/multi/stream.js b/dist/multi/stream.js index 7ba51e6..9656a50 100644 --- a/dist/multi/stream.js +++ b/dist/multi/stream.js @@ -1,139 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j, _k; - const { axios, cheerio } = providerContext; - const headers = { - "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"', - Referer: "https://multimovies.online/", - "Sec-Fetch-User": "?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", - }; - try { - const res = yield axios.get(url, { headers }); - const html = res.data; - const $ = cheerio.load(html); - const streamLinks = []; - const postId = $("#player-option-1").attr("data-post"); - const nume = $("#player-option-1").attr("data-nume"); - const typeValue = $("#player-option-1").attr("data-type"); - const baseUrl = url.split("/").slice(0, 3).join("/"); - console.log("baseUrl", baseUrl); - const formData = new FormData(); - formData.append("action", "doo_player_ajax"); - formData.append("post", postId || ""); - formData.append("nume", nume || ""); - formData.append("type", typeValue || ""); - console.log("formData", formData); - const playerRes = yield fetch(`${baseUrl}/wp-admin/admin-ajax.php`, { - headers: headers, - body: formData, - method: "POST", - }); - const playerData = yield playerRes.json(); - console.log("playerData", playerData); - let ifameUrl = ((_c = (_b = playerData === null || playerData === void 0 ? void 0 : playerData.embed_url) === null || _b === void 0 ? void 0 : _b.match(/]+src="([^"]+)"[^>]*>/i)) === null || _c === void 0 ? void 0 : _c[1]) || - (playerData === null || playerData === void 0 ? void 0 : playerData.embed_url); - console.log("ifameUrl", ifameUrl); - if (!ifameUrl.includes("multimovies")) { - let playerBaseUrl = ifameUrl.split("/").slice(0, 3).join("/"); - const newPlayerBaseUrl = yield axios.head(playerBaseUrl, { headers }); - if (newPlayerBaseUrl) { - playerBaseUrl = (_e = (_d = newPlayerBaseUrl.request) === null || _d === void 0 ? void 0 : _d.responseURL) === null || _e === void 0 ? void 0 : _e.split("/").slice(0, 3).join("/"); - } - const playerId = ifameUrl.split("/").pop(); - const NewformData = new FormData(); - NewformData.append("sid", playerId); - console.log("NewformData", playerBaseUrl + "/embedhelper.php", NewformData); - const playerRes = yield fetch(`${playerBaseUrl}/embedhelper.php`, { - headers: headers, - body: NewformData, - method: "POST", - }); - const playerData = yield playerRes.json(); - // console.log('playerData', playerData); - const siteUrl = (_f = playerData === null || playerData === void 0 ? void 0 : playerData.siteUrls) === null || _f === void 0 ? void 0 : _f.smwh; - const siteId = ((_g = JSON.parse(atob(playerData === null || playerData === void 0 ? void 0 : playerData.mresult))) === null || _g === void 0 ? void 0 : _g.smwh) || - ((_h = playerData === null || playerData === void 0 ? void 0 : playerData.mresult) === null || _h === void 0 ? void 0 : _h.smwh); - const newIframeUrl = siteUrl + siteId; - console.log("newIframeUrl", newIframeUrl); - if (newIframeUrl) { - ifameUrl = newIframeUrl; - } - } - const iframeRes = yield axios.get(ifameUrl, { - headers: Object.assign(Object.assign({}, headers), { Referer: url }), - }); - const iframeData = iframeRes.data; - // Step 1: Extract the function parameters and the encoded string - var functionRegex = /eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/; - var match = functionRegex.exec(iframeData); - let p = ""; - if (match) { - // var params = match[1].split(',').map(param => param.trim()); - var encodedString = match[2]; - // console.log('Parameters:', params); - // console.log('Encoded String:', encodedString.split("',36,")[0], '🔥🔥'); - p = (_j = encodedString.split("',36,")) === null || _j === void 0 ? void 0 : _j[0].trim(); - let a = 36; - let c = encodedString.split("',36,")[1].slice(2).split("|").length; - let k = encodedString.split("',36,")[1].slice(2).split("|"); - while (c--) { - if (k[c]) { - var regex = new RegExp("\\b" + c.toString(a) + "\\b", "g"); - p = p.replace(regex, k[c]); - } - } - // console.log('Decoded String:', p); - } - else { - console.log("No match found"); - } - const streamUrl = (_k = p === null || p === void 0 ? void 0 : p.match(/https?:\/\/[^"]+?\.m3u8[^"]*/)) === null || _k === void 0 ? void 0 : _k[0]; - const subtitles = []; - const subtitleMatch = p === null || p === void 0 ? void 0 : p.match(/https:\/\/[^\s"]+\.vtt/g); - // console.log('subtitleMatch', subtitleMatch); - // console.log('streamUrl', streamUrl); - if (subtitleMatch === null || subtitleMatch === void 0 ? void 0 : subtitleMatch.length) { - subtitleMatch.forEach((sub) => { - const lang = sub.match(/_([a-zA-Z]{3})\.vtt$/)[1]; - subtitles.push({ - language: lang, - uri: sub, - type: "text/vtt", - title: lang, - }); - }); - } - console.log("streamUrl", streamUrl); - console.log("newUrl", streamUrl === null || streamUrl === void 0 ? void 0 : streamUrl.replace(/&i=\d+,'\.4&/, "&i=0.4&")); - if (streamUrl) { - streamLinks.push({ - server: "Multi", - link: streamUrl.replace(/&i=\d+,'\.4&/, "&i=0.4&"), - type: "m3u8", - subtitles: subtitles, - }); - } - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k;const{axios:axios,cheerio:cheerio}=providerContext,headers={"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"',Referer:"https://multimovies.online/","Sec-Fetch-User":"?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"};try{const html=(yield axios.get(url,{headers:headers})).data,$=cheerio.load(html),streamLinks=[],postId=$("#player-option-1").attr("data-post"),nume=$("#player-option-1").attr("data-nume"),typeValue=$("#player-option-1").attr("data-type"),baseUrl=url.split("/").slice(0,3).join("/"),formData=new FormData;formData.append("action","doo_player_ajax"),formData.append("post",postId||""),formData.append("nume",nume||""),formData.append("type",typeValue||"");const playerRes=yield fetch(`${baseUrl}/wp-admin/admin-ajax.php`,{headers:headers,body:formData,method:"POST"}),playerData=yield playerRes.json();let ifameUrl=(null===(_c=null===(_b=null==playerData?void 0:playerData.embed_url)||void 0===_b?void 0:_b.match(/]+src="([^"]+)"[^>]*>/i))||void 0===_c?void 0:_c[1])||(null==playerData?void 0:playerData.embed_url);if(!ifameUrl.includes("multimovies")){let playerBaseUrl=ifameUrl.split("/").slice(0,3).join("/");const newPlayerBaseUrl=yield axios.head(playerBaseUrl,{headers:headers});newPlayerBaseUrl&&(playerBaseUrl=null===(_e=null===(_d=newPlayerBaseUrl.request)||void 0===_d?void 0:_d.responseURL)||void 0===_e?void 0:_e.split("/").slice(0,3).join("/"));const playerId=ifameUrl.split("/").pop(),NewformData=new FormData;NewformData.append("sid",playerId);const playerRes=yield fetch(`${playerBaseUrl}/embedhelper.php`,{headers:headers,body:NewformData,method:"POST"}),playerData=yield playerRes.json(),siteUrl=null===(_f=null==playerData?void 0:playerData.siteUrls)||void 0===_f?void 0:_f.smwh,newIframeUrl=siteUrl+((null===(_g=JSON.parse(atob(null==playerData?void 0:playerData.mresult)))||void 0===_g?void 0:_g.smwh)||(null===(_h=null==playerData?void 0:playerData.mresult)||void 0===_h?void 0:_h.smwh));newIframeUrl&&(ifameUrl=newIframeUrl)}const iframeData=(yield axios.get(ifameUrl,{headers:Object.assign(Object.assign({},headers),{Referer:url})})).data;var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(iframeData);let p="";if(match){var encodedString=match[2];p=null===(_j=encodedString.split("',36,"))||void 0===_j?void 0:_j[0].trim();let a=36,c=encodedString.split("',36,")[1].slice(2).split("|").length,k=encodedString.split("',36,")[1].slice(2).split("|");for(;c--;)if(k[c]){var regex=new RegExp("\\b"+c.toString(a)+"\\b","g");p=p.replace(regex,k[c])}}const streamUrl=null===(_k=null==p?void 0:p.match(/https?:\/\/[^"]+?\.m3u8[^"]*/))||void 0===_k?void 0:_k[0],subtitles=[],subtitleMatch=null==p?void 0:p.match(/https:\/\/[^\s"]+\.vtt/g);return(null==subtitleMatch?void 0:subtitleMatch.length)&&subtitleMatch.forEach(sub=>{const lang=sub.match(/_([a-zA-Z]{3})\.vtt$/)[1];subtitles.push({language:lang,uri:sub,type:"text/vtt",title:lang})}),streamUrl&&streamLinks.push({server:"Multi",link:streamUrl.replace(/&i=\d+,'\.4&/,"&i=0.4&"),type:"m3u8",subtitles:subtitles}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/netflixMirror/catalog.js b/dist/netflixMirror/catalog.js index f01210e..8e65032 100644 --- a/dist/netflixMirror/catalog.js +++ b/dist/netflixMirror/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Home", - filter: "/mobile/home?app=1", - }, - { - title: "Series", - filter: "/mobile/series", - }, - { - title: "Movies", - filter: "/mobile/movies", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:"/mobile/home?app=1"},{title:"Series",filter:"/mobile/series"},{title:"Movies",filter:"/mobile/movies"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/netflixMirror/episodes.js b/dist/netflixMirror/episodes.js index 65ec8ea..c95d940 100644 --- a/dist/netflixMirror/episodes.js +++ b/dist/netflixMirror/episodes.js @@ -1,64 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url: link, providerContext, }) { - var _b; - const { getBaseUrl, axios } = providerContext; - let providerValue = "netflixMirror"; - try { - const baseUrl = yield getBaseUrl("nfMirror"); - const url = `${baseUrl}${providerValue === "netflixMirror" - ? "/episodes.php?s=" - : "/pv/episodes.php?s="}` + - link + - "&t=" + - Math.round(new Date().getTime() / 1000); - console.log("nfEpisodesUrl", url); - let page = 1; - let hasMorePages = true; - const episodeList = []; - while (hasMorePages) { - const res = yield axios.get(url + `&page=${page}`, { - headers: { - "Content-Type": "application/json", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36", - "Accept-Language": "en-US,en;q=0.9", - }, - }); - const data = res.data; - (_b = data === null || data === void 0 ? void 0 : data.episodes) === null || _b === void 0 ? void 0 : _b.map((episode) => { - episodeList.push({ - title: "Episode " + (episode === null || episode === void 0 ? void 0 : episode.ep.replace("E", "")), - link: episode === null || episode === void 0 ? void 0 : episode.id, - }); - }); - if (data === null || data === void 0 ? void 0 : data.nextPageShow) { - page++; - } - else { - hasMorePages = false; - } - } - return episodeList.sort((a, b) => { - const aNum = parseInt(a.title.replace("Episode ", "")); - const bNum = parseInt(b.title.replace("Episode ", "")); - return aNum - bNum; - }); - } - catch (err) { - console.error("nfGetEpisodes error", err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:link,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;try{const url=`${yield getBaseUrl("nfMirror")}/episodes.php?s=`+link+"&t="+Math.round((new Date).getTime()/1e3);let page=1,hasMorePages=!0;const episodeList=[];for(;hasMorePages;){const data=(yield axios.get(url+`&page=${page}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","Accept-Language":"en-US,en;q=0.9"}})).data;null===(_b=null==data?void 0:data.episodes)||void 0===_b||_b.map(episode=>{episodeList.push({title:"Episode "+(null==episode?void 0:episode.ep.replace("E","")),link:null==episode?void 0:episode.id})}),(null==data?void 0:data.nextPageShow)?page++:hasMorePages=!1}return episodeList.sort((a,b)=>parseInt(a.title.replace("Episode ",""))-parseInt(b.title.replace("Episode ","")))}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/netflixMirror/meta.js b/dist/netflixMirror/meta.js index 45dc3ec..3a64413 100644 --- a/dist/netflixMirror/meta.js +++ b/dist/netflixMirror/meta.js @@ -1,66 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, }) { - var _b, _c, _d, _e; - let providerValue = "netflixMirror"; - try { - const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false"; - const url = `https://netmirror.zendax.tech/api/net-proxy?${isPrime}&url=${encodeURIComponent(link)}`; - console.log("nfifo", url); - const res = yield fetch(url, { - credentials: "omit", - }); - const data = yield res.json(); - const id = (_b = link.split("id=")[1]) === null || _b === void 0 ? void 0 : _b.split("&")[0]; - const meta = { - title: data.title, - synopsis: data.desc, - image: `https://img.nfmirrorcdn.top/poster/h/${id}.jpg`, - cast: (_c = data === null || data === void 0 ? void 0 : data.short_cast) === null || _c === void 0 ? void 0 : _c.split(","), - tags: [data === null || data === void 0 ? void 0 : data.year, data === null || data === void 0 ? void 0 : data.hdsd, ...(_d = data === null || data === void 0 ? void 0 : data.thismovieis) === null || _d === void 0 ? void 0 : _d.split(",")], - imdbId: "", - type: "series", - }; - console.log("nfinfo", meta); - const linkList = []; - if (((_e = data === null || data === void 0 ? void 0 : data.season) === null || _e === void 0 ? void 0 : _e.length) > 0) { - data.season.map((season) => { - linkList.push({ - title: "Season " + (season === null || season === void 0 ? void 0 : season.s), - episodesLink: season === null || season === void 0 ? void 0 : season.id, - }); - }); - } - else { - linkList.push({ - title: meta.title, - directLinks: [{ link: id, title: "Movie", type: "movie" }], - }); - } - return Object.assign(Object.assign({}, meta), { linkList: linkList }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){var _b,_c,_d,_e;try{const url=`https://netmirror.zendax.tech/api/net-proxy?${"isPrime=false"}&url=${encodeURIComponent(link)}`,res=yield fetch(url,{credentials:"omit"}),data=yield res.json(),id=null===(_b=link.split("id=")[1])||void 0===_b?void 0:_b.split("&")[0],meta={title:data.title,synopsis:data.desc,image:`https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,cast:null===(_c=null==data?void 0:data.short_cast)||void 0===_c?void 0:_c.split(","),tags:[null==data?void 0:data.year,null==data?void 0:data.hdsd,...null===(_d=null==data?void 0:data.thismovieis)||void 0===_d?void 0:_d.split(",")],imdbId:"",type:"series"},linkList=[];return(null===(_e=null==data?void 0:data.season)||void 0===_e?void 0:_e.length)>0?data.season.map(season=>{linkList.push({title:"Season "+(null==season?void 0:season.s),episodesLink:null==season?void 0:season.id})}):linkList.push({title:meta.title,directLinks:[{link:id,title:"Movie",type:"movie"}]}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/netflixMirror/posts.js b/dist/netflixMirror/posts.js index 8d82817..73b4d27 100644 --- a/dist/netflixMirror/posts.js +++ b/dist/netflixMirror/posts.js @@ -1,108 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, providerValue, signal, providerContext, }) { - try { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("nfMirror"); - const catalog = []; - if (page > 1) { - return []; - } - // console.log(filter); - const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false"; - const url = `https://netmirror.zendax.tech/api/net-proxy?${isPrime}&url=${baseUrl + filter}`; - const res = yield fetch(url, { - signal: signal, - method: "GET", - credentials: "omit", - }); - const data = yield res.text(); - // console.log('nfPost', data); - const $ = cheerio.load(data); - $("a.post-data").map((i, element) => { - const title = ""; - const id = $(element).attr("data-post"); - // console.log('id', id); - const image = $(element).find("img").attr("data-src") || ""; - if (id) { - catalog.push({ - title: title, - link: baseUrl + - `${providerValue === "netflixMirror" - ? "/post.php?id=" - : "/pv/post.php?id="}` + - id + - "&t=" + - Math.round(new Date().getTime() / 1000), - image: image, - }); - } - }); - // console.log(catalog); - return catalog; - } - catch (err) { - console.error("nf error ", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, providerValue, signal, providerContext, }) { - var _b; - const { getBaseUrl } = providerContext; - try { - if (page > 1) { - return []; - } - const catalog = []; - const baseUrl = yield getBaseUrl("nfMirror"); - const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false"; - const url = `https://netmirror.zendax.tech/api/net-proxy?${isPrime}&url=${baseUrl}${providerValue === "netflixMirror" ? "" : "/pv"}/search.php?s=${encodeURI(searchQuery)}`; - const res = yield fetch(url, { - signal: signal, - method: "GET", - credentials: "omit", - }); - const data = yield res.json(); - (_b = data === null || data === void 0 ? void 0 : data.searchResult) === null || _b === void 0 ? void 0 : _b.forEach((result) => { - const title = (result === null || result === void 0 ? void 0 : result.t) || ""; - const id = result === null || result === void 0 ? void 0 : result.id; - const image = providerValue === "netflixMirror" - ? `https://imgcdn.media/poster/v/${id}.jpg` - : ""; - if (id) { - catalog.push({ - title: title, - link: baseUrl + - `${providerValue === "netflixMirror" - ? "/mobile/post.php?id=" - : "/mobile/pv/post.php?id="}` + - id + - "&t=" + - Math.round(new Date().getTime() / 1000), - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("Search error:", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("nfMirror"),catalog=[];if(page>1)return[];const url=`https://netmirror.zendax.tech/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl+filter}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.text(),$=cheerio.load(data);return $("a.post-data").map((i,element)=>{const id=$(element).attr("data-post"),image=$(element).find("img").attr("data-src")||"";id&&catalog.push({title:"",link:baseUrl+""+("netflixMirror"===providerValue?"/post.php?id=":"/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl}=providerContext;try{if(page>1)return[];const catalog=[],baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.zendax.tech/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl}${"netflixMirror"===providerValue?"":"/pv"}/search.php?s=${encodeURI(searchQuery)}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.json();return null===(_b=null==data?void 0:data.searchResult)||void 0===_b||_b.forEach(result=>{const title=(null==result?void 0:result.t)||"",id=null==result?void 0:result.id,image="netflixMirror"===providerValue?`https://imgcdn.media/poster/v/${id}.jpg`:"";id&&catalog.push({title:title,link:baseUrl+""+("netflixMirror"===providerValue?"/mobile/post.php?id=":"/mobile/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/netflixMirror/stream.js b/dist/netflixMirror/stream.js index f19e3f4..737b039 100644 --- a/dist/netflixMirror/stream.js +++ b/dist/netflixMirror/stream.js @@ -1,49 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link: id, providerContext, }) { - const { getBaseUrl } = providerContext; - try { - let providerValue = "netflixMirror"; - const baseUrl = "https://netfree2.cc"; - const url = `https://netmirror.zendax.tech/api/net-proxy?url=${baseUrl}${providerValue === "netflixMirror" - ? "/mobile/playlist.php?id=" - : "/pv/playlist.php?id="}${id}&t=${Math.round(new Date().getTime() / 1000)}`; - console.log("nfGetStream, url:", url); - const res = yield fetch(url, { - credentials: "omit", - }); - const resJson = yield res.json(); - const data = resJson === null || resJson === void 0 ? void 0 : resJson[0]; - const streamLinks = []; - data === null || data === void 0 ? void 0 : data.sources.forEach((source) => { - var _a; - streamLinks.push({ - server: source.label, - link: (_a = source.file) === null || _a === void 0 ? void 0 : _a.replace(":su", ":ni"), - type: "m3u8", - headers: { - Referer: baseUrl, - origin: baseUrl, - Cookie: "hd=on", - }, - }); - }); - console.log(streamLinks); - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } -}); -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;try{const baseUrl="https://netfree2.cc",url=`https://netmirror.zendax.tech/api/net-proxy?url=${baseUrl}${"netflixMirror"==="netflixMirror"?"/mobile/playlist.php?id=":"/pv/playlist.php?id="}${id}&t=${Math.round((new Date).getTime()/1e3)}`,res=yield fetch(url,{credentials:"omit"}),resJson=yield res.json(),data=null==resJson?void 0:resJson[0],streamLinks=[];return null==data||data.sources.forEach(source=>{var _a;streamLinks.push({server:source.label,link:null===(_a=source.file)||void 0===_a?void 0:_a.replace(":su",":ni"),type:"m3u8",headers:{Referer:baseUrl,origin:baseUrl,Cookie:"hd=on"}})}),streamLinks}catch(err){return[]}});exports.getStream=getStream; \ No newline at end of file diff --git a/dist/primeMirror/catalog.js b/dist/primeMirror/catalog.js index f01210e..8e65032 100644 --- a/dist/primeMirror/catalog.js +++ b/dist/primeMirror/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Home", - filter: "/mobile/home?app=1", - }, - { - title: "Series", - filter: "/mobile/series", - }, - { - title: "Movies", - filter: "/mobile/movies", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:"/mobile/home?app=1"},{title:"Series",filter:"/mobile/series"},{title:"Movies",filter:"/mobile/movies"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/primeMirror/episodes.js b/dist/primeMirror/episodes.js index c337367..42274ad 100644 --- a/dist/primeMirror/episodes.js +++ b/dist/primeMirror/episodes.js @@ -1,62 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url: link, providerContext, }) { - var _b; - const { getBaseUrl, axios } = providerContext; - let providerValue = "netflixMirror"; - try { - const baseUrl = yield getBaseUrl("nfMirror"); - const url = `${baseUrl}${"/pv/episodes.php?s="}` + - link + - "&t=" + - Math.round(new Date().getTime() / 1000); - console.log("nfEpisodesUrl", url); - let page = 1; - let hasMorePages = true; - const episodeList = []; - while (hasMorePages) { - const res = yield axios.get(url + `&page=${page}`, { - headers: { - "Content-Type": "application/json", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36", - "Accept-Language": "en-US,en;q=0.9", - }, - }); - const data = res.data; - (_b = data === null || data === void 0 ? void 0 : data.episodes) === null || _b === void 0 ? void 0 : _b.map((episode) => { - episodeList.push({ - title: "Episode " + (episode === null || episode === void 0 ? void 0 : episode.ep.replace("E", "")), - link: episode === null || episode === void 0 ? void 0 : episode.id, - }); - }); - if (data === null || data === void 0 ? void 0 : data.nextPageShow) { - page++; - } - else { - hasMorePages = false; - } - } - return episodeList.sort((a, b) => { - const aNum = parseInt(a.title.replace("Episode ", "")); - const bNum = parseInt(b.title.replace("Episode ", "")); - return aNum - bNum; - }); - } - catch (err) { - console.error("nfGetEpisodes error", err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:link,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl,axios:axios}=providerContext;try{const url=`${yield getBaseUrl("nfMirror")}/pv/episodes.php?s=`+link+"&t="+Math.round((new Date).getTime()/1e3);let page=1,hasMorePages=!0;const episodeList=[];for(;hasMorePages;){const data=(yield axios.get(url+`&page=${page}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36","Accept-Language":"en-US,en;q=0.9"}})).data;null===(_b=null==data?void 0:data.episodes)||void 0===_b||_b.map(episode=>{episodeList.push({title:"Episode "+(null==episode?void 0:episode.ep.replace("E","")),link:null==episode?void 0:episode.id})}),(null==data?void 0:data.nextPageShow)?page++:hasMorePages=!1}return episodeList.sort((a,b)=>parseInt(a.title.replace("Episode ",""))-parseInt(b.title.replace("Episode ","")))}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/primeMirror/meta.js b/dist/primeMirror/meta.js index 978f710..3028dba 100644 --- a/dist/primeMirror/meta.js +++ b/dist/primeMirror/meta.js @@ -1,66 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, }) { - var _b, _c, _d, _e; - let providerValue = "primeMirror"; - try { - const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false"; - const url = `https://netmirror.zendax.tech/api/net-proxy?${isPrime}&url=${encodeURIComponent(link)}`; - console.log("nfifo", url); - const res = yield fetch(url, { - credentials: "omit", - }); - const data = yield res.json(); - const id = (_b = link.split("id=")[1]) === null || _b === void 0 ? void 0 : _b.split("&")[0]; - const meta = { - title: data.title, - synopsis: data.desc, - image: `https://img.nfmirrorcdn.top/poster/h/${id}.jpg`, - cast: (_c = data === null || data === void 0 ? void 0 : data.short_cast) === null || _c === void 0 ? void 0 : _c.split(","), - tags: [data === null || data === void 0 ? void 0 : data.year, data === null || data === void 0 ? void 0 : data.hdsd, ...(_d = data === null || data === void 0 ? void 0 : data.thismovieis) === null || _d === void 0 ? void 0 : _d.split(",")], - imdbId: "", - type: "series", - }; - console.log("nfinfo", meta); - const linkList = []; - if (((_e = data === null || data === void 0 ? void 0 : data.season) === null || _e === void 0 ? void 0 : _e.length) > 0) { - data.season.map((season) => { - linkList.push({ - title: "Season " + (season === null || season === void 0 ? void 0 : season.s), - episodesLink: season === null || season === void 0 ? void 0 : season.id, - }); - }); - } - else { - linkList.push({ - title: meta.title, - directLinks: [{ link: id, title: "Movie", type: "movie" }], - }); - } - return Object.assign(Object.assign({}, meta), { linkList: linkList }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link}){var _b,_c,_d,_e;try{const url=`https://netmirror.zendax.tech/api/net-proxy?${"isPrime=true"}&url=${encodeURIComponent(link)}`,res=yield fetch(url,{credentials:"omit"}),data=yield res.json(),id=null===(_b=link.split("id=")[1])||void 0===_b?void 0:_b.split("&")[0],meta={title:data.title,synopsis:data.desc,image:`https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,cast:null===(_c=null==data?void 0:data.short_cast)||void 0===_c?void 0:_c.split(","),tags:[null==data?void 0:data.year,null==data?void 0:data.hdsd,...null===(_d=null==data?void 0:data.thismovieis)||void 0===_d?void 0:_d.split(",")],imdbId:"",type:"series"},linkList=[];return(null===(_e=null==data?void 0:data.season)||void 0===_e?void 0:_e.length)>0?data.season.map(season=>{linkList.push({title:"Season "+(null==season?void 0:season.s),episodesLink:null==season?void 0:season.id})}):linkList.push({title:meta.title,directLinks:[{link:id,title:"Movie",type:"movie"}]}),Object.assign(Object.assign({},meta),{linkList:linkList})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/primeMirror/posts.js b/dist/primeMirror/posts.js index 0509a42..63d7554 100644 --- a/dist/primeMirror/posts.js +++ b/dist/primeMirror/posts.js @@ -1,108 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, providerValue, signal, providerContext, }) { - try { - const { getBaseUrl, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("nfMirror"); - const catalog = []; - if (page > 1) { - return []; - } - // console.log(filter); - const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false"; - const url = `https://netmirror.zendax.tech/api/net-proxy?${isPrime}&url=${baseUrl + filter}`; - const res = yield fetch(url, { - signal: signal, - method: "GET", - credentials: "omit", - }); - const data = yield res.text(); - // console.log('nfPost', data); - const $ = cheerio.load(data); - $("a.post-data").map((i, element) => { - const title = ""; - const id = $(element).attr("data-post"); - // console.log('id', id); - const image = $(element).find("img").attr("data-src") || ""; - if (id) { - catalog.push({ - title: title, - link: baseUrl + - `${providerValue === "netflixMirror" - ? "/post.php?id=" - : "/pv/post.php?id="}` + - id + - "&t=" + - Math.round(new Date().getTime() / 1000), - image: image, - }); - } - }); - // console.log(catalog); - return catalog; - } - catch (err) { - console.error("nf error ", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, providerValue, signal, providerContext, }) { - var _b; - const { getBaseUrl } = providerContext; - try { - if (page > 1) { - return []; - } - const catalog = []; - const baseUrl = yield getBaseUrl("nfMirror"); - const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false"; - const url = `https://netmirror.zendax.tech/api/net-proxy?${isPrime}&url=${baseUrl}${providerValue === "netflixMirror" ? "" : "/pv"}/search.php?s=${encodeURI(searchQuery)}`; - const res = yield fetch(url, { - signal: signal, - method: "GET", - credentials: "omit", - }); - const data = yield res.json(); - (_b = data === null || data === void 0 ? void 0 : data.searchResult) === null || _b === void 0 ? void 0 : _b.forEach((result) => { - const title = (result === null || result === void 0 ? void 0 : result.t) || ""; - const id = result === null || result === void 0 ? void 0 : result.id; - const image = providerValue === "netflixMirror" - ? `https://imgcdn.media/poster/v/${id}.jpg` - : `https://imgcdn.media/pv/341/${id}.jpg`; - if (id) { - catalog.push({ - title: title, - link: baseUrl + - `${providerValue === "netflixMirror" - ? "/mobile/post.php?id=" - : "/mobile/pv/post.php?id="}` + - id + - "&t=" + - Math.round(new Date().getTime() / 1000), - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("Search error:", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){try{const{getBaseUrl:getBaseUrl,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("nfMirror"),catalog=[];if(page>1)return[];const url=`https://netmirror.zendax.tech/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl+filter}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.text(),$=cheerio.load(data);return $("a.post-data").map((i,element)=>{const id=$(element).attr("data-post"),image=$(element).find("img").attr("data-src")||"";id&&catalog.push({title:"",link:baseUrl+""+("netflixMirror"===providerValue?"/post.php?id=":"/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){var _b;const{getBaseUrl:getBaseUrl}=providerContext;try{if(page>1)return[];const catalog=[],baseUrl=yield getBaseUrl("nfMirror"),url=`https://netmirror.zendax.tech/api/net-proxy?${"primeMirror"===providerValue?"isPrime=true":"isPrime=false"}&url=${baseUrl}${"netflixMirror"===providerValue?"":"/pv"}/search.php?s=${encodeURI(searchQuery)}`,res=yield fetch(url,{signal:signal,method:"GET",credentials:"omit"}),data=yield res.json();return null===(_b=null==data?void 0:data.searchResult)||void 0===_b||_b.forEach(result=>{const title=(null==result?void 0:result.t)||"",id=null==result?void 0:result.id,image="netflixMirror"===providerValue?`https://imgcdn.media/poster/v/${id}.jpg`:`https://imgcdn.media/pv/341/${id}.jpg`;id&&catalog.push({title:title,link:baseUrl+""+("netflixMirror"===providerValue?"/mobile/post.php?id=":"/mobile/pv/post.php?id=")+id+"&t="+Math.round((new Date).getTime()/1e3),image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/primeMirror/stream.js b/dist/primeMirror/stream.js index a6bbc96..34f2a46 100644 --- a/dist/primeMirror/stream.js +++ b/dist/primeMirror/stream.js @@ -1,49 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link: id, providerContext, }) { - const { getBaseUrl } = providerContext; - try { - let providerValue = "primeMirror"; - const baseUrl = "https://netfree2.cc"; - const url = `https://netmirror.zendax.tech/api/net-proxy?url=${baseUrl}${providerValue === "netflixMirror" - ? "/mobile/playlist.php?id=" - : "/pv/playlist.php?id="}${id}&t=${Math.round(new Date().getTime() / 1000)}`; - console.log("nfGetStream, url:", url); - const res = yield fetch(url, { - credentials: "omit", - }); - const resJson = yield res.json(); - const data = resJson === null || resJson === void 0 ? void 0 : resJson[0]; - const streamLinks = []; - data === null || data === void 0 ? void 0 : data.sources.forEach((source) => { - var _a; - streamLinks.push({ - server: source.label, - link: (_a = (baseUrl + source.file)) === null || _a === void 0 ? void 0 : _a.replace(":su", ":ni"), - type: "m3u8", - headers: { - Referer: baseUrl, - origin: baseUrl, - Cookie: "hd=on", - }, - }); - }); - console.log(streamLinks); - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } -}); -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:id,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;try{const baseUrl="https://netfree2.cc",url=`https://netmirror.zendax.tech/api/net-proxy?url=${baseUrl}${"netflixMirror"==="primeMirror"?"/mobile/playlist.php?id=":"/pv/playlist.php?id="}${id}&t=${Math.round((new Date).getTime()/1e3)}`,res=yield fetch(url,{credentials:"omit"}),resJson=yield res.json(),data=null==resJson?void 0:resJson[0],streamLinks=[];return null==data||data.sources.forEach(source=>{var _a;streamLinks.push({server:source.label,link:null===(_a=baseUrl+source.file)||void 0===_a?void 0:_a.replace(":su",":ni"),type:"m3u8",headers:{Referer:baseUrl,origin:baseUrl,Cookie:"hd=on"}})}),streamLinks}catch(err){return[]}});exports.getStream=getStream; \ No newline at end of file diff --git a/dist/primewire/catalog.js b/dist/primewire/catalog.js index ec3418d..d1f8df3 100644 --- a/dist/primewire/catalog.js +++ b/dist/primewire/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Recently Added", - filter: "/filter?sort=Just+Added&free_links=true", - }, - { - title: "TV Shows", - filter: "/filter?sort=Trending+Today&type=tv", - }, - { - title: "Movies", - filter: "/filter?sort=Trending+Today&type=movie", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Recently Added",filter:"/filter?sort=Just+Added&free_links=true"},{title:"TV Shows",filter:"/filter?sort=Trending+Today&type=tv"},{title:"Movies",filter:"/filter?sort=Trending+Today&type=movie"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/primewire/meta.js b/dist/primewire/meta.js index 33c3d6b..81047d2 100644 --- a/dist/primewire/meta.js +++ b/dist/primewire/meta.js @@ -1,89 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const baseUrl = link.split("/").slice(0, 3).join("/"); - const res = yield axios.get(url); - const html = yield res.data; - const $ = cheerio.load(html); - const imdbId = ((_b = $(".movie_info") - .find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])') - .attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || ""; - const type = $(".show_season").html() ? "series" : "movie"; - const linkList = []; - $(".show_season").each((i, element) => { - const seasonTitle = "Season " + $(element).attr("data-id"); - const episodes = []; - $(element) - .children() - .each((i, element2) => { - const episodeTitle = $(element2) - .find("a") - .children() - .remove() - .end() - .text() - .trim() - .replace("E", "Epiosode "); - const episodeLink = baseUrl + $(element2).find("a").attr("href"); - if (episodeTitle && episodeLink) { - episodes.push({ - title: episodeTitle, - link: episodeLink, - }); - } - }); - linkList.push({ - title: seasonTitle, - directLinks: episodes, - }); - }); - if (type === "movie") { - linkList.push({ - title: "Movie", - directLinks: [ - { - link: link, - title: "Movie", - type: "movie", - }, - ], - }); - } - return { - title: "", - image: "", - imdbId: imdbId, - synopsis: "", - type: type, - linkList: linkList, - }; - } - catch (error) { - console.error(error); - return { - title: "", - image: "", - imdbId: "", - synopsis: "", - linkList: [], - type: "uhd", - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=link.split("/").slice(0,3).join("/"),res=yield axios.get(url),html=yield res.data,$=cheerio.load(html),imdbId=(null===(_b=$(".movie_info").find('a[href*="imdb.com/title/tt"]:not([href*="imdb.com/title/tt/"])').attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type=$(".show_season").html()?"series":"movie",linkList=[];return $(".show_season").each((i,element)=>{const seasonTitle="Season "+$(element).attr("data-id"),episodes=[];$(element).children().each((i,element2)=>{const episodeTitle=$(element2).find("a").children().remove().end().text().trim().replace("E","Epiosode "),episodeLink=baseUrl+$(element2).find("a").attr("href");episodeTitle&&episodeLink&&episodes.push({title:episodeTitle,link:episodeLink})}),linkList.push({title:seasonTitle,directLinks:episodes})}),"movie"===type&&linkList.push({title:"Movie",directLinks:[{link:link,title:"Movie",type:"movie"}]}),{title:"",image:"",imdbId:imdbId,synopsis:"",type:type,linkList:linkList}}catch(error){return{title:"",image:"",imdbId:"",synopsis:"",linkList:[],type:"uhd"}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/primewire/posts.js b/dist/primewire/posts.js index 0c04813..db194e0 100644 --- a/dist/primewire/posts.js +++ b/dist/primewire/posts.js @@ -1,63 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("primewire"); - const url = `${baseUrl + filter}&page=${page}`; - return posts({ baseUrl, url, signal, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio, Aes } = providerContext; - const getSHA256ofJSON = function (input) { - return __awaiter(this, void 0, void 0, function* () { - return yield Aes.sha1(input); - }); - }; - const baseUrl = yield getBaseUrl("primewire"); - const hash = yield getSHA256ofJSON(searchQuery + "JyjId97F9PVqUPuMO0"); - const url = `${baseUrl}/filter?s=${searchQuery}&page=${page}&ds=${hash.slice(0, 10)}`; - return posts({ baseUrl, url, signal, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ baseUrl, url, signal, axios, cheerio, }) { - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $(".index_item.index_item_ie").map((i, element) => { - const title = $(element).find("a").attr("title"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("img").attr("src") || ""; - if (title && link) { - catalog.push({ - title: title, - link: baseUrl + link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("primewire error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("primewire");return posts({baseUrl:baseUrl,url:`${baseUrl+filter}&page=${page}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio,Aes:Aes}=providerContext,baseUrl=yield getBaseUrl("primewire");return posts({baseUrl:baseUrl,url:`${baseUrl}/filter?s=${searchQuery}&page=${page}&ds=${(yield function(input){return __awaiter(this,void 0,void 0,function*(){return yield Aes.sha1(input)})}(searchQuery+"JyjId97F9PVqUPuMO0")).slice(0,10)}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseUrl:baseUrl,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".index_item.index_item_ie").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src")||"";title&&link&&catalog.push({title:title,link:baseUrl+link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/primewire/stream.js b/dist/primewire/stream.js index 450ba55..deb5bcb 100644 --- a/dist/primewire/stream.js +++ b/dist/primewire/stream.js @@ -1,137 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, type, providerContext, }) { - var _b, _c, _d, _e, _f, _g; - const { axios, cheerio } = providerContext; - try { - console.log("pwGetStream", type, url); - const baseUrl = url.split("/").slice(0, 3).join("/"); - const streamLinks = []; - const urls = []; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - $('tr:contains("mixdrop")').map((i, element) => { - const id = $(element).find(".wp-menu-btn").attr("data-wp-menu"); - const size = $(element).find(".wp-menu-btn").next().text(); - if (id) { - urls.push({ id: baseUrl + "/links/go/" + id, size }); - } - }); - console.log("urls", urls); - for (const url of urls) { - const res2 = yield axios.head(url.id); - const location = (_b = res2.request) === null || _b === void 0 ? void 0 : _b.responseURL.replace("/f/", "/e/"); - const res3 = yield fetch(location, { - credentials: "include", - headers: { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0", - Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - "Upgrade-Insecure-Requests": "1", - "Sec-Fetch-Dest": "iframe", - "Sec-Fetch-Mode": "navigate", - "Sec-Fetch-Site": "same-origin", - Pragma: "no-cache", - "Cache-Control": "no-cache", - referer: (_c = res2.request) === null || _c === void 0 ? void 0 : _c.responseURL, - }, - referrer: (_d = res2.request) === null || _d === void 0 ? void 0 : _d.responseURL, - method: "GET", - mode: "cors", - }); - const data3 = yield res3.text(); - // let MDCore: any = {}; - // Step 1: Extract the function parameters and the encoded string - var functionRegex = /eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/; - var match = functionRegex.exec(data3); - let p = ""; - if (match) { - // var params = match[1].split(',').map(param => param.trim()); - var encodedString = match[2]; - console.log("Encoded String:", encodedString); - // console.log('Parameters:', params); - // console.log('Encoded String:', encodedString.split("',36,")[0], '🔥🔥'); - const base = Number(encodedString.split(",'|MDCore|")[0].split(",")[encodedString.split(",'|MDCore|")[0].split(",").length - 1]); - console.log("Base:", base); - p = (_e = encodedString.split(`',${base},`)) === null || _e === void 0 ? void 0 : _e[0].trim(); - let a = base; - let c = encodedString.split(`',${base},`)[1].slice(2).split("|").length; - let k = encodedString.split(`',${base},`)[1].slice(2).split("|"); - // console.log('p:', p); - // console.log('a:', a); - // console.log('c:', c); - // console.log('k:', k); - const decode = function (p, a, c, k, e, d) { - e = function (c) { - return c.toString(36); - }; - if (!"".replace(/^/, String)) { - while (c--) { - d[c.toString(a)] = k[c] || c.toString(a); - } - k = [ - function (e) { - return d[e]; - }, - ]; - e = function () { - return "\\w+"; - }; - c = 1; - } - while (c--) { - if (k[c]) { - p = p.replace(new RegExp("\\b" + e(c) + "\\b", "g"), k[c]); - } - } - return p; - }; - const decoded = decode(p, a, c, k, 0, {}); - // get MDCore.wurl= - const wurl = (_f = decoded.match(/MDCore\.wurl="([^"]+)"/)) === null || _f === void 0 ? void 0 : _f[1]; - console.log("wurl:", wurl); - const streamUrl = "https:" + wurl; - console.log("streamUrl:", streamUrl); - streamLinks.push({ - server: "Mixdrop " + url.size, - link: streamUrl, - type: "mp4", - headers: { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0", - Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - "Upgrade-Insecure-Requests": "1", - "Sec-Fetch-Dest": "iframe", - "Sec-Fetch-Mode": "navigate", - "Sec-Fetch-Site": "same-origin", - Pragma: "no-cache", - "Cache-Control": "no-cache", - referer: (_g = res2.request) === null || _g === void 0 ? void 0 : _g.responseURL, - }, - }); - } - else { - console.log("No match found"); - } - } - return streamLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g;const{axios:axios,cheerio:cheerio}=providerContext;try{const baseUrl=url.split("/").slice(0,3).join("/"),streamLinks=[],urls=[],data=(yield axios.get(url)).data,$=cheerio.load(data);$('tr:contains("mixdrop")').map((i,element)=>{const id=$(element).find(".wp-menu-btn").attr("data-wp-menu"),size=$(element).find(".wp-menu-btn").next().text();id&&urls.push({id:baseUrl+"/links/go/"+id,size:size})});for(const url of urls){const res2=yield axios.head(url.id),location=null===(_b=res2.request)||void 0===_b?void 0:_b.responseURL.replace("/f/","/e/"),res3=yield fetch(location,{credentials:"include",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"iframe","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin",Pragma:"no-cache","Cache-Control":"no-cache",referer:null===(_c=res2.request)||void 0===_c?void 0:_c.responseURL},referrer:null===(_d=res2.request)||void 0===_d?void 0:_d.responseURL,method:"GET",mode:"cors"}),data3=yield res3.text();var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(data3);let p="";if(match){var encodedString=match[2];const base=Number(encodedString.split(",'|MDCore|")[0].split(",")[encodedString.split(",'|MDCore|")[0].split(",").length-1]);p=null===(_e=encodedString.split(`',${base},`))||void 0===_e?void 0:_e[0].trim();let a=base,c=encodedString.split(`',${base},`)[1].slice(2).split("|").length,k=encodedString.split(`',${base},`)[1].slice(2).split("|");const decode=function(p,a,c,k,e,d){if(e=function(c){return c.toString(36)},!"".replace(/^/,String)){for(;c--;)d[c.toString(a)]=k[c]||c.toString(a);k=[function(e){return d[e]}],e=function(){return"\\w+"},c=1}for(;c--;)k[c]&&(p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]));return p},decoded=decode(p,a,c,k,0,{}),streamUrl="https:"+(null===(_f=decoded.match(/MDCore\.wurl="([^"]+)"/))||void 0===_f?void 0:_f[1]);streamLinks.push({server:"Mixdrop "+url.size,link:streamUrl,type:"mp4",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"iframe","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin",Pragma:"no-cache","Cache-Control":"no-cache",referer:null===(_g=res2.request)||void 0===_g?void 0:_g.responseURL}})}}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/protonMovies/catalog.js b/dist/protonMovies/catalog.js index 12fe1d9..040fedf 100644 --- a/dist/protonMovies/catalog.js +++ b/dist/protonMovies/catalog.js @@ -1,22 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Latest", - filter: "/movies", - }, - { - title: "Netflix", - filter: "/platform/netflix", - }, - { - title: "Disney +", - filter: "/platform/disney-hotstar", - }, - { - title: "Amazon Prime", - filter: "/platform/amazon-prime-video", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:"/movies"},{title:"Netflix",filter:"/platform/netflix"},{title:"Disney +",filter:"/platform/disney-hotstar"},{title:"Amazon Prime",filter:"/platform/amazon-prime-video"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/protonMovies/meta.js b/dist/protonMovies/meta.js index 1873f1c..28e93ec 100644 --- a/dist/protonMovies/meta.js +++ b/dist/protonMovies/meta.js @@ -1,102 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f; - try { - const { axios, cheerio, getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("protonMovies"); - console.log("all", link); - const res = yield axios.get(`${baseUrl}${link}`); - const data = res.data; - function decodeHtml(encodedArray) { - // Join array elements into a single string - const joined = encodedArray.join(""); - // Replace escaped quotes - const unescaped = joined.replace(/\\"/g, '"').replace(/\\'/g, "'"); - // Remove remaining escape characters - const cleaned = unescaped - .replace(/\\n/g, "\n") - .replace(/\\t/g, "\t") - .replace(/\\r/g, "\r"); - // Convert literal string representations back to characters - const decoded = cleaned - .replace(/"/g, '"') - .replace(/</g, "<") - .replace(/>/g, ">") - .replace(/&/g, "&"); - return decoded; - } - const $$ = cheerio.load(data); - const htmlArray = (_f = (_e = (_d = (_c = (_b = $$('script:contains("decodeURIComponent")') - .text() - .split(" = ")) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c.split("protomovies")) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.trim()) === null || _f === void 0 ? void 0 : _f.slice(0, -1); // remove the last character - // console.log('protonGetInfo', htmlArray); - const html = decodeHtml(JSON.parse(htmlArray)); - // console.log('all', html); - const $ = cheerio.load(html); - const title = $(".trending-text.fw-bold.texture-text.text-uppercase.my-0.fadeInLeft.animated.d-inline-block").text(); - const image = $("#thumbnail").attr("src"); - const type = link.includes("series") ? "series" : "movie"; - const synopsis = $(".col-12.iq-mb-30.animated.fadeIn").first().text() || - $(".description-content").text(); - const tags = $(".p-0.mt-2.list-inline.d-flex.flex-wrap.movie-tag") - .find("li") - .map((i, el) => $(el).text()) - .slice(0, 3) - .get(); - const links = []; - if (type === "movie") { - const directLinks = []; - directLinks.push({ title: "Movie", link: baseUrl + link }); - links.push({ title: "Movie", directLinks: directLinks }); - } - else { - $("#episodes") - .children() - .map((i, element) => { - let directLinks = []; - $(element) - .find(".episode-block") - .map((j, ep) => { - const link = baseUrl + $(ep).find("a").attr("href") || ""; - const title = "Episode " + $(ep).find(".episode-number").text().split("E")[1]; - directLinks.push({ title, link }); - }); - links.push({ title: "Season " + (i + 1), directLinks: directLinks }); - }); - } - return { - image: image || "", - imdbId: "", - linkList: links, - title: title || "", - synopsis: synopsis, - tags: tags, - type: type, - }; - } - catch (err) { - console.error("prton", err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("protonMovies"),data=(yield axios.get(`${baseUrl}${link}`)).data;const htmlArray=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=cheerio.load(data)('script:contains("decodeURIComponent")').text().split(" = "))||void 0===_b?void 0:_b[1])||void 0===_c?void 0:_c.split("protomovies"))||void 0===_d?void 0:_d[0])||void 0===_e?void 0:_e.trim())||void 0===_f?void 0:_f.slice(0,-1),html=JSON.parse(htmlArray).join("").replace(/\\"/g,'"').replace(/\\'/g,"'").replace(/\\n/g,"\n").replace(/\\t/g,"\t").replace(/\\r/g,"\r").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"),$=cheerio.load(html),title=$(".trending-text.fw-bold.texture-text.text-uppercase.my-0.fadeInLeft.animated.d-inline-block").text(),image=$("#thumbnail").attr("src"),type=link.includes("series")?"series":"movie",synopsis=$(".col-12.iq-mb-30.animated.fadeIn").first().text()||$(".description-content").text(),tags=$(".p-0.mt-2.list-inline.d-flex.flex-wrap.movie-tag").find("li").map((i,el)=>$(el).text()).slice(0,3).get(),links=[];if("movie"===type){const directLinks=[];directLinks.push({title:"Movie",link:baseUrl+link}),links.push({title:"Movie",directLinks:directLinks})}else $("#episodes").children().map((i,element)=>{let directLinks=[];$(element).find(".episode-block").map((j,ep)=>{const link=baseUrl+$(ep).find("a").attr("href")||"",title="Episode "+$(ep).find(".episode-number").text().split("E")[1];directLinks.push({title:title,link:link})}),links.push({title:"Season "+(i+1),directLinks:directLinks})});return{image:image||"",imdbId:"",linkList:links,title:title||"",synopsis:synopsis,tags:tags,type:type}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/protonMovies/posts.js b/dist/protonMovies/posts.js index a9c1900..5878fd5 100644 --- a/dist/protonMovies/posts.js +++ b/dist/protonMovies/posts.js @@ -1,85 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("protonMovies"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts({ url, baseUrl, signal, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("protonMovies"); - const url = `${baseUrl}/search/${searchQuery}/page/${page}/`; - return posts({ url, baseUrl, signal, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, baseUrl, signal, axios, cheerio, }) { - try { - function decodeHtml(encodedArray) { - // Join array elements into a single string - const joined = encodedArray.join(""); - // Replace escaped quotes - const unescaped = joined.replace(/\\"/g, '"').replace(/\\'/g, "'"); - // Remove remaining escape characters - const cleaned = unescaped - .replace(/\\n/g, "\n") - .replace(/\\t/g, "\t") - .replace(/\\r/g, "\r"); - // Convert literal string representations back to characters - const decoded = cleaned - .replace(/"/g, '"') - .replace(/</g, "<") - .replace(/>/g, ">") - .replace(/&/g, "&"); - return decoded; - } - const res = yield axios.get(url, { - headers: { - referer: baseUrl, - }, - signal, - }); - const data = res.data; - const regex = /\[(?=.*?"

{ - const title = $(element).find("h5").text(); - const link = $(element).find("h5").find("a").attr("href"); - const image = $(element).find("img").attr("data-src") || - $(element).find("img").attr("src") || - ""; - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("protonGetPosts error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("protonMovies");return posts({url:`${baseUrl+filter}/page/${page}/`,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("protonMovies");return posts({url:`${baseUrl}/search/${searchQuery}/page/${page}/`,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,baseUrl:baseUrl,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{headers:{referer:baseUrl},signal:signal})).data,regex=/\[(?=.*?"
").replace(/&/g,"&"),$=cheerio.load(html),catalog=[];return $(".col.mb-4").map((i,element)=>{const title=$(element).find("h5").text(),link=$(element).find("h5").find("a").attr("href"),image=$(element).find("img").attr("data-src")||$(element).find("img").attr("src")||"";title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/protonMovies/stream.js b/dist/protonMovies/stream.js index 6f67f30..7d22af3 100644 --- a/dist/protonMovies/stream.js +++ b/dist/protonMovies/stream.js @@ -1,171 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -function LALLJLutmoZpvvbikjaWM(str) { - var buf = new ArrayBuffer(str.length * 2); - var bufView = new Uint8Array(buf); - for (var i = 0, strLen = str.length; i < strLen; i++) { - bufView[i] = str.charCodeAt(i); - } - return buf; -} -function getOrCreateUID() { - const uid = "uid_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9); - return uid; -} -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j; - const { axios, cheerio, commonHeaders: headers, extractors, } = providerContext; - const { gofileExtracter } = extractors; - function generateMessageToken(baseUrlL) { - const hostname = baseUrlL === null || baseUrlL === void 0 ? void 0 : baseUrlL.replace(/https?:\/\//, "").split("/")[0]; - console.log("generateMessageToken hostname", hostname); - const NsmxUftCNibQ = `[hostname=${hostname}][agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0][tmz=India Standard Time][userTimezoneOffset=-330][{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":986}][{"elements":{"div":70,"span":68,"img":4,"iframe":0,"script":28,"link":20,"p":5,"a":213,"ul":28,"li":208,"button":9,"input":5},"hidden":{"div":13,"span":60,"img":1,"iframe":0,"script":28,"link":20,"p":0,"a":186,"ul":22,"li":184,"button":6,"input":2},"errors":{"network":0,"js":0},"eventListeners":0}]`; - var jRpeP = LALLJLutmoZpvvbikjaWM(NsmxUftCNibQ); - var jzKEwqEAcWFMNwHZnCCqJQ = new Uint8Array(jRpeP); - var kyMXQUxoFYuZIBlKvlHa = jzKEwqEAcWFMNwHZnCCqJQ.toString(); - var kyMXQUxoFYuZIBlKvlHa = kyMXQUxoFYuZIBlKvlHa.replace(/2/g, "004"); - var kyMXQUxoFYuZIBlKvlHa = kyMXQUxoFYuZIBlKvlHa.replace(/3/g, "005"); - var kyMXQUxoFYuZIBlKvlHa = kyMXQUxoFYuZIBlKvlHa.replace(/7/g, "007"); - var kyMXQUxoFYuZIBlKvlHa = kyMXQUxoFYuZIBlKvlHa.replace(/,0,0,0/g, ""); - return kyMXQUxoFYuZIBlKvlHa; - } - function decodeHtml(encodedArray) { - // Join array elements into a single string - const joined = encodedArray.join(""); - // Replace escaped quotes - const unescaped = joined.replace(/\\"/g, '"').replace(/\\'/g, "'"); - // Remove remaining escape characters - const cleaned = unescaped - .replace(/\\n/g, "\n") - .replace(/\\t/g, "\t") - .replace(/\\r/g, "\r"); - // Convert literal string representations back to characters - const decoded = cleaned - .replace(/"/g, '"') - .replace(/</g, "<") - .replace(/>/g, ">") - .replace(/&/g, "&"); - return decoded; - } - try { - const streamLinks = []; - const res = yield axios.get(link, { headers }); - const data = res.data; - // const regex = /\[(?=.*?"
__awaiter(this, void 0, void 0, function* () { - const formData = new URLSearchParams(); - formData.append("downloadid", id.id); - formData.append("token", "ok"); - const messageToken = generateMessageToken(baseUrl); - const uid = getOrCreateUID(); - const idRes = yield fetch(`${baseUrl}/ppd.php`, { - headers: { - accept: "*/*", - "accept-language": "en-US,en;q=0.9,en-IN;q=0.8", - "cache-control": "no-cache", - "content-type": "application/x-www-form-urlencoded", - pragma: "no-cache", - priority: "u=1, i", - "sec-ch-ua": '"Chromium";v="136", "Microsoft Edge";v="136", "Not.A/Brand";v="99"', - "sec-ch-ua-mobile": "?0", - "sec-ch-ua-platform": '"Windows"', - "sec-fetch-dest": "empty", - "sec-fetch-mode": "cors", - "sec-fetch-site": "same-origin", - cookie: "ext_name=ojplmecpdpgccookcobabopnaifgidhf; tgInvite222=true; cf_clearance=3ynJv2B6lHMj3FCOqtfQaL7lTN4KC3xmPRMgcNtddAc-1748787867-1.2.1.1-SEIhLbWR3ehfib5Y3P5pjzj1Qu9wipc52Icv4AmNkztXn2pTXhjKgxXnvTuA2bNscgHuc1juXujAHteqY_vaMmy2C3djMWnJGzjje_XvXZXKht8rwHZt6sviq7KAYvrYZPTrATqENuopzmqmK6dDFS.CAnWHt0VDn8q06iLm5rYj1AXUo3qkV5p1Idx_25elWHYGG8yengBrQV1MYVM9LMdQqv44PXu69FZvNkgv.d6blCKyneJnoLkw4LHAccu.QRPbFwWqqTDyO9YTLRQW9w29bKghD3_JVxkz.qxpg5FbocJ3i6tJJy74SvROpYdpVUOn0fW1YgQ7RxYwhNoHpdTKy8pvmQJGRuSVW1GjO_k", - Referer: "https://m3.protonmovies.top/download/", - "Referrer-Policy": "strict-origin-when-cross-origin", - }, - body: `downloadid=${id.id}&msg=${messageToken}&uid=${uid}&token=ok`, - method: "POST", - }); - const idData = yield idRes.text(); - secondIdList.push({ - quality: id.quality, - id: idData, - }); - console.log("idData", idData); - }))); - yield Promise.all(secondIdList.map((id) => __awaiter(this, void 0, void 0, function* () { - const idRes = yield axios.post(`${baseUrl}/tmp/${id.id}`); - if (idRes.data.ppd["gofile.io"]) { - const goRes = yield gofileExtracter(idRes.data.ppd["gofile.io"].link.split("/").pop()); - console.log("link", goRes.link); - if (goRes.link) { - streamLinks.push({ - link: goRes.link, - server: "gofile " + id.quality, - type: "mkv", - headers: { - referer: "https://gofile.io", - connection: "keep-alive", - contentType: "video/x-matroska", - cookie: "accountToken=" + goRes.token, - }, - }); - } - } - }))); - return streamLinks; - } - catch (e) { - console.log("proton get stream err", e); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};function LALLJLutmoZpvvbikjaWM(str){for(var buf=new ArrayBuffer(2*str.length),bufView=new Uint8Array(buf),i=0,strLen=str.length;i").replace(/&/g,"&"),$=cheerio.load(html),idList=[],id1080=null===(_g=$('tr:contains("1080p")').find('button:contains("Info")').attr("id"))||void 0===_g?void 0:_g.split("-")[1];id1080&&idList.push({id:id1080,quality:"1080p"});const id720=null===(_h=$('tr:contains("720p")').find('button:contains("Info")').attr("id"))||void 0===_h?void 0:_h.split("-")[1];id720&&idList.push({id:id720,quality:"720p"});const id480=null===(_j=$('tr:contains("480p")').find('button:contains("Info")').attr("id"))||void 0===_j?void 0:_j.split("-")[1];id480&&idList.push({id:id480,quality:"480p"});const baseUrl=link.split("/").slice(0,3).join("/"),secondIdList=[];return yield Promise.all(idList.slice(0,2).map(id=>__awaiter(this,void 0,void 0,function*(){const formData=new URLSearchParams;formData.append("downloadid",id.id),formData.append("token","ok");const messageToken=(jRpeP=LALLJLutmoZpvvbikjaWM(`[hostname=${null==(baseUrlL=baseUrl)?void 0:baseUrlL.replace(/https?:\/\//,"").split("/")[0]}][agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0][tmz=India Standard Time][userTimezoneOffset=-330][{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js","type":"script","duration":253.30000000074506},{"url":"https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback","type":"script","duration":397.19999999925494},{"url":"https://adoto.net/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","type":"img","duration":225.90000000223517},{"url":"https://code.jquery.com/jquery-3.3.1.slim.min.js","type":"script","duration":65.30000000074506},{"url":"https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015","type":"script","duration":225.89999999850988},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/new/normal/auto/","type":"iframe","duration":2050.300000000745},{"url":"https://new19.gdtot.dad/favicon.ico","type":"img","duration":1003.6999999992549},{"url":"https://vikingfile.com/assets/favicon-64375c377b5df8304acbdad4f4430694.ico","type":"img","duration":183.19999999925494},{"url":"https://gofile.io/dist/img/favicon32.png","type":"img","duration":19177.199999999255},{"url":"https://pub.clickadu.com/assets/scripts/supported-browsers.js","type":"fetch","duration":18.799999997019768},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1612.5999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":1154.0999999977648},{"url":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/if/ov2/av0/rcv/b3dhg/0x4AAAAAAAQDru7r64xT2ifD/auto/fbE/auto_expire/normal/auto/","type":"iframe","duration":986}][{"elements":{"div":70,"span":68,"img":4,"iframe":0,"script":28,"link":20,"p":5,"a":213,"ul":28,"li":208,"button":9,"input":5},"hidden":{"div":13,"span":60,"img":1,"iframe":0,"script":28,"link":20,"p":0,"a":186,"ul":22,"li":184,"button":6,"input":2},"errors":{"network":0,"js":0},"eventListeners":0}]`),new Uint8Array(jRpeP).toString().replace(/2/g,"004").replace(/3/g,"005").replace(/7/g,"007").replace(/,0,0,0/g,""));var baseUrlL,jRpeP;const uid=getOrCreateUID(),idRes=yield fetch(`${baseUrl}/ppd.php`,{headers:{accept:"*/*","accept-language":"en-US,en;q=0.9,en-IN;q=0.8","cache-control":"no-cache","content-type":"application/x-www-form-urlencoded",pragma:"no-cache",priority:"u=1, i","sec-ch-ua":'"Chromium";v="136", "Microsoft Edge";v="136", "Not.A/Brand";v="99"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",cookie:"ext_name=ojplmecpdpgccookcobabopnaifgidhf; tgInvite222=true; cf_clearance=3ynJv2B6lHMj3FCOqtfQaL7lTN4KC3xmPRMgcNtddAc-1748787867-1.2.1.1-SEIhLbWR3ehfib5Y3P5pjzj1Qu9wipc52Icv4AmNkztXn2pTXhjKgxXnvTuA2bNscgHuc1juXujAHteqY_vaMmy2C3djMWnJGzjje_XvXZXKht8rwHZt6sviq7KAYvrYZPTrATqENuopzmqmK6dDFS.CAnWHt0VDn8q06iLm5rYj1AXUo3qkV5p1Idx_25elWHYGG8yengBrQV1MYVM9LMdQqv44PXu69FZvNkgv.d6blCKyneJnoLkw4LHAccu.QRPbFwWqqTDyO9YTLRQW9w29bKghD3_JVxkz.qxpg5FbocJ3i6tJJy74SvROpYdpVUOn0fW1YgQ7RxYwhNoHpdTKy8pvmQJGRuSVW1GjO_k",Referer:"https://m3.protonmovies.top/download/","Referrer-Policy":"strict-origin-when-cross-origin"},body:`downloadid=${id.id}&msg=${messageToken}&uid=${uid}&token=ok`,method:"POST"}),idData=yield idRes.text();secondIdList.push({quality:id.quality,id:idData})}))),yield Promise.all(secondIdList.map(id=>__awaiter(this,void 0,void 0,function*(){const idRes=yield axios.post(`${baseUrl}/tmp/${id.id}`);if(idRes.data.ppd["gofile.io"]){const goRes=yield gofileExtracter(idRes.data.ppd["gofile.io"].link.split("/").pop());goRes.link&&streamLinks.push({link:goRes.link,server:"gofile "+id.quality,type:"mkv",headers:{referer:"https://gofile.io",connection:"keep-alive",contentType:"video/x-matroska",cookie:"accountToken="+goRes.token}})}}))),streamLinks}catch(e){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/providerContext.js b/dist/providerContext.js index 5b6a8a9..ac0e106 100644 --- a/dist/providerContext.js +++ b/dist/providerContext.js @@ -1,66 +1 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.providerContext = void 0; -const axios_1 = __importDefault(require("axios")); -const getBaseUrl_1 = require("./getBaseUrl"); -const headers_1 = require("./headers"); -const cheerio = __importStar(require("cheerio")); -const hubcloudExtractor_1 = require("./hubcloudExtractor"); -const gofileExtracter_1 = require("./gofileExtracter"); -const superVideoExtractor_1 = require("./superVideoExtractor"); -const gdflixExtractor_1 = require("./gdflixExtractor"); -const react_native_aes_crypto_1 = __importDefault(require("react-native-aes-crypto")); -/** - * Context for provider functions. - * This context is used to pass common dependencies to provider functions. - */ -const extractors = { - hubcloudExtracter: hubcloudExtractor_1.hubcloudExtracter, - gofileExtracter: gofileExtracter_1.gofileExtracter, - superVideoExtractor: superVideoExtractor_1.superVideoExtractor, - gdFlixExtracter: gdflixExtractor_1.gdFlixExtracter, -}; -exports.providerContext = { - axios: axios_1.default, - getBaseUrl: getBaseUrl_1.getBaseUrl, - commonHeaders: headers_1.headers, - Aes: react_native_aes_crypto_1.default, - cheerio, - extractors, -}; +"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v}),__importStar=this&&this.__importStar||function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)Object.prototype.hasOwnProperty.call(o,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k=ownKeys(mod),i=0;i { - if ((video === null || video === void 0 ? void 0 : video.season) <= 0) - return; - if (!season.has(video === null || video === void 0 ? void 0 : video.season)) { - season.set(video === null || video === void 0 ? void 0 : video.season, []); - } - season.get(video === null || video === void 0 ? void 0 : video.season).push({ - title: "Episode " + (video === null || video === void 0 ? void 0 : video.episode), - link: "", - }); - }); - for (const [seasonNum, episodes] of season.entries()) { - links.push({ - title: "Season " + seasonNum, - directLinks: episodes, - }); - } - } - else { - directLinks.push({ title: "Movie", link: link }); - links.push({ title: "Movie", directLinks: directLinks }); - } - return Object.assign(Object.assign({}, meta), { linkList: links }); - } - catch (err) { - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h;try{const{getBaseUrl:getBaseUrl,axios:axios}=providerContext,data=(yield axios.get(link)).data,meta={title:"",synopsis:"",image:"",imdbId:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id)||"",type:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.type)||"movie"},baseUrl=yield getBaseUrl("ridomovies");let slug="";try{const data2=(yield axios.get(baseUrl+"/core/api/search?q="+meta.imdbId)).data;if(slug=null===(_e=null===(_d=null==data2?void 0:data2.data)||void 0===_d?void 0:_d.items[0])||void 0===_e?void 0:_e.fullSlug,!slug||"series"===(null==meta?void 0:meta.type))return{title:"",synopsis:"",image:"",imdbId:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.imdb_id)||"",type:(null==meta?void 0:meta.type)||"movie",linkList:[]}}catch(err){return{title:"",synopsis:"",image:"",imdbId:(null==meta?void 0:meta.imdbId)||"",type:(null==meta?void 0:meta.type)||"movie",linkList:[]}}const links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),link:""}))});for(const[seasonNum,episodes]of season.entries())links.push({title:"Season "+seasonNum,directLinks:episodes})}else directLinks.push({title:"Movie",link:link}),links.push({title:"Movie",directLinks:directLinks});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/ridoMovies/posts.js b/dist/ridoMovies/posts.js index 2fb59be..b15b8a0 100644 --- a/dist/ridoMovies/posts.js +++ b/dist/ridoMovies/posts.js @@ -1,79 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) { - try { - const catalog = []; - const url = "https://cinemeta-catalogs.strem.io" + filter; - console.log("allGetPostUrl", url); - const res = yield providerContext.axios.get(url, { - headers: providerContext.commonHeaders, - signal, - }); - const data = res.data; - data === null || data === void 0 ? void 0 : data.metas.map((result) => { - const title = result === null || result === void 0 ? void 0 : result.name; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const type = result === null || result === void 0 ? void 0 : result.type; - const image = result === null || result === void 0 ? void 0 : result.poster; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - console.log("catalog", catalog.length); - return catalog; - } - catch (err) { - console.error("AutoEmbed error ", err); - return []; - } - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - try { - const { axios, commonHeaders: headers } = providerContext; - if (page > 1) { - return []; - } - const catalog = []; - const url2 = `https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`; - const res2 = yield axios.get(url2, { headers, signal }); - const data2 = res2.data; - data2 === null || data2 === void 0 ? void 0 : data2.metas.map((result) => { - const title = (result === null || result === void 0 ? void 0 : result.name) || ""; - const id = (result === null || result === void 0 ? void 0 : result.imdb_id) || (result === null || result === void 0 ? void 0 : result.id); - const image = result === null || result === void 0 ? void 0 : result.poster; - const type = result === null || result === void 0 ? void 0 : result.type; - if (id) { - catalog.push({ - title: title, - link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("AutoEmbed error ", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){try{const catalog=[],url="https://cinemeta-catalogs.strem.io"+filter,data=(yield providerContext.axios.get(url,{headers:providerContext.commonHeaders,signal:signal})).data;return null==data||data.metas.map(result=>{const title=null==result?void 0:result.name,id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),type=null==result?void 0:result.type,image=null==result?void 0:result.poster;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){try{const{axios:axios,commonHeaders:headers}=providerContext;if(page>1)return[];const catalog=[],url2=`https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`,data2=(yield axios.get(url2,{headers:headers,signal:signal})).data;return null==data2||data2.metas.map(result=>{const title=(null==result?void 0:result.name)||"",id=(null==result?void 0:result.imdb_id)||(null==result?void 0:result.id),image=null==result?void 0:result.poster,type=null==result?void 0:result.type;id&&catalog.push({title:title,link:`https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,image:image})}),catalog}catch(err){return[]}})};exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/ridoMovies/stream.js b/dist/ridoMovies/stream.js index 916304e..4c408c8 100644 --- a/dist/ridoMovies/stream.js +++ b/dist/ridoMovies/stream.js @@ -1,71 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link: data, providerContext, }) { - var _b, _c; - try { - const { cheerio, commonHeaders: headers, axios } = providerContext; - const streamData = JSON.parse(data); - const streamLinks = []; - // const path = - // streamData?.type === 'movie' - // ? `/${streamData?.slug}` - // : `/${streamData?.slug}/season-${streamData?.season}/episode-${streamData?.episode}`; - // const url = streamData?.baseUrl + path; - // console.log('all', url); - // const res = await axios.get(url, {headers}); - // const postId = res.data.split('\\"postid\\":\\"')[1].split('\\"')[0]; - // console.log('rido post id', postId); - const url = (streamData === null || streamData === void 0 ? void 0 : streamData.baseUrl) + "/api/" + (streamData === null || streamData === void 0 ? void 0 : streamData.slug); - console.log("rido url", url); - const res = yield axios.get(url, { headers }); - const iframe = (_c = (_b = res.data.data) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.url; - console.log("rido data", iframe); - const iframeUrl = iframe.split('src="')[1].split('"')[0]; - console.log("rido iframeUrl", iframeUrl); - const iframeRes = yield axios.get(iframeUrl, { - headers: Object.assign(Object.assign({}, headers), { Referer: streamData === null || streamData === void 0 ? void 0 : streamData.baseUrl }), - }); - const $ = cheerio.load(iframeRes.data); - const script = $('script:contains("eval")').html(); - if (!script) { - throw new Error("Unable to find script"); - } - // console.log('rido script', script); - const srcUrl = unpackJavaScript(script.trim()); - console.log("rido srcUrl", srcUrl); - streamLinks.push({ - link: srcUrl, - server: "rido", - type: "m3u8", - headers: { - Referer: iframeUrl, - }, - }); - return streamLinks; - } - catch (e) { - console.log("rido get stream err", e); - return []; - } -}); -exports.getStream = getStream; -function unpackJavaScript(packedCode) { - const encodedString = packedCode.split("|aHR")[1].split("|")[0]; - const base64Url = "aHR" + encodedString; - function addPadding(base64) { - return base64 + "=".repeat((4 - (base64.length % 4)) % 4); - } - console.log("rido base64Url", base64Url); - const unpackedCode = atob(addPadding(base64Url)); - return unpackedCode; -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=_a=>__awaiter(void 0,[_a],void 0,function*({link:data,providerContext:providerContext}){var _b,_c;try{const{cheerio:cheerio,commonHeaders:headers,axios:axios}=providerContext,streamData=JSON.parse(data),streamLinks=[],url=(null==streamData?void 0:streamData.baseUrl)+"/api/"+(null==streamData?void 0:streamData.slug),res=yield axios.get(url,{headers:headers}),iframeUrl=(null===(_c=null===(_b=res.data.data)||void 0===_b?void 0:_b[0])||void 0===_c?void 0:_c.url).split('src="')[1].split('"')[0],iframeRes=yield axios.get(iframeUrl,{headers:Object.assign(Object.assign({},headers),{Referer:null==streamData?void 0:streamData.baseUrl})}),script=cheerio.load(iframeRes.data)('script:contains("eval")').html();if(!script)throw new Error("Unable to find script");const srcUrl=unpackJavaScript(script.trim());return streamLinks.push({link:srcUrl,server:"rido",type:"m3u8",headers:{Referer:iframeUrl}}),streamLinks}catch(e){return[]}});function unpackJavaScript(packedCode){const encodedString=packedCode.split("|aHR")[1].split("|")[0];var base64;return atob((base64="aHR"+encodedString)+"=".repeat((4-base64.length%4)%4))}exports.getStream=getStream; \ No newline at end of file diff --git a/dist/ringz/catalog.js b/dist/ringz/catalog.js index 9bc97ce..0583029 100644 --- a/dist/ringz/catalog.js +++ b/dist/ringz/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Movies", - filter: "MOVIES", - }, - { - title: "TV Shows", - filter: "SERIES", - }, - { - title: "Anime", - filter: "ANIME", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Movies",filter:"MOVIES"},{title:"TV Shows",filter:"SERIES"},{title:"Anime",filter:"ANIME"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/ringz/meta.js b/dist/ringz/meta.js index f848322..86b49ef 100644 --- a/dist/ringz/meta.js +++ b/dist/ringz/meta.js @@ -1,95 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: data, }) { - var _b, _c; - try { - const dataJson = JSON.parse(data); - const title = (dataJson === null || dataJson === void 0 ? void 0 : dataJson.kn) || (dataJson === null || dataJson === void 0 ? void 0 : dataJson.mn); - const image = (dataJson === null || dataJson === void 0 ? void 0 : dataJson.IH) || (dataJson === null || dataJson === void 0 ? void 0 : dataJson.IV); - const tags = dataJson === null || dataJson === void 0 ? void 0 : dataJson.gn.split(",").slice(0, 3).map((tag) => tag.trim()); - const type = (dataJson === null || dataJson === void 0 ? void 0 : dataJson.cg) === "webSeries" ? "series" : "movie"; - const linkList = []; - if ((dataJson === null || dataJson === void 0 ? void 0 : dataJson.cg) === "webSeries") { - (_b = ["1", "2", "3", "4"]) === null || _b === void 0 ? void 0 : _b.forEach((item) => { - var _a; - const directLinks = []; - if (typeof (dataJson === null || dataJson === void 0 ? void 0 : dataJson["eServer" + item]) === "object" && - ((_a = Object === null || Object === void 0 ? void 0 : Object.keys(dataJson === null || dataJson === void 0 ? void 0 : dataJson["eServer" + item])) === null || _a === void 0 ? void 0 : _a.length) > 0) { - Object.keys(dataJson === null || dataJson === void 0 ? void 0 : dataJson["eServer" + item]).forEach((key) => { - directLinks.push({ - title: "Episode " + key, - link: JSON.stringify({ - url: dataJson === null || dataJson === void 0 ? void 0 : dataJson["eServer" + item][key], - server: "Server " + item, - }), - }); - }); - linkList.push({ - title: (dataJson === null || dataJson === void 0 ? void 0 : dataJson.pn) + " (Server " + item + ")", - directLinks, - }); - } - }); - } - else { - const directLinks = []; - (_c = ["1", "2", "3", "4"]) === null || _c === void 0 ? void 0 : _c.forEach((item) => { - if (dataJson === null || dataJson === void 0 ? void 0 : dataJson["s" + item]) { - directLinks.push({ - title: "Server " + item + " (HD)", - link: JSON.stringify({ - url: dataJson === null || dataJson === void 0 ? void 0 : dataJson.s1, - server: "Server " + item, - }), - }); - } - if (dataJson === null || dataJson === void 0 ? void 0 : dataJson["4s" + item]) { - directLinks.push({ - title: "Server " + item + " (480p)", - link: JSON.stringify({ - url: dataJson === null || dataJson === void 0 ? void 0 : dataJson["4s" + item], - server: "Server " + item, - }), - }); - } - }); - linkList.push({ - title: dataJson === null || dataJson === void 0 ? void 0 : dataJson.pn, - directLinks, - }); - } - return { - title, - image, - imdbId: "", - synopsis: "", - type, - linkList, - tags, - }; - } - catch (err) { - return { - title: "", - image: "", - imdbId: "", - synopsis: "", - type: "movie", - linkList: [], - tags: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:data}){var _b,_c;try{const dataJson=JSON.parse(data),title=(null==dataJson?void 0:dataJson.kn)||(null==dataJson?void 0:dataJson.mn),image=(null==dataJson?void 0:dataJson.IH)||(null==dataJson?void 0:dataJson.IV),tags=null==dataJson?void 0:dataJson.gn.split(",").slice(0,3).map(tag=>tag.trim()),type="webSeries"===(null==dataJson?void 0:dataJson.cg)?"series":"movie",linkList=[];if("webSeries"===(null==dataJson?void 0:dataJson.cg))null===(_b=["1","2","3","4"])||void 0===_b||_b.forEach(item=>{var _a;const directLinks=[];"object"==typeof(null==dataJson?void 0:dataJson["eServer"+item])&&(null===(_a=null==Object?void 0:Object.keys(null==dataJson?void 0:dataJson["eServer"+item]))||void 0===_a?void 0:_a.length)>0&&(Object.keys(null==dataJson?void 0:dataJson["eServer"+item]).forEach(key=>{directLinks.push({title:"Episode "+key,link:JSON.stringify({url:null==dataJson?void 0:dataJson["eServer"+item][key],server:"Server "+item})})}),linkList.push({title:(null==dataJson?void 0:dataJson.pn)+" (Server "+item+")",directLinks:directLinks}))});else{const directLinks=[];null===(_c=["1","2","3","4"])||void 0===_c||_c.forEach(item=>{(null==dataJson?void 0:dataJson["s"+item])&&directLinks.push({title:"Server "+item+" (HD)",link:JSON.stringify({url:null==dataJson?void 0:dataJson.s1,server:"Server "+item})}),(null==dataJson?void 0:dataJson["4s"+item])&&directLinks.push({title:"Server "+item+" (480p)",link:JSON.stringify({url:null==dataJson?void 0:dataJson["4s"+item],server:"Server "+item})})}),linkList.push({title:null==dataJson?void 0:dataJson.pn,directLinks:directLinks})}return{title:title,image:image,imdbId:"",synopsis:"",type:type,linkList:linkList,tags:tags}}catch(err){return{title:"",image:"",imdbId:"",synopsis:"",type:"movie",linkList:[],tags:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/ringz/posts.js b/dist/ringz/posts.js index 89781dd..26e19ab 100644 --- a/dist/ringz/posts.js +++ b/dist/ringz/posts.js @@ -1,168 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ringzData = exports.headers = exports.getSearchPosts = exports.getPosts = void 0; -exports.getRingzMovies = getRingzMovies; -exports.getRingzShows = getRingzShows; -exports.getRingzAnime = getRingzAnime; -exports.getRingzAdult = getRingzAdult; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) { - return posts({ filter, signal, providerContext }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, // providerContext, - }) { - if (page > 1) - return []; - function searchData(data, query) { - // Convert query to lowercase for case-insensitive search - const searchQuery = query.toLowerCase(); - // Filter movies based on movie name (mn) - return data.filter((movie) => { - // Convert movie name to lowercase and check if it includes the search query - const movieName = movie.mn.toLowerCase(); - return movieName.includes(searchQuery); - }); - } - try { - const catalog = []; - const promises = [getRingzMovies(), getRingzShows(), getRingzAnime()]; - const responses = yield Promise.all(promises); - responses.map((response) => { - const searchResults = searchData(response, searchQuery); - searchResults.map((element) => { - const title = (element === null || element === void 0 ? void 0 : element.kn) || (element === null || element === void 0 ? void 0 : element.mn); - const link = JSON.stringify(element); - const image = element === null || element === void 0 ? void 0 : element.IV; - if (title && link) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - }); - return catalog; - } - catch (err) { - console.error("ringz error ", err); - return []; - } - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, // signal, - }) { - try { - let response; - if (filter === "MOVIES") { - response = getRingzMovies(); - } - if (filter === "SERIES") { - response = getRingzShows(); - } - if (filter === "ANIME") { - response = getRingzAnime(); - } - const data = yield response; - const catalog = []; - data.map((element) => { - const title = (element === null || element === void 0 ? void 0 : element.kn) || (element === null || element === void 0 ? void 0 : element.mn); - const link = JSON.stringify(element); - const image = element === null || element === void 0 ? void 0 : element.IV; - if (title && link) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - console.error("ringz error ", err); - return []; - } - }); -} -exports.headers = { - "cf-access-client-id": "833049b087acf6e787cedfd85d1ccdb8.access", - "cf-access-client-secret": "02db296a961d7513c3102d7785df4113eff036b2d57d060ffcc2ba3ba820c6aa", -}; -const BASE_URL = "https://privatereporz.pages.dev"; -function getRingzMovies() { - return __awaiter(this, void 0, void 0, function* () { - try { - const response = yield fetch(`${BASE_URL}/test.json`, { - headers: Object.assign({}, exports.headers), - }); - const data = yield response.json(); - return data.AllMovieDataList; - } - catch (error) { - console.error(error); - } - }); -} -function getRingzShows() { - return __awaiter(this, void 0, void 0, function* () { - try { - const response = yield fetch(`${BASE_URL}/srs.json`, { - headers: Object.assign({}, exports.headers), - }); - const data = yield response.json(); - return data.webSeriesDataList; - } - catch (error) { - console.error(error); - } - }); -} -function getRingzAnime() { - return __awaiter(this, void 0, void 0, function* () { - try { - const response = yield fetch(`${BASE_URL}/anime.json`, { - headers: Object.assign({}, exports.headers), - }); - const data = yield response.json(); - return data.webSeriesDataList; - } - catch (error) { - console.error(error); - } - }); -} -function getRingzAdult() { - return __awaiter(this, void 0, void 0, function* () { - try { - const response = yield fetch(`${BASE_URL}/desihub.json`, { - headers: Object.assign({}, exports.headers), - }); - const data = yield response.json(); - return data.webSeriesDataList; - } - catch (error) { - console.error(error); - } - }); -} -exports.ringzData = { - getRingzMovies, - getRingzShows, - getRingzAnime, - getRingzAdult, -}; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ringzData=exports.headers=exports.getSearchPosts=exports.getPosts=void 0,exports.getRingzMovies=getRingzMovies,exports.getRingzShows=getRingzShows,exports.getRingzAnime=getRingzAnime,exports.getRingzAdult=getRingzAdult;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,signal:signal,providerContext:providerContext}){return posts({filter:filter,signal:signal,providerContext:providerContext})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page}){if(page>1)return[];try{const catalog=[],promises=[getRingzMovies(),getRingzShows(),getRingzAnime()];return(yield Promise.all(promises)).map(response=>{const searchResults=function(data,query){const searchQuery=query.toLowerCase();return data.filter(movie=>movie.mn.toLowerCase().includes(searchQuery))}(response,searchQuery);searchResults.map(element=>{const title=(null==element?void 0:element.kn)||(null==element?void 0:element.mn),link=JSON.stringify(element),image=null==element?void 0:element.IV;title&&link&&catalog.push({title:title,link:link,image:image})})}),catalog}catch(err){return[]}})};function posts(_a){return __awaiter(this,arguments,void 0,function*({filter:filter}){try{let response;"MOVIES"===filter&&(response=getRingzMovies()),"SERIES"===filter&&(response=getRingzShows()),"ANIME"===filter&&(response=getRingzAnime());const data=yield response,catalog=[];return data.map(element=>{const title=(null==element?void 0:element.kn)||(null==element?void 0:element.mn),link=JSON.stringify(element),image=null==element?void 0:element.IV;title&&link&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts,exports.headers={"cf-access-client-id":"833049b087acf6e787cedfd85d1ccdb8.access","cf-access-client-secret":"02db296a961d7513c3102d7785df4113eff036b2d57d060ffcc2ba3ba820c6aa"};const BASE_URL="https://privatereporz.pages.dev";function getRingzMovies(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/test.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).AllMovieDataList}catch(error){}})}function getRingzShows(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/srs.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}function getRingzAnime(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/anime.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}function getRingzAdult(){return __awaiter(this,void 0,void 0,function*(){try{const response=yield fetch(`${BASE_URL}/desihub.json`,{headers:Object.assign({},exports.headers)});return(yield response.json()).webSeriesDataList}catch(error){}})}exports.ringzData={getRingzMovies:getRingzMovies,getRingzShows:getRingzShows,getRingzAnime:getRingzAnime,getRingzAdult:getRingzAdult}; \ No newline at end of file diff --git a/dist/ringz/stream.js b/dist/ringz/stream.js index eebb36f..86f62db 100644 --- a/dist/ringz/stream.js +++ b/dist/ringz/stream.js @@ -1,25 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: data, }) { - const streamLinks = []; - const dataJson = JSON.parse(data); - streamLinks.push({ - link: dataJson.url, - server: dataJson.server, - type: "mkv", - }); - return streamLinks; - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:data}){const streamLinks=[],dataJson=JSON.parse(data);return streamLinks.push({link:dataJson.url,server:dataJson.server,type:"mkv"}),streamLinks})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/showbox/catalog.js b/dist/showbox/catalog.js index a6b76ab..56794f4 100644 --- a/dist/showbox/catalog.js +++ b/dist/showbox/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Home", - filter: "", - }, - { - title: "Movies", - filter: "/movie", - }, - { - title: "TV Shows", - filter: "/tv", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Movies",filter:"/movie"},{title:"TV Shows",filter:"/tv"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/showbox/episodes.js b/dist/showbox/episodes.js index 868273f..b99deba 100644 --- a/dist/showbox/episodes.js +++ b/dist/showbox/episodes.js @@ -1,54 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url: id, providerContext, }) { - const { axios } = providerContext; - try { - const [fileId, febboxId] = id.split("&"); - const febLink = febboxId - ? `https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&parent_id=${febboxId}&is_html=0` - : `https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&is_html=0`; - const res = yield axios.get(febLink); - const data = res.data; - const fileList = data.data.file_list; - const episodeLinks = []; - fileList === null || fileList === void 0 ? void 0 : fileList.map((file) => { - const fileName = formatEpisodeName(file.file_name); - const epId = file === null || file === void 0 ? void 0 : file.fid; - if (!file.is_dir && fileName && epId) { - episodeLinks.push({ - title: fileName, - link: `${fileId}&${epId}`, - }); - } - }); - return episodeLinks; - } - catch (err) { - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; -function formatEpisodeName(title) { - const regex = /[sS](\d+)\s*[eE](\d+)/; - const match = title.match(regex); - if (match) { - const season = match[1].padStart(2, "0"); - const episode = match[2].padStart(2, "0"); - return `Season${season} Episode${episode}`; - } - else { - return title; - } -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:id,providerContext:providerContext}){const{axios:axios}=providerContext;try{const[fileId,febboxId]=id.split("&"),febLink=febboxId?`https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&parent_id=${febboxId}&is_html=0`:`https://www.febbox.com/file/file_share_list?share_key=${fileId}&pwd=&is_html=0`,res=yield axios.get(febLink),fileList=res.data.data.file_list,episodeLinks=[];return null==fileList||fileList.map(file=>{const fileName=formatEpisodeName(file.file_name),epId=null==file?void 0:file.fid;!file.is_dir&&fileName&&epId&&episodeLinks.push({title:fileName,link:`${fileId}&${epId}`})}),episodeLinks}catch(err){return[]}})};function formatEpisodeName(title){const match=title.match(/[sS](\d+)\s*[eE](\d+)/);if(match){return`Season${match[1].padStart(2,"0")} Episode${match[2].padStart(2,"0")}`}return title}exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/showbox/meta.js b/dist/showbox/meta.js index 36dca77..bbc6a5f 100644 --- a/dist/showbox/meta.js +++ b/dist/showbox/meta.js @@ -1,76 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j, _k; - try { - const { axios, cheerio, getBaseUrl } = providerContext; - const baseUrlShowbox = yield getBaseUrl("showbox"); - const url = baseUrlShowbox + link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const type = url.includes("tv") ? "series" : "movie"; - const imdbId = ""; - const title = $(".heading-name").text(); - const rating = ((_c = (_b = $(".btn-imdb") - .text()) === null || _b === void 0 ? void 0 : _b.match(/\d+(\.\d+)?/g)) === null || _c === void 0 ? void 0 : _c[0]) || ""; - const image = ((_e = (_d = $(".cover_follow").attr("style")) === null || _d === void 0 ? void 0 : _d.split("url(")[1]) === null || _e === void 0 ? void 0 : _e.split(")")[0]) || ""; - const synopsis = (_g = (_f = $(".description") - .text()) === null || _f === void 0 ? void 0 : _f.replace(/[\n\t]/g, "")) === null || _g === void 0 ? void 0 : _g.trim(); - const febID = (_j = (_h = $(".heading-name").find("a").attr("href")) === null || _h === void 0 ? void 0 : _h.split("/")) === null || _j === void 0 ? void 0 : _j.pop(); - const baseUrl = url.split("/").slice(0, 3).join("/"); - const indexUrl = `${baseUrl}/index/share_link?id=${febID}&type=${type === "movie" ? "1" : "2"}`; - const indexRes = yield axios.get(indexUrl); - const indexData = indexRes.data; - const febKey = indexData.data.link.split("/").pop(); - const febLink = `https://www.febbox.com/file/file_share_list?share_key=${febKey}&is_html=0`; - const febRes = yield axios.get(febLink); - const febData = febRes.data; - const fileList = (_k = febData === null || febData === void 0 ? void 0 : febData.data) === null || _k === void 0 ? void 0 : _k.file_list; - const links = []; - if (fileList) { - fileList.map((file) => { - const fileName = `${file.file_name} (${file.file_size})`; - const fileId = file.fid; - links.push({ - title: fileName, - episodesLink: file.is_dir ? `${febKey}&${fileId}` : `${febKey}&`, - }); - }); - } - return { - title, - rating, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - console.error("Error fetching metadata:", err); - return { - title: "", - rating: "", - synopsis: "", - image: "", - imdbId: "", - type: "", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k;try{const{axios:axios,cheerio:cheerio,getBaseUrl:getBaseUrl}=providerContext,url=(yield getBaseUrl("showbox"))+link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=url.includes("tv")?"series":"movie",imdbId="",title=$(".heading-name").text(),rating=(null===(_c=null===(_b=$(".btn-imdb").text())||void 0===_b?void 0:_b.match(/\d+(\.\d+)?/g))||void 0===_c?void 0:_c[0])||"",image=(null===(_e=null===(_d=$(".cover_follow").attr("style"))||void 0===_d?void 0:_d.split("url(")[1])||void 0===_e?void 0:_e.split(")")[0])||"",synopsis=null===(_g=null===(_f=$(".description").text())||void 0===_f?void 0:_f.replace(/[\n\t]/g,""))||void 0===_g?void 0:_g.trim(),febID=null===(_j=null===(_h=$(".heading-name").find("a").attr("href"))||void 0===_h?void 0:_h.split("/"))||void 0===_j?void 0:_j.pop(),indexUrl=`${url.split("/").slice(0,3).join("/")}/index/share_link?id=${febID}&type=${"movie"===type?"1":"2"}`,indexRes=yield axios.get(indexUrl),febKey=indexRes.data.data.link.split("/").pop(),febLink=`https://www.febbox.com/file/file_share_list?share_key=${febKey}&is_html=0`,febData=(yield axios.get(febLink)).data,fileList=null===(_k=null==febData?void 0:febData.data)||void 0===_k?void 0:_k.file_list,links=[];return fileList&&fileList.map(file=>{const fileName=`${file.file_name} (${file.file_size})`,fileId=file.fid;links.push({title:fileName,episodesLink:file.is_dir?`${febKey}&${fileId}`:`${febKey}&`})}),{title:title,rating:rating,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",rating:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/showbox/posts.js b/dist/showbox/posts.js index 71f82e1..6d55d71 100644 --- a/dist/showbox/posts.js +++ b/dist/showbox/posts.js @@ -1,62 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("showbox"); - const url = `${baseUrl + filter}?page=${page}/`; - return posts({ url, signal, baseUrl, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("showbox"); - const url = `${baseUrl}/search?keyword=${searchQuery}&page=${page}`; - return posts({ url, signal, baseUrl, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, - // baseUrl, - axios, cheerio, }) { - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $(".movie-item,.flw-item").map((i, element) => { - const title = $(element).find(".film-name").text().trim(); - const link = $(element).find("a").attr("href"); - const image = $(element).find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("showbox");return posts({url:`${baseUrl+filter}?page=${page}/`,signal:signal,baseUrl:baseUrl,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("showbox");return posts({url:`${baseUrl}/search?keyword=${searchQuery}&page=${page}`,signal:signal,baseUrl:baseUrl,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".movie-item,.flw-item").map((i,element)=>{const title=$(element).find(".film-name").text().trim(),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("src");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/showbox/stream.js b/dist/showbox/stream.js index d7f2258..20d49dd 100644 --- a/dist/showbox/stream.js +++ b/dist/showbox/stream.js @@ -1,47 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: id, - // type, - signal, providerContext, }) { - try { - const { axios, cheerio } = providerContext; - const stream = []; - const [, epId] = id.split("&"); - const url = `https://febbox.vercel.app/api/video-quality?fid=${epId}`; - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data.html); - $(".file_quality").each((i, el) => { - const server = $(el).find("p.name").text() + - " - " + - $(el).find("p.size").text() + - " - " + - $(el).find("p.speed").text(); - const link = $(el).attr("data-url"); - if (link) { - stream.push({ - server: server, - type: "mkv", - link: link, - }); - } - }); - return stream; - } - catch (err) { - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,signal:signal,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio}=providerContext,stream=[],[,epId]=id.split("&"),url=`https://febbox.vercel.app/api/video-quality?fid=${epId}`,data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data.html);return $(".file_quality").each((i,el)=>{const server=$(el).find("p.name").text()+" - "+$(el).find("p.size").text()+" - "+$(el).find("p.speed").text(),link=$(el).attr("data-url");link&&stream.push({server:server,type:"mkv",link:link})}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/superVideoExtractor.js b/dist/superVideoExtractor.js index 79f0660..64a6f37 100644 --- a/dist/superVideoExtractor.js +++ b/dist/superVideoExtractor.js @@ -1,50 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.superVideoExtractor = superVideoExtractor; -function superVideoExtractor(data) { - return __awaiter(this, void 0, void 0, function* () { - var _a, _b; - try { - // Step 1: Extract the function parameters and the encoded string - var functionRegex = /eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/; - var match = functionRegex.exec(data); - let p = ''; - if (match) { - // var params = match[1].split(',').map(param => param.trim()); - var encodedString = match[2]; - // console.log('Parameters:', params); - // console.log('Encoded String:', encodedString.split("',36,")[0], '🔥🔥'); - p = (_a = encodedString.split("',36,")) === null || _a === void 0 ? void 0 : _a[0].trim(); - let a = 36; - let c = encodedString.split("',36,")[1].slice(2).split('|').length; - let k = encodedString.split("',36,")[1].slice(2).split('|'); - while (c--) { - if (k[c]) { - var regex = new RegExp('\\b' + c.toString(a) + '\\b', 'g'); - p = p.replace(regex, k[c]); - } - } - // console.log('Decoded String:', p); - } - else { - console.log('No match found'); - } - const streamUrl = (_b = p === null || p === void 0 ? void 0 : p.match(/file:\s*"([^"]+\.m3u8[^"]*)"/)) === null || _b === void 0 ? void 0 : _b[1]; - console.log('streamUrl:', streamUrl); - return streamUrl || ''; - } - catch (err) { - console.error('SuperVideoExtractor Error:', err); - return ''; - } - }); -} +"use strict";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())})};function superVideoExtractor(data){return __awaiter(this,void 0,void 0,function*(){var _a,_b;try{var match=/eval\(function\((.*?)\)\{.*?return p\}.*?\('(.*?)'\.split/.exec(data);let p="";if(match){var encodedString=match[2];p=null===(_a=encodedString.split("',36,"))||void 0===_a?void 0:_a[0].trim();let a=36,c=encodedString.split("',36,")[1].slice(2).split("|").length,k=encodedString.split("',36,")[1].slice(2).split("|");for(;c--;)if(k[c]){var regex=new RegExp("\\b"+c.toString(a)+"\\b","g");p=p.replace(regex,k[c])}}return(null===(_b=null==p?void 0:p.match(/file:\s*"([^"]+\.m3u8[^"]*)"/))||void 0===_b?void 0:_b[1])||""}catch(err){return""}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.superVideoExtractor=superVideoExtractor; \ No newline at end of file diff --git a/dist/tokyoInsider/catalog.js b/dist/tokyoInsider/catalog.js index 9d02423..4281661 100644 --- a/dist/tokyoInsider/catalog.js +++ b/dist/tokyoInsider/catalog.js @@ -1,14 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Top Anime", - filter: "anime/search?r=5", - }, - { - title: "Popular Anime", - filter: "anime/", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Top Anime",filter:"anime/search?r=5"},{title:"Popular Anime",filter:"anime/"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/tokyoInsider/meta.js b/dist/tokyoInsider/meta.js index 99f1bd9..136e008 100644 --- a/dist/tokyoInsider/meta.js +++ b/dist/tokyoInsider/meta.js @@ -1,68 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { cheerio } = providerContext; - const url = link; - const res = yield fetch(url); - const data = yield res.text(); - const $ = cheerio.load(data); - const meta = { - title: $('.c_h2:contains("Title(s):")') - .text() - .replace("Title(s):", "") - .trim() - .split("\n")[0], - synopsis: $('.c_h2b:contains("Summary:"),.c_h2:contains("Summary:")') - .text() - .replace("Summary:", "") - .trim(), - image: $(".a_img").attr("src") || "", - imdbId: "", - type: "series", - }; - const episodesList = []; - $(".episode").map((i, element) => { - const link = "https://www.tokyoinsider.com" + $(element).find("a").attr("href") || - $(".download-link").attr("href"); - let title = $(element).find("a").find("em").text() + - " " + - $(element).find("a").find("strong").text(); - if (!title.trim()) { - title = $(".download-link").text(); - } - if (link && title.trim()) { - episodesList.push({ title, link }); - } - }); - return Object.assign(Object.assign({}, meta), { linkList: [ - { - title: meta.title, - directLinks: episodesList, - }, - ] }); - } - catch (err) { - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "series", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,url=link,res=yield fetch(url),data=yield res.text(),$=cheerio.load(data),meta={title:$('.c_h2:contains("Title(s):")').text().replace("Title(s):","").trim().split("\n")[0],synopsis:$('.c_h2b:contains("Summary:"),.c_h2:contains("Summary:")').text().replace("Summary:","").trim(),image:$(".a_img").attr("src")||"",imdbId:"",type:"series"},episodesList=[];return $(".episode").map((i,element)=>{const link="https://www.tokyoinsider.com"+$(element).find("a").attr("href")||$(".download-link").attr("href");let title=$(element).find("a").find("em").text()+" "+$(element).find("a").find("strong").text();title.trim()||(title=$(".download-link").text()),link&&title.trim()&&episodesList.push({title:title,link:link})}),Object.assign(Object.assign({},meta),{linkList:[{title:meta.title,directLinks:episodesList}]})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"series",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/tokyoInsider/posts.js b/dist/tokyoInsider/posts.js index 05a7278..f012414 100644 --- a/dist/tokyoInsider/posts.js +++ b/dist/tokyoInsider/posts.js @@ -1,65 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseURL = yield getBaseUrl("tokyoinsider"); - const start = page < 2 ? 0 : (page - 1) * 20; - const url = `${baseURL}/${filter}&start=${start}`; - return posts({ baseURL, url, signal, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseURL = yield getBaseUrl("tokyoinsider"); - const start = page < 2 ? 0 : (page - 1) * 20; - const url = `${baseURL}/anime/search?k=${searchQuery}&start=${start}`; - return posts({ baseURL, url, signal, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ baseURL, url, signal, axios, cheerio, }) { - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $('td.c_h2[width="40"]').map((i, element) => { - var _a; - const image = (_a = $(element) - .find(".a_img") - .attr("src")) === null || _a === void 0 ? void 0 : _a.replace("small", "default"); - const title = $(element).find("a").attr("title"); - const link = baseURL + $(element).find("a").attr("href"); - if (title && link && image) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseURL=yield getBaseUrl("tokyoinsider");return posts({baseURL:baseURL,url:`${baseURL}/${filter}&start=${page<2?0:20*(page-1)}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseURL=yield getBaseUrl("tokyoinsider");return posts({baseURL:baseURL,url:`${baseURL}/anime/search?k=${searchQuery}&start=${page<2?0:20*(page-1)}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({baseURL:baseURL,url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $('td.c_h2[width="40"]').map((i,element)=>{var _a;const image=null===(_a=$(element).find(".a_img").attr("src"))||void 0===_a?void 0:_a.replace("small","default"),title=$(element).find("a").attr("title"),link=baseURL+$(element).find("a").attr("href");title&&link&&image&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/tokyoInsider/stream.js b/dist/tokyoInsider/stream.js index bed2669..450bb28 100644 --- a/dist/tokyoInsider/stream.js +++ b/dist/tokyoInsider/stream.js @@ -1,41 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - try { - const { cheerio } = providerContext; - const url = link; - const res = yield fetch(url); - const data = yield res.text(); - const $ = cheerio.load(data); - const streamLinks = []; - $(".c_h1,.c_h2").map((i, element) => { - $(element).find("span").remove(); - const title = $(element).find("a").text() || ""; - const link = $(element).find("a").attr("href") || ""; - if (title && link.includes("media")) { - streamLinks.push({ - server: title, - link, - type: link.split(".").pop() || "mkv", - }); - } - }); - return streamLinks; - } - catch (err) { - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){try{const{cheerio:cheerio}=providerContext,url=link,res=yield fetch(url),data=yield res.text(),$=cheerio.load(data),streamLinks=[];return $(".c_h1,.c_h2").map((i,element)=>{$(element).find("span").remove();const title=$(element).find("a").text()||"",link=$(element).find("a").attr("href")||"";title&&link.includes("media")&&streamLinks.push({server:title,link:link,type:link.split(".").pop()||"mkv"})}),streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/topmovies/catalog.js b/dist/topmovies/catalog.js index 845bab8..a92511c 100644 --- a/dist/topmovies/catalog.js +++ b/dist/topmovies/catalog.js @@ -1,87 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Latest", - filter: "", - }, - { - title: "Netflix", - filter: "/web-series/tv-shows-by-network/netflix", - }, - { - title: "Hotstar", - filter: "/web-series/tv-shows-by-network/hotstar", - }, - { - title: "Amazon Prime", - filter: "/web-series/tv-shows-by-network/amazon-prime-video", - }, -]; -exports.genres = [ - { - title: "Apple TV+", - filter: "/ott/apple-tv", - }, - { - title: "Disney+", - filter: "/ott/disney-plus", - }, - { - title: "Hulu", - filter: "/ott/hulu", - }, - { - title: "Crunchyroll", - filter: "/ott/crunchyroll", - }, - { - title: "Action", - filter: "/movies-by-genre/action/", - }, - { - title: "Adventure", - filter: "/movies-by-genre/adventure/", - }, - { - title: "Animation", - filter: "/movies-by-genre/animated/", - }, - { - title: "Comedy", - filter: "/movies-by-genre/comedy/", - }, - { - title: "Crime", - filter: "/movies-by-genre/crime/", - }, - { - title: "Documentary", - filter: "/movies-by-genre/documentary/", - }, - { - title: "Fantasy", - filter: "/movies-by-genre/fantasy/", - }, - { - title: "Horror", - filter: "/movies-by-genre/horror/", - }, - { - title: "Mystery", - filter: "/movies-by-genre/mystery/", - }, - { - title: "Romance", - filter: "/movies-by-genre/romance/", - }, - { - title: "Thriller", - filter: "/movies-by-genre/thriller/", - }, - { - title: "Sci-Fi", - filter: "/movies-by-genre/sci-fi/", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Netflix",filter:"/web-series/tv-shows-by-network/netflix"},{title:"Hotstar",filter:"/web-series/tv-shows-by-network/hotstar"},{title:"Amazon Prime",filter:"/web-series/tv-shows-by-network/amazon-prime-video"}],exports.genres=[{title:"Apple TV+",filter:"/ott/apple-tv"},{title:"Disney+",filter:"/ott/disney-plus"},{title:"Hulu",filter:"/ott/hulu"},{title:"Crunchyroll",filter:"/ott/crunchyroll"},{title:"Action",filter:"/movies-by-genre/action/"},{title:"Adventure",filter:"/movies-by-genre/adventure/"},{title:"Animation",filter:"/movies-by-genre/animated/"},{title:"Comedy",filter:"/movies-by-genre/comedy/"},{title:"Crime",filter:"/movies-by-genre/crime/"},{title:"Documentary",filter:"/movies-by-genre/documentary/"},{title:"Fantasy",filter:"/movies-by-genre/fantasy/"},{title:"Horror",filter:"/movies-by-genre/horror/"},{title:"Mystery",filter:"/movies-by-genre/mystery/"},{title:"Romance",filter:"/movies-by-genre/romance/"},{title:"Thriller",filter:"/movies-by-genre/thriller/"},{title:"Sci-Fi",filter:"/movies-by-genre/sci-fi/"}]; \ No newline at end of file diff --git a/dist/topmovies/episodes.js b/dist/topmovies/episodes.js index 437d18d..dee51ad 100644 --- a/dist/topmovies/episodes.js +++ b/dist/topmovies/episodes.js @@ -1,60 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - var _b; - const { axios, cheerio } = providerContext; - try { - if (url.includes("url=")) { - url = atob(url.split("url=")[1]); - } - const res = yield axios.get(url); - const html = res.data; - let $ = cheerio.load(html); - if (url.includes("url=")) { - const newUrl = (_b = $("meta[http-equiv='refresh']") - .attr("content")) === null || _b === void 0 ? void 0 : _b.split("url=")[1]; - const res2 = yield axios.get(newUrl || url); - const html2 = res2.data; - $ = cheerio.load(html2); - } - const episodeLinks = []; - $("h3,h4").map((i, element) => { - const seriesTitle = $(element).text(); - const episodesLink = $(element).find("a").attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - $("a.maxbutton").map((i, element) => { - const seriesTitle = $(element).children("span").text(); - const episodesLink = $(element).attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error(err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=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[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/topmovies/meta.js b/dist/topmovies/meta.js index 43ca4ca..b946fd5 100644 --- a/dist/topmovies/meta.js +++ b/dist/topmovies/meta.js @@ -1,75 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const meta = { - title: $(".imdbwp__title").text(), - synopsis: $(".imdbwp__teaser").text(), - image: $(".imdbwp__thumb").find("img").attr("src") || "", - imdbId: ((_b = $(".imdbwp__link").attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || "", - type: $(".thecontent").text().toLocaleLowerCase().includes("season") - ? "series" - : "movie", - }; - const links = []; - $("h3,h4").map((i, element) => { - var _a; - const seriesTitle = $(element).text(); - // const batchZipLink = $(element) - // .next("p") - // .find(".maxbutton-batch-zip,.maxbutton-zip-download") - // .attr("href"); - const episodesLink = $(element) - .next("p") - .find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download") - .attr("href"); - const movieLink = $(element) - .next("p") - .find(".maxbutton-download-links") - .attr("href"); - if (movieLink || - (episodesLink && episodesLink !== "javascript:void(0);")) { - links.push({ - title: seriesTitle.replace("Download ", "").trim() || "Download", - episodesLink: episodesLink || "", - directLinks: movieLink - ? [{ link: movieLink, title: "Movie", type: "movie" }] - : [], - quality: ((_a = seriesTitle === null || seriesTitle === void 0 ? void 0 : seriesTitle.match(/\d+p\b/)) === null || _a === void 0 ? void 0 : _a[0]) || "", - }); - } - }); - // console.log('mod meta', links); - return Object.assign(Object.assign({}, meta), { linkList: links }); - } - catch (err) { - console.error(err); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),meta={title:$(".imdbwp__title").text(),synopsis:$(".imdbwp__teaser").text(),image:$(".imdbwp__thumb").find("img").attr("src")||"",imdbId:(null===(_b=$(".imdbwp__link").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",type:$(".thecontent").text().toLocaleLowerCase().includes("season")?"series":"movie"},links=[];return $("h3,h4").map((i,element)=>{var _a;const seriesTitle=$(element).text(),episodesLink=$(element).next("p").find(".maxbutton-episode-links,.maxbutton-g-drive,.maxbutton-af-download").attr("href"),movieLink=$(element).next("p").find(".maxbutton-download-links").attr("href");(movieLink||episodesLink&&"javascript:void(0);"!==episodesLink)&&links.push({title:seriesTitle.replace("Download ","").trim()||"Download",episodesLink:episodesLink||"",directLinks:movieLink?[{link:movieLink,title:"Movie",type:"movie"}]:[],quality:(null===(_a=null==seriesTitle?void 0:seriesTitle.match(/\d+p\b/))||void 0===_a?void 0:_a[0])||""})}),Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/topmovies/posts.js b/dist/topmovies/posts.js index 29007ec..2fd78b5 100644 --- a/dist/topmovies/posts.js +++ b/dist/topmovies/posts.js @@ -1,79 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = 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", -}; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("Topmovies"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts(url, signal, providerContext); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("Topmovies"); - const url = `${baseUrl}/search/${searchQuery}/page/${page}/`; - return posts(url, signal, providerContext); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(url, signal, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - try { - const { axios, cheerio } = providerContext; - const res = yield axios.get(url, { headers, signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $(".post-cards") - .find("article") - .map((i, element) => { - const title = $(element).find("a").attr("title"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("img").attr("data-src") || - $(element).find("img").attr("src") || - ""; - if (title && link) { - catalog.push({ - title: title.replace("Download", "").trim(), - link: link, - image: image, - }); - } - }); - // console.log(catalog); - return catalog; - } - catch (err) { - console.error("mod error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=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"},getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${(yield getBaseUrl("Topmovies"))+filter}/page/${page}/`,signal,providerContext)})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext;return posts(`${yield getBaseUrl("Topmovies")}/search/${searchQuery}/page/${page}/`,signal,providerContext)})};function posts(url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){try{const{axios:axios,cheerio:cheerio}=providerContext,data=(yield axios.get(url,{headers:headers,signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".post-cards").find("article").map((i,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("img").attr("data-src")||$(element).find("img").attr("src")||"";title&&link&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/topmovies/stream.js b/dist/topmovies/stream.js index 3dea75c..c0a70d8 100644 --- a/dist/topmovies/stream.js +++ b/dist/topmovies/stream.js @@ -1,274 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -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", -}; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, type, providerContext, }) { - var _b, _c; - const { axios, cheerio } = providerContext; - try { - const modGetEpisodeLinks = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - var _b; - const { axios, cheerio } = providerContext; - try { - if (url.includes("url=")) { - url = atob(url.split("url=")[1]); - } - const res = yield axios.get(url); - const html = res.data; - let $ = cheerio.load(html); - if (url.includes("url=")) { - const newUrl = (_b = $("meta[http-equiv='refresh']") - .attr("content")) === null || _b === void 0 ? void 0 : _b.split("url=")[1]; - const res2 = yield axios.get(newUrl || url); - const html2 = res2.data; - $ = cheerio.load(html2); - } - const episodeLinks = []; - $("h3,h4").map((i, element) => { - const seriesTitle = $(element).text(); - const episodesLink = $(element).find("a").attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - $("a.maxbutton").map((i, element) => { - const seriesTitle = $(element).children("span").text(); - const episodesLink = $(element).attr("href"); - if (episodesLink && episodesLink !== "#") { - episodeLinks.push({ - title: seriesTitle.trim() || "No title found", - link: episodesLink || "", - }); - } - }); - return episodeLinks; - } - catch (err) { - console.error(err); - return []; - } - }); - }; - console.log("modGetStream", type, url); - if (type === "movie") { - const servers = yield modGetEpisodeLinks({ url, providerContext }); - url = servers[0].link || url; - } - let downloadLink = yield modExtractor(url, providerContext); - // console.log(downloadLink.data); - const ddl = ((_c = (_b = downloadLink === null || downloadLink === void 0 ? void 0 : downloadLink.data) === null || _b === void 0 ? void 0 : _b.match(/content="0;url=(.*?)"/)) === null || _c === void 0 ? void 0 : _c[1]) || url; - // console.log('ddl', url); - // console.log(ddl); - // console.log(ddl); - const servers = []; - const driveLink = yield isDriveLink(ddl); - const driveRes = yield axios.get(driveLink, { headers }); - const driveHtml = driveRes.data; - const $drive = cheerio.load(driveHtml); - try { - const resumeBot = $drive(".btn.btn-light").attr("href") || ""; - const resumeBotRes = yield axios.get(resumeBot, { headers }); - const resumeBotToken = resumeBotRes.data.match(/formData\.append\('token', '([a-f0-9]+)'\)/)[1]; - const resumeBotBody = new FormData(); - resumeBotBody.append("token", resumeBotToken); - const resumeBotPath = resumeBotRes.data.match(/fetch\('\/download\?id=([a-zA-Z0-9\/+]+)'/)[1]; - const resumeBotBaseUrl = resumeBot.split("/download")[0]; - // console.log( - // 'resumeBotPath', - // resumeBotBaseUrl + '/download?id=' + resumeBotPath, - // ); - // console.log('resumeBotBody', resumeBotToken); - const resumeBotDownload = yield fetch(resumeBotBaseUrl + "/download?id=" + resumeBotPath, { - method: "POST", - body: resumeBotBody, - headers: { - Referer: resumeBot, - Cookie: "PHPSESSID=7e9658ce7c805dab5bbcea9046f7f308", - }, - }); - const resumeBotDownloadData = yield resumeBotDownload.json(); - console.log("resumeBotDownloadData", resumeBotDownloadData.url); - servers.push({ - server: "ResumeBot", - link: resumeBotDownloadData.url, - type: "mkv", - }); - } - catch (err) { - console.log("ResumeBot link not found", err); - } - // CF workers type 1 - try { - const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=1"; - const cfWorkersRes = yield axios.get(cfWorkersLink, { headers }); - const cfWorkersHtml = cfWorkersRes.data; - const $cfWorkers = cheerio.load(cfWorkersHtml); - const cfWorkersStream = $cfWorkers(".btn-success"); - cfWorkersStream.each((i, el) => { - var _a; - const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href; - if (link) { - servers.push({ - server: "Cf Worker 1." + i, - link: link, - type: "mkv", - }); - } - }); - } - catch (err) { - console.log("CF workers link not found", err); - } - // CF workers type 2 - try { - const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=2"; - const cfWorkersRes = yield axios.get(cfWorkersLink, { headers }); - const cfWorkersHtml = cfWorkersRes.data; - const $cfWorkers = cheerio.load(cfWorkersHtml); - const cfWorkersStream = $cfWorkers(".btn-success"); - cfWorkersStream.each((i, el) => { - var _a; - const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href; - if (link) { - servers.push({ - server: "Cf Worker 2." + i, - link: link, - type: "mkv", - }); - } - }); - } - catch (err) { - console.log("CF workers link not found", err); - } - // gdrive - //instant link - try { - const seed = $drive(".btn-danger").attr("href") || ""; - const instantToken = seed.split("=")[1]; - // console.log('InstantToken', instantToken); - const InstantFromData = new FormData(); - InstantFromData.append("keys", instantToken); - const videoSeedUrl = seed.split("/").slice(0, 3).join("/") + "/api"; - // console.log('videoSeedUrl', videoSeedUrl); - const instantLinkRes = yield fetch(videoSeedUrl, { - method: "POST", - body: InstantFromData, - headers: { - "x-token": videoSeedUrl, - }, - }); - const instantLinkData = yield instantLinkRes.json(); - // console.log('instantLinkData', instantLinkData); - if (instantLinkData.error === false) { - const instantLink = instantLinkData.url; - servers.push({ - server: "Gdrive-Instant", - link: instantLink, - type: "mkv", - }); - } - else { - console.log("Instant link not found", instantLinkData); - } - } - catch (err) { - console.log("Instant link not found", err); - } - return servers; - } - catch (err) { - console.log("getStream error", 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); - const driveLeachData = yield driveLeach.text(); - const pathMatch = driveLeachData.match(/window\.location\.replace\("([^"]+)"\)/); - const path = pathMatch === null || pathMatch === void 0 ? void 0 : pathMatch[1]; - const mainUrl = ddl.split("/")[2]; - console.log(`driveUrl = https://${mainUrl}${path}`); - return `https://${mainUrl}${path}`; - } - else { - return ddl; - } -}); -function modExtractor(url, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const { axios, 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, - }); - const data = yield res.text(); - // console.log('', data); - const html = data; - const $ = cheerio.load(html); - // find input with name="_wp_http2" - const wpHttp2 = $("input").attr("name", "_wp_http2").val(); - // console.log('wpHttp2', wpHttp2); - // form data - var bodyFormData = new FormData(); - bodyFormData.append("_wp_http2", wpHttp2); - const formUrl1 = $("form").attr("action"); - const formUrl = formUrl1 || url.split("?")[0]; - const res2 = yield fetch(formUrl, { - method: "POST", - body: bodyFormData, - }); - const html2 = yield res2.text(); - const link = html2.match(/setAttribute\("href",\s*"(.*?)"/)[1]; - console.log(link); - const cookie = link.split("=")[1]; - console.log("cookie", cookie); - const downloadLink = yield axios.get(link, { - headers: { - Referer: formUrl, - Cookie: `${cookie}=${wpHttp2}`, - }, - }); - return downloadLink; - } - catch (err) { - console.log("modGetStream error", err); - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),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{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")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;servers.push({server:"Gdrive-Instant",link:instantLink,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){}})} \ No newline at end of file diff --git a/dist/types.js b/dist/types.js index c8ad2e5..f5d6053 100644 --- a/dist/types.js +++ b/dist/types.js @@ -1,2 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}); \ No newline at end of file diff --git a/dist/uhd/catalog.js b/dist/uhd/catalog.js index 1d35fc2..38d1da6 100644 --- a/dist/uhd/catalog.js +++ b/dist/uhd/catalog.js @@ -1,39 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Latest", - filter: "", - }, - { - title: "Web Series", - filter: "/web-series", - }, - { - title: "Movies", - filter: "/movies", - }, - { - title: "4K HDR", - filter: "/4k-hdr", - }, -]; -exports.genres = [ - { - title: "4K HEVC", - filter: "/2160p-hevc", - }, - { - title: "HD 10bit", - filter: "/1080p-10bit", - }, - { - title: "English Movies", - filter: "/movies/english-movies", - }, - { - title: "Dual Audio", - filter: "/movies/dual-audio-movies", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Latest",filter:""},{title:"Web Series",filter:"/web-series"},{title:"Movies",filter:"/movies"},{title:"4K HDR",filter:"/4k-hdr"}],exports.genres=[{title:"4K HEVC",filter:"/2160p-hevc"},{title:"HD 10bit",filter:"/1080p-10bit"},{title:"English Movies",filter:"/movies/english-movies"},{title:"Dual Audio",filter:"/movies/dual-audio-movies"}]; \ No newline at end of file diff --git a/dist/uhd/meta.js b/dist/uhd/meta.js index 20ab4ae..2a90d78 100644 --- a/dist/uhd/meta.js +++ b/dist/uhd/meta.js @@ -1,121 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = 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", - "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", -}; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - console.log("Fetching metadata from UHD...", link, providerContext); - const url = link; - const res = yield axios.get(url, { headers }); - const html = yield res.data; - const $ = cheerio.load(html); - const title = $("h2:first").text() || ""; - const image = $("h2").siblings().find("img").attr("src") || ""; - // const trailer = $('iframe').attr('src') || ''; - // console.log({ title, image, trailer }); - // Links - const episodes = []; - // new structure - $(".mks_separator,p:contains('mks_separator')").each((index, element) => { - $(element) - .nextUntil(".mks_separator") - .each((index, element) => { - const title = $(element).text(); - const episodesList = []; - $(element) - .next("p") - .find("a") - .each((index, element) => { - const title = $(element).text(); - const link = $(element).attr("href"); - if (title && link && !title.toLocaleLowerCase().includes("zip")) { - episodesList.push({ title, link }); - // console.log({ title, link }); - } - }); - if (title && episodesList.length > 0) { - episodes.push({ - title, - directLinks: episodesList, - }); - } - }); - }); - // old structure - $("hr").each((index, element) => { - $(element) - .nextUntil("hr") - .each((index, element) => { - const title = $(element).text(); - const episodesList = []; - $(element) - .next("p") - .find("a") - .each((index, element) => { - const title = $(element).text(); - const link = $(element).attr("href"); - if (title && link && !title.toLocaleLowerCase().includes("zip")) { - episodesList.push({ title, link }); - // console.log({ title, link }); - } - }); - if (title && episodesList.length > 0) { - episodes.push({ - title, - directLinks: episodesList, - }); - } - }); - }); - // console.log(episodes); - return { - title: title.match(/^Download\s+([^(\[]+)/i) - ? ((_b = title === null || title === void 0 ? void 0 : title.match(/^Download\s+([^(\[]+)/i)) === null || _b === void 0 ? void 0 : _b[1]) || "" - : title.replace("Download", "") || "", - image, - imdbId: "", - synopsis: title, - type: "", - linkList: episodes, - }; - } - catch (error) { - console.error(error); - return { - title: "", - image: "", - imdbId: "", - synopsis: "", - linkList: [], - type: "uhd", - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=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","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"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,res=yield axios.get(url,{headers:headers}),html=yield res.data,$=cheerio.load(html),title=$("h2:first").text()||"",image=$("h2").siblings().find("img").attr("src")||"",episodes=[];return $(".mks_separator,p:contains('mks_separator')").each((index,element)=>{$(element).nextUntil(".mks_separator").each((index,element)=>{const title=$(element).text(),episodesList=[];$(element).next("p").find("a").each((index,element)=>{const title=$(element).text(),link=$(element).attr("href");title&&link&&!title.toLocaleLowerCase().includes("zip")&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&episodes.push({title:title,directLinks:episodesList})})}),$("hr").each((index,element)=>{$(element).nextUntil("hr").each((index,element)=>{const title=$(element).text(),episodesList=[];$(element).next("p").find("a").each((index,element)=>{const title=$(element).text(),link=$(element).attr("href");title&&link&&!title.toLocaleLowerCase().includes("zip")&&episodesList.push({title:title,link:link})}),title&&episodesList.length>0&&episodes.push({title:title,directLinks:episodesList})})}),{title:title.match(/^Download\s+([^(\[]+)/i)?(null===(_b=null==title?void 0:title.match(/^Download\s+([^(\[]+)/i))||void 0===_b?void 0:_b[1])||"":title.replace("Download","")||"",image:image,imdbId:"",synopsis:title,type:"",linkList:episodes}}catch(error){return{title:"",image:"",imdbId:"",synopsis:"",linkList:[],type:"uhd"}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/uhd/posts.js b/dist/uhd/posts.js index 38acb6f..da0cb0c 100644 --- a/dist/uhd/posts.js +++ b/dist/uhd/posts.js @@ -1,76 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = 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", - "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", -}; -const getPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ filter, page, -// providerValue, -signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("UhdMovies"); - const url = page === 1 ? `${baseUrl}/${filter}/` : `${baseUrl + filter}/page/${page}/`; - console.log("url", url); - return posts(baseUrl, url, signal, providerContext); -}); -exports.getPosts = getPosts; -const getSearchPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ searchQuery, page, -// providerValue, -signal, providerContext, }) { - const { getBaseUrl } = providerContext; - const baseUrl = yield getBaseUrl("UhdMovies"); - const url = `${baseUrl}/search/${searchQuery}/page/${page}/`; - return posts(baseUrl, url, signal, providerContext); -}); -exports.getSearchPosts = getSearchPosts; -function posts(baseURL, url, signal, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - try { - const { axios, cheerio } = providerContext; - const res = yield axios.get(url, { headers, signal }); - const html = res.data; - const $ = cheerio.load(html); - const uhdCatalog = []; - $(".gridlove-posts") - .find(".layout-masonry") - .each((index, element) => { - const title = $(element).find("a").attr("title"); - const link = $(element).find("a").attr("href"); - const image = $(element).find("a").find("img").attr("src"); - if (title && link && image) { - uhdCatalog.push({ - title: title.replace("Download", "").trim(), - link: link, - image: image, - }); - } - }); - return uhdCatalog; - } - catch (err) { - console.error("uhd error ", err); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=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","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"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("UhdMovies");return posts(baseUrl,1===page?`${baseUrl}/${filter}/`:`${baseUrl+filter}/page/${page}/`,signal,providerContext)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl}=providerContext,baseUrl=yield getBaseUrl("UhdMovies");return posts(baseUrl,`${baseUrl}/search/${searchQuery}/page/${page}/`,signal,providerContext)});function posts(baseURL,url,signal,providerContext){return __awaiter(this,void 0,void 0,function*(){try{const{axios:axios,cheerio:cheerio}=providerContext,html=(yield axios.get(url,{headers:headers,signal:signal})).data,$=cheerio.load(html),uhdCatalog=[];return $(".gridlove-posts").find(".layout-masonry").each((index,element)=>{const title=$(element).find("a").attr("title"),link=$(element).find("a").attr("href"),image=$(element).find("a").find("img").attr("src");title&&link&&image&&uhdCatalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),uhdCatalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/uhd/stream.js b/dist/uhd/stream.js index f66b93b..82f91c6 100644 --- a/dist/uhd/stream.js +++ b/dist/uhd/stream.js @@ -1,206 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -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", - "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", -}; -const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link: url, providerContext, }) { - var _b, _c; - try { - const { axios, cheerio } = providerContext; - let downloadLink = yield modExtractor(url, providerContext); - // console.log(downloadLink.data); - const ddl = ((_c = (_b = downloadLink === null || downloadLink === void 0 ? void 0 : downloadLink.data) === null || _b === void 0 ? void 0 : _b.match(/content="0;url=(.*?)"/)) === null || _c === void 0 ? void 0 : _c[1]) || url; - console.log("ddl", ddl); - // console.log(ddl); - const driveLink = yield isDriveLink(ddl); - const ServerLinks = []; - const driveRes = yield axios.get(driveLink, { headers }); - const driveHtml = driveRes.data; - const $drive = cheerio.load(driveHtml); - //instant link - try { - const seed = $drive(".btn-danger").attr("href") || ""; - const instantToken = seed.split("=")[1]; - // console.log('InstantToken', instantToken); - const InstantFromData = new FormData(); - InstantFromData.append("keys", instantToken); - const videoSeedUrl = seed.split("/").slice(0, 3).join("/") + "/api"; - // console.log('videoSeedUrl', videoSeedUrl); - const instantLinkRes = yield fetch(videoSeedUrl, { - method: "POST", - body: InstantFromData, - headers: { - "x-token": videoSeedUrl, - }, - }); - const instantLinkData = yield instantLinkRes.json(); - // console.log('instantLinkData', instantLinkData); - if (instantLinkData.error === false) { - const instantLink = instantLinkData.url; - ServerLinks.push({ - server: "Gdrive-Instant", - link: instantLink, - type: "mkv", - }); - } - else { - console.log("Instant link not found", instantLinkData); - } - } - catch (err) { - console.log("Instant link not found", err); - } - // resume link - try { - const resumeDrive = driveLink.replace("/file", "/zfile"); - // console.log('resumeDrive', resumeDrive); - const resumeDriveRes = yield axios.get(resumeDrive, { headers }); - const resumeDriveHtml = resumeDriveRes.data; - const $resumeDrive = cheerio.load(resumeDriveHtml); - const resumeLink = $resumeDrive(".btn-success").attr("href"); - // console.log('resumeLink', resumeLink); - if (resumeLink) { - ServerLinks.push({ - server: "ResumeCloud", - link: resumeLink, - type: "mkv", - }); - } - } - catch (err) { - console.log("Resume link not found"); - } - // CF workers type 1 - try { - const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=1"; - const cfWorkersRes = yield axios.get(cfWorkersLink, { headers }); - const cfWorkersHtml = cfWorkersRes.data; - const $cfWorkers = cheerio.load(cfWorkersHtml); - const cfWorkersStream = $cfWorkers(".btn-success"); - cfWorkersStream.each((i, el) => { - var _a; - const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href; - if (link) { - ServerLinks.push({ - server: "Cf Worker 1." + i, - link: link, - type: "mkv", - }); - } - }); - } - catch (err) { - console.log("CF workers link not found", err); - } - // CF workers type 2 - try { - const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=2"; - const cfWorkersRes = yield axios.get(cfWorkersLink, { headers }); - const cfWorkersHtml = cfWorkersRes.data; - const $cfWorkers = cheerio.load(cfWorkersHtml); - const cfWorkersStream = $cfWorkers(".btn-success"); - cfWorkersStream.each((i, el) => { - var _a; - const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href; - if (link) { - ServerLinks.push({ - server: "Cf Worker 2." + i, - link: link, - type: "mkv", - }); - } - }); - } - catch (err) { - console.log("CF workers link not found", err); - } - console.log("ServerLinks", ServerLinks); - return ServerLinks; - } - catch (err) { - console.log("getStream error", 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); - const driveLeachData = yield driveLeach.text(); - const pathMatch = driveLeachData.match(/window\.location\.replace\("([^"]+)"\)/); - const path = pathMatch === null || pathMatch === void 0 ? void 0 : pathMatch[1]; - const mainUrl = ddl.split("/")[2]; - console.log(`driveUrl = https://${mainUrl}${path}`); - return `https://${mainUrl}${path}`; - } - else { - return ddl; - } -}); -function modExtractor(url, providerContext) { - return __awaiter(this, void 0, void 0, function* () { - const { axios, 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, - }); - const data = yield res.text(); - // console.log('', data); - const html = data; - const $ = cheerio.load(html); - // find input with name="_wp_http2" - const wpHttp2 = $("input").attr("name", "_wp_http2").val(); - // console.log('wpHttp2', wpHttp2); - // form data - var bodyFormData = new FormData(); - bodyFormData.append("_wp_http2", wpHttp2); - const formUrl1 = $("form").attr("action"); - const formUrl = formUrl1 || url.split("?")[0]; - const res2 = yield fetch(formUrl, { - method: "POST", - body: bodyFormData, - }); - const html2 = yield res2.text(); - const link = html2.match(/setAttribute\("href",\s*"(.*?)"/)[1]; - console.log(link); - const cookie = link.split("=")[1]; - console.log("cookie", cookie); - const downloadLink = yield axios.get(link, { - headers: { - Referer: formUrl, - Cookie: `${cookie}=${wpHttp2}`, - }, - }); - return downloadLink; - } - catch (err) { - console.log("modGetStream error", err); - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),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","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=_a=>__awaiter(void 0,[_a],void 0,function*({link:url,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext;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,driveLink=yield isDriveLink(ddl),ServerLinks=[],driveHtml=(yield axios.get(driveLink,{headers:headers})).data,$drive=cheerio.load(driveHtml);try{const seed=$drive(".btn-danger").attr("href")||"",instantToken=seed.split("=")[1],InstantFromData=new FormData;InstantFromData.append("keys",instantToken);const videoSeedUrl=seed.split("/").slice(0,3).join("/")+"/api",instantLinkRes=yield fetch(videoSeedUrl,{method:"POST",body:InstantFromData,headers:{"x-token":videoSeedUrl}}),instantLinkData=yield instantLinkRes.json();if(!1===instantLinkData.error){const instantLink=instantLinkData.url;ServerLinks.push({server:"Gdrive-Instant",link:instantLink,type:"mkv"})}}catch(err){}try{const resumeDrive=driveLink.replace("/file","/zfile"),resumeDriveHtml=(yield axios.get(resumeDrive,{headers:headers})).data,resumeLink=cheerio.load(resumeDriveHtml)(".btn-success").attr("href");resumeLink&&ServerLinks.push({server:"ResumeCloud",link:resumeLink,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&&ServerLinks.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&&ServerLinks.push({server:"Cf Worker 2."+i,link:link,type:"mkv"})})}catch(err){}return ServerLinks}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){}})} \ No newline at end of file diff --git a/dist/vadapav/catalog.js b/dist/vadapav/catalog.js index ea9cb23..f69e31d 100644 --- a/dist/vadapav/catalog.js +++ b/dist/vadapav/catalog.js @@ -1,18 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "Movies", - filter: "/608c853f-704e-48f0-b785-4ae1f48ea70d", - }, - { - title: "Tv Shows", - filter: "/72983eef-a12f-4be4-99a7-e8f6afa568c1", - }, - { - title: "Anime", - filter: "/36abf81c-1032-4fbf-9a55-347a05ce2ca3", - }, -]; -exports.genres = []; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Movies",filter:"/608c853f-704e-48f0-b785-4ae1f48ea70d"},{title:"Tv Shows",filter:"/72983eef-a12f-4be4-99a7-e8f6afa568c1"},{title:"Anime",filter:"/36abf81c-1032-4fbf-9a55-347a05ce2ca3"}],exports.genres=[]; \ No newline at end of file diff --git a/dist/vadapav/episodes.js b/dist/vadapav/episodes.js index 94b66da..7d1c76f 100644 --- a/dist/vadapav/episodes.js +++ b/dist/vadapav/episodes.js @@ -1,42 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - const { axios, cheerio } = providerContext; - try { - const baseUrl = url === null || url === void 0 ? void 0 : url.split("/").slice(0, 3).join("/"); - const res = yield axios.get(url); - const html = res.data; - let $ = cheerio.load(html); - const episodeLinks = []; - $('.file-entry:not(:contains("Parent Directory"))').map((i, element) => { - var _a, _b, _c, _d, _e, _f; - const link = $(element).attr("href"); - if (link && - (((_a = $(element).text()) === null || _a === void 0 ? void 0 : _a.includes(".mp4")) || - ((_b = $(element).text()) === null || _b === void 0 ? void 0 : _b.includes(".mkv")))) { - episodeLinks.push({ - title: ((_e = (_d = (_c = $(element).text()) === null || _c === void 0 ? void 0 : _c.match(/E\d+/)) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.replace("E", "Episode ")) || - i + 1 + ". " + ((_f = $(element).text()) === null || _f === void 0 ? void 0 : _f.replace(".mkv", "")), - link: baseUrl + link, - }); - } - }); - return episodeLinks; - } - catch (err) { - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const baseUrl=null==url?void 0:url.split("/").slice(0,3).join("/"),html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('.file-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a,_b,_c,_d,_e,_f;const link=$(element).attr("href");link&&((null===(_a=$(element).text())||void 0===_a?void 0:_a.includes(".mp4"))||(null===(_b=$(element).text())||void 0===_b?void 0:_b.includes(".mkv")))&&episodeLinks.push({title:(null===(_e=null===(_d=null===(_c=$(element).text())||void 0===_c?void 0:_c.match(/E\d+/))||void 0===_d?void 0:_d[0])||void 0===_e?void 0:_e.replace("E","Episode "))||i+1+". "+(null===(_f=$(element).text())||void 0===_f?void 0:_f.replace(".mkv","")),link:baseUrl+link})}),episodeLinks}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/vadapav/meta.js b/dist/vadapav/meta.js index 37760d3..b4fe4ef 100644 --- a/dist/vadapav/meta.js +++ b/dist/vadapav/meta.js @@ -1,78 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b, _c; - try { - const { axios, cheerio } = providerContext; - const baseUrl = link === null || link === void 0 ? void 0 : link.split("/").slice(0, 3).join("/"); - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const title = ((_c = (_b = $(".directory") - .children() - .first() - .text() - .trim()) === null || _b === void 0 ? void 0 : _b.split("/").pop()) === null || _c === void 0 ? void 0 : _c.trim()) || ""; - const links = []; - $('.directory-entry:not(:contains("Parent Directory"))').map((i, element) => { - const link = $(element).attr("href"); - if (link) { - links.push({ - episodesLink: baseUrl + link, - title: $(element).text(), - }); - } - }); - const directLinks = []; - $('.file-entry:not(:contains("Parent Directory"))').map((i, element) => { - var _a, _b; - const link = $(element).attr("href"); - if (link && - (((_a = $(element).text()) === null || _a === void 0 ? void 0 : _a.includes(".mp4")) || - ((_b = $(element).text()) === null || _b === void 0 ? void 0 : _b.includes(".mkv")))) { - directLinks.push({ - title: i + 1 + ". " + $(element).text(), - link: baseUrl + link, - }); - } - }); - if (directLinks.length > 0) { - links.push({ - title: title + " DL", - directLinks: directLinks, - }); - } - return { - title: title, - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: links, - }; - } - catch (err) { - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c;try{const{axios:axios,cheerio:cheerio}=providerContext,baseUrl=null==link?void 0:link.split("/").slice(0,3).join("/"),url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),title=(null===(_c=null===(_b=$(".directory").children().first().text().trim())||void 0===_b?void 0:_b.split("/").pop())||void 0===_c?void 0:_c.trim())||"",links=[];$('.directory-entry:not(:contains("Parent Directory"))').map((i,element)=>{const link=$(element).attr("href");link&&links.push({episodesLink:baseUrl+link,title:$(element).text()})});const directLinks=[];return $('.file-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a,_b;const link=$(element).attr("href");link&&((null===(_a=$(element).text())||void 0===_a?void 0:_a.includes(".mp4"))||(null===(_b=$(element).text())||void 0===_b?void 0:_b.includes(".mkv")))&&directLinks.push({title:i+1+". "+$(element).text(),link:baseUrl+link})}),directLinks.length>0&&links.push({title:title+" DL",directLinks:directLinks}),{title:title,synopsis:"",image:"",imdbId:"",type:"movie",linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/vadapav/posts.js b/dist/vadapav/posts.js index de84f1e..f0c3389 100644 --- a/dist/vadapav/posts.js +++ b/dist/vadapav/posts.js @@ -1,72 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("vadapav"); - if (page > 1) { - return []; - } - const url = `${baseUrl + filter}`; - return posts({ baseUrl, url, signal, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("vadapav"); - if (page > 1) { - return []; - } - const url = `${baseUrl}/s/${searchQuery}`; - return posts({ baseUrl, url, signal, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ - // baseUrl, - url, signal, axios, cheerio, }) { - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $('.directory-entry:not(:contains("Parent Directory"))').map((i, element) => { - var _a; - const title = $(element).text(); - const link = $(element).attr("href"); - const imageTitle = (title === null || title === void 0 ? void 0 : title.length) > 30 - ? (_a = title === null || title === void 0 ? void 0 : title.slice(0, 30)) === null || _a === void 0 ? void 0 : _a.replace(/\./g, " ") - : title === null || title === void 0 ? void 0 : title.replace(/\./g, " "); - const image = `https://placehold.jp/23/000000/ffffff/200x400.png?text=${encodeURIComponent(imageTitle)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`; - if (title && link) { - catalog.push({ - title: title, - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("vadapav");if(page>1)return[];return posts({baseUrl:baseUrl,url:`${baseUrl+filter}`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("vadapav");if(page>1)return[];return posts({baseUrl:baseUrl,url:`${baseUrl}/s/${searchQuery}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $('.directory-entry:not(:contains("Parent Directory"))').map((i,element)=>{var _a;const title=$(element).text(),link=$(element).attr("href"),imageTitle=(null==title?void 0:title.length)>30?null===(_a=null==title?void 0:title.slice(0,30))||void 0===_a?void 0:_a.replace(/\./g," "):null==title?void 0:title.replace(/\./g," "),image=`https://placehold.jp/23/000000/ffffff/200x400.png?text=${encodeURIComponent(imageTitle)}&css=%7B%22background%22%3A%22%20-webkit-gradient(linear%2C%20left%20bottom%2C%20left%20top%2C%20from(%233f3b3b)%2C%20to(%23000000))%22%2C%22text-transform%22%3A%22%20capitalize%22%7D`;title&&link&&catalog.push({title:title,link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/vadapav/stream.js b/dist/vadapav/stream.js index e111dc9..e45275b 100644 --- a/dist/vadapav/stream.js +++ b/dist/vadapav/stream.js @@ -1,30 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, // type, // providerContext, - }) { - try { - const stream = []; - stream.push({ - server: "vadapav", - link: url, - type: (url === null || url === void 0 ? void 0 : url.split(".").pop()) || "mkv", - }); - return stream; - } - catch (err) { - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url}){try{const stream=[];return stream.push({server:"vadapav",link:url,type:(null==url?void 0:url.split(".").pop())||"mkv"}),stream}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file diff --git a/dist/vega/catalog.js b/dist/vega/catalog.js index e2575e6..e3e33df 100644 --- a/dist/vega/catalog.js +++ b/dist/vega/catalog.js @@ -1,103 +1 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.genres = exports.catalog = void 0; -exports.catalog = [ - { - title: "New", - filter: "", - }, - { - title: "Netflix", - filter: "web-series/netflix", - }, - { - title: "Amazon Prime", - filter: "web-series/amazon-prime-video", - }, - { - title: "4K Movies", - filter: "movies-by-quality/2160p", - }, -]; -exports.genres = [ - { - title: "Action", - filter: "category/movies-by-genres/action", - }, - { - title: "Adventure", - filter: "category/movies-by-genres/adventure", - }, - { - title: "Animation", - filter: "category/movies-by-genres/animation", - }, - { - title: "Biography", - filter: "category/movies-by-genres/biography", - }, - { - title: "Comedy", - filter: "category/movies-by-genres/comedy", - }, - { - title: "Crime", - filter: "category/movies-by-genres/crime", - }, - { - title: "Documentary", - filter: "category/movies-by-genres/documentary", - }, - { - title: "Drama", - filter: "category/movies-by-genres/drama", - }, - { - title: "Family", - filter: "category/movies-by-genres/family", - }, - { - title: "Fantasy", - filter: "category/movies-by-genres/fantasy", - }, - { - title: "History", - filter: "category/movies-by-genres/history", - }, - { - title: "Horror", - filter: "category/movies-by-genres/horror", - }, - { - title: "Music", - filter: "category/movies-by-genres/music", - }, - { - title: "Mystery", - filter: "category/movies-by-genres/mystery", - }, - { - title: "Romance", - filter: "category/movies-by-genres/romance", - }, - { - title: "Sci-Fi", - filter: "category/movies-by-genres/sci-fi", - }, - { - title: "Sport", - filter: "category/movies-by-genres/sport", - }, - { - title: "Thriller", - filter: "category/movies-by-genres/thriller", - }, - { - title: "War", - filter: "category/movies-by-genres/war", - }, - { - title: "Western", - filter: "category/movies-by-genres/western", - }, -]; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"New",filter:""},{title:"Netflix",filter:"web-series/netflix"},{title:"Amazon Prime",filter:"web-series/amazon-prime-video"},{title:"4K Movies",filter:"movies-by-quality/2160p"}],exports.genres=[{title:"Action",filter:"category/movies-by-genres/action"},{title:"Adventure",filter:"category/movies-by-genres/adventure"},{title:"Animation",filter:"category/movies-by-genres/animation"},{title:"Biography",filter:"category/movies-by-genres/biography"},{title:"Comedy",filter:"category/movies-by-genres/comedy"},{title:"Crime",filter:"category/movies-by-genres/crime"},{title:"Documentary",filter:"category/movies-by-genres/documentary"},{title:"Drama",filter:"category/movies-by-genres/drama"},{title:"Family",filter:"category/movies-by-genres/family"},{title:"Fantasy",filter:"category/movies-by-genres/fantasy"},{title:"History",filter:"category/movies-by-genres/history"},{title:"Horror",filter:"category/movies-by-genres/horror"},{title:"Music",filter:"category/movies-by-genres/music"},{title:"Mystery",filter:"category/movies-by-genres/mystery"},{title:"Romance",filter:"category/movies-by-genres/romance"},{title:"Sci-Fi",filter:"category/movies-by-genres/sci-fi"},{title:"Sport",filter:"category/movies-by-genres/sport"},{title:"Thriller",filter:"category/movies-by-genres/thriller"},{title:"War",filter:"category/movies-by-genres/war"},{title:"Western",filter:"category/movies-by-genres/western"}]; \ No newline at end of file diff --git a/dist/vega/episodes.js b/dist/vega/episodes.js index a634180..d5d7c93 100644 --- a/dist/vega/episodes.js +++ b/dist/vega/episodes.js @@ -1,45 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEpisodes = void 0; -const getEpisodes = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) { - const { axios, cheerio, commonHeaders: headers } = providerContext; - console.log("getEpisodeLinks", url); - try { - const res = yield axios.get(url, { headers }); - const $ = cheerio.load(res.data); - const container = $(".entry-content,.entry-inner"); - $(".unili-content,.code-block-1").remove(); - const episodes = []; - container.find("h4").each((index, element) => { - const el = $(element); - const title = el.text().replace(/-/g, "").replace(/:/g, ""); - const link = el - .next("p") - .find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]') - .parent() - .attr("href"); - if (title && link) { - episodes.push({ title, link }); - } - }); - // console.log(episodes); - return episodes; - } - catch (err) { - console.log("getEpisodeLinks error: "); - // console.error(err); - return []; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio,commonHeaders:headers}=providerContext;try{const res=yield axios.get(url,{headers:headers}),$=cheerio.load(res.data),container=$(".entry-content,.entry-inner");$(".unili-content,.code-block-1").remove();const episodes=[];return container.find("h4").each((index,element)=>{const el=$(element),title=el.text().replace(/-/g,"").replace(/:/g,""),link=el.next("p").find('.btn-outline[style="background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;"]').parent().attr("href");title&&link&&episodes.push({title:title,link:link})}),episodes}catch(err){return[]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/vega/meta.js b/dist/vega/meta.js index e34b34e..6d25421 100644 --- a/dist/vega/meta.js +++ b/dist/vega/meta.js @@ -1,127 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -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: "_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw", - "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", -}; -const getMeta = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link, providerContext, }) { - var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; - try { - const { axios, cheerio } = providerContext; - const url = link; - console.log("url", url); - const baseUrl = url.split("/").slice(0, 3).join("/"); - const response = yield axios.get(url, { - headers: Object.assign(Object.assign({}, headers), { Referer: baseUrl }), - }); - const $ = cheerio.load(response.data); - const infoContainer = $(".entry-content,.post-inner"); - const heading = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("h3"); - const imdbId = - //@ts-ignore - ((_g = (_f = (_e = (_d = (_c = (_b = heading === null || heading === void 0 ? void 0 : heading.next("p")) === null || _b === void 0 ? void 0 : _b.find("a")) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.attribs) === null || _e === void 0 ? void 0 : _e.href) === null || _f === void 0 ? void 0 : _f.match(/tt\d+/g)) === null || _g === void 0 ? void 0 : _g[0]) || - ((_h = infoContainer.text().match(/tt\d+/g)) === null || _h === void 0 ? void 0 : _h[0]) || - ""; - // console.log(imdbId) - const type = ((_k = (_j = heading === null || heading === void 0 ? void 0 : heading.next("p")) === null || _j === void 0 ? void 0 : _j.text()) === null || _k === void 0 ? void 0 : _k.includes("Series Name")) - ? "series" - : "movie"; - // console.log(type); - // title - const titleRegex = /Name: (.+)/; - const title = ((_o = (_m = (_l = heading === null || heading === void 0 ? void 0 : heading.next("p")) === null || _l === void 0 ? void 0 : _l.text()) === null || _m === void 0 ? void 0 : _m.match(titleRegex)) === null || _o === void 0 ? void 0 : _o[1]) || ""; - // console.log(title); - // synopsis - const synopsisNode = //@ts-ignore - (_t = (_s = (_r = (_q = (_p = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("p")) === null || _p === void 0 ? void 0 : _p.next("h3,h4")) === null || _q === void 0 ? void 0 : _q.next("p")) === null || _r === void 0 ? void 0 : _r[0]) === null || _s === void 0 ? void 0 : _s.children) === null || _t === void 0 ? void 0 : _t[0]; - const synopsis = synopsisNode && "data" in synopsisNode ? synopsisNode.data : ""; - // console.log(synopsis); - // image - let image = ((_u = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("img[data-lazy-src]")) === null || _u === void 0 ? void 0 : _u.attr("data-lazy-src")) || ""; - if (image.startsWith("//")) { - image = "https:" + image; - } - // console.log(image); - // console.log({title, synopsis, image, imdbId, type}); - /// Links - const hr = (_v = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.first()) === null || _v === void 0 ? void 0 : _v.find("hr"); - const list = hr === null || hr === void 0 ? void 0 : hr.nextUntil("hr"); - const links = []; - list.each((index, element) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - element = $(element); - // title - const title = (element === null || element === void 0 ? void 0 : element.text()) || ""; - const quality = ((_a = element === null || element === void 0 ? void 0 : element.text().match(/\d+p\b/)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - // console.log(title); - // movieLinks - const movieLinks = (element === null || element === void 0 ? void 0 : element.next().find(".dwd-button").text().toLowerCase().includes("download")) - ? (_c = (_b = element === null || element === void 0 ? void 0 : element.next().find(".dwd-button")) === null || _b === void 0 ? void 0 : _b.parent()) === null || _c === void 0 ? void 0 : _c.attr("href") - : ""; - // episode links - const vcloudLinks = (_e = (_d = element === null || element === void 0 ? void 0 : element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;']")) === null || _d === void 0 ? void 0 : _d.parent()) === null || _e === void 0 ? void 0 : _e.attr("href"); - console.log(title); - const episodesLink = (vcloudLinks - ? vcloudLinks - : (element === null || element === void 0 ? void 0 : element.next().find(".dwd-button").text().toLowerCase().includes("episode")) - ? (_g = (_f = element === null || element === void 0 ? void 0 : element.next().find(".dwd-button")) === null || _f === void 0 ? void 0 : _f.parent()) === null || _g === void 0 ? void 0 : _g.attr("href") - : "") || - ((_j = (_h = element === null || element === void 0 ? void 0 : element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']")) === null || _h === void 0 ? void 0 : _h.parent()) === null || _j === void 0 ? void 0 : _j.attr("href")); - if (movieLinks || episodesLink) { - links.push({ - title, - directLinks: movieLinks - ? [{ title: "Movie", link: movieLinks, type: "movie" }] - : [], - episodesLink, - quality, - }); - } - }); - // console.log(links); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (error) { - console.log("getInfo error"); - console.error(error); - // ToastAndroid.show('No response', ToastAndroid.SHORT); - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "", - linkList: [], - }; - } -}); -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),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:"_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw","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"},getMeta=_a=>__awaiter(void 0,[_a],void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,baseUrl=url.split("/").slice(0,3).join("/"),response=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl})}),$=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),heading=null==infoContainer?void 0:infoContainer.find("h3"),imdbId=(null===(_g=null===(_f=null===(_e=null===(_d=null===(_c=null===(_b=null==heading?void 0:heading.next("p"))||void 0===_b?void 0:_b.find("a"))||void 0===_c?void 0:_c[0])||void 0===_d?void 0:_d.attribs)||void 0===_e?void 0:_e.href)||void 0===_f?void 0:_f.match(/tt\d+/g))||void 0===_g?void 0:_g[0])||(null===(_h=infoContainer.text().match(/tt\d+/g))||void 0===_h?void 0:_h[0])||"",type=(null===(_k=null===(_j=null==heading?void 0:heading.next("p"))||void 0===_j?void 0:_j.text())||void 0===_k?void 0:_k.includes("Series Name"))?"series":"movie",titleRegex=/Name: (.+)/,title=(null===(_o=null===(_m=null===(_l=null==heading?void 0:heading.next("p"))||void 0===_l?void 0:_l.text())||void 0===_m?void 0:_m.match(titleRegex))||void 0===_o?void 0:_o[1])||"",synopsisNode=null===(_t=null===(_s=null===(_r=null===(_q=null===(_p=null==infoContainer?void 0:infoContainer.find("p"))||void 0===_p?void 0:_p.next("h3,h4"))||void 0===_q?void 0:_q.next("p"))||void 0===_r?void 0:_r[0])||void 0===_s?void 0:_s.children)||void 0===_t?void 0:_t[0],synopsis=synopsisNode&&"data"in synopsisNode?synopsisNode.data:"";let image=(null===(_u=null==infoContainer?void 0:infoContainer.find("img[data-lazy-src]"))||void 0===_u?void 0:_u.attr("data-lazy-src"))||"";image.startsWith("//")&&(image="https:"+image);const hr=null===(_v=null==infoContainer?void 0:infoContainer.first())||void 0===_v?void 0:_v.find("hr"),list=null==hr?void 0:hr.nextUntil("hr"),links=[];return list.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j;const title=(null==(element=$(element))?void 0:element.text())||"",quality=(null===(_a=null==element?void 0:element.text().match(/\d+p\b/))||void 0===_a?void 0:_a[0])||"",movieLinks=(null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("download"))?null===(_c=null===(_b=null==element?void 0:element.next().find(".dwd-button"))||void 0===_b?void 0:_b.parent())||void 0===_c?void 0:_c.attr("href"):"",vcloudLinks=null===(_e=null===(_d=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: white;'],.btn-outline[style='background:linear-gradient(135deg,#ed0b0b,#f2d152); color: #fdf8f2;']"))||void 0===_d?void 0:_d.parent())||void 0===_e?void 0:_e.attr("href"),episodesLink=vcloudLinks||((null==element?void 0:element.next().find(".dwd-button").text().toLowerCase().includes("episode"))?null===(_g=null===(_f=null==element?void 0:element.next().find(".dwd-button"))||void 0===_f?void 0:_f.parent())||void 0===_g?void 0:_g.attr("href"):"")||(null===(_j=null===(_h=null==element?void 0:element.next().find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']"))||void 0===_h?void 0:_h.parent())||void 0===_j?void 0:_j.attr("href"));(movieLinks||episodesLink)&&links.push({title:title,directLinks:movieLinks?[{title:"Movie",link:movieLinks,type:"movie"}]:[],episodesLink:episodesLink,quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(error){return{title:"",synopsis:"",image:"",imdbId:"",type:"",linkList:[]}}});exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/vega/posts.js b/dist/vega/posts.js index 6fd8591..fc3c8d6 100644 --- a/dist/vega/posts.js +++ b/dist/vega/posts.js @@ -1,83 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = 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: "_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw", - "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", -}; -const getPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ filter, page, providerValue, signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("Vega"); - console.log("vegaGetPosts baseUrl:", providerValue, baseUrl); - const url = `${baseUrl}/${filter}/page/${page}/`; - console.log("vegaGetPosts url:", url); - return posts(baseUrl, url, signal, headers, axios, cheerio); -}); -exports.getPosts = getPosts; -const getSearchPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ searchQuery, page, providerValue, signal, providerContext, }) { - const { getBaseUrl, axios, commonHeaders, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("Vega"); - console.log("vegaGetPosts baseUrl:", providerValue, baseUrl); - const url = `${baseUrl}/page/${page}/?s=${searchQuery}`; - console.log("vegaGetPosts url:", url); - return posts(baseUrl, url, signal, commonHeaders, axios, cheerio); -}); -exports.getSearchPosts = getSearchPosts; -function posts(baseUrl_1, url_1, signal_1) { - return __awaiter(this, arguments, void 0, function* (baseUrl, url, signal, headers = {}, axios, cheerio) { - var _a, _b; - try { - const urlRes = yield axios.get(url, { - headers: Object.assign(Object.assign({}, headers), { Referer: baseUrl }), - signal, - }); - const $ = cheerio.load(urlRes.data); - const posts = []; - (_b = (_a = $(".blog-items,.post-list")) === null || _a === void 0 ? void 0 : _a.children("article")) === null || _b === void 0 ? void 0 : _b.each((index, element) => { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; - const post = { - title: (((_e = (_d = (_c = (_b = (_a = $(element)) === null || _a === void 0 ? void 0 : _a.find("a")) === null || _b === void 0 ? void 0 : _b.attr("title")) === null || _c === void 0 ? void 0 : _c.replace("Download", "")) === null || _d === void 0 ? void 0 : _d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/)) === null || _e === void 0 ? void 0 : _e[0]) || - ((_h = (_g = (_f = $(element)) === null || _f === void 0 ? void 0 : _f.find("a")) === null || _g === void 0 ? void 0 : _g.attr("title")) === null || _h === void 0 ? void 0 : _h.replace("Download", "")) || - ((_k = (_j = $(element)) === null || _j === void 0 ? void 0 : _j.find(".post-title").text()) === null || _k === void 0 ? void 0 : _k.replace("Download", "")) || - "").trim(), - link: ((_m = (_l = $(element)) === null || _l === void 0 ? void 0 : _l.find("a")) === null || _m === void 0 ? void 0 : _m.attr("href")) || "", - image: $(element).find("a").find("img").attr("data-lazy-src") || - $(element).find("a").find("img").attr("data-src") || - $(element).find("a").find("img").attr("src") || - "", - }; - if (post.image.startsWith("//")) { - post.image = "https:" + post.image; - } - posts.push(post); - }); - // console.log(posts); - return posts; - } - catch (error) { - console.error("vegaGetPosts error:", error); - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=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:"_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw","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"},getPosts=_a=>__awaiter(void 0,[_a],void 0,function*({filter:filter,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("Vega");return posts(baseUrl,`${baseUrl}/${filter}/page/${page}/`,signal,headers,axios,cheerio)});exports.getPosts=getPosts;const getSearchPosts=_a=>__awaiter(void 0,[_a],void 0,function*({searchQuery:searchQuery,page:page,providerValue:providerValue,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,commonHeaders:commonHeaders,cheerio:cheerio}=providerContext,baseUrl=yield getBaseUrl("Vega");return posts(baseUrl,`${baseUrl}/page/${page}/?s=${searchQuery}`,signal,commonHeaders,axios,cheerio)});function posts(baseUrl_1,url_1,signal_1){return __awaiter(this,arguments,void 0,function*(baseUrl,url,signal,headers={},axios,cheerio){var _a,_b;try{const urlRes=yield axios.get(url,{headers:Object.assign(Object.assign({},headers),{Referer:baseUrl}),signal:signal}),$=cheerio.load(urlRes.data),posts=[];return null===(_b=null===(_a=$(".blog-items,.post-list"))||void 0===_a?void 0:_a.children("article"))||void 0===_b||_b.each((index,element)=>{var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const post={title:((null===(_e=null===(_d=null===(_c=null===(_b=null===(_a=$(element))||void 0===_a?void 0:_a.find("a"))||void 0===_b?void 0:_b.attr("title"))||void 0===_c?void 0:_c.replace("Download",""))||void 0===_d?void 0:_d.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/))||void 0===_e?void 0:_e[0])||(null===(_h=null===(_g=null===(_f=$(element))||void 0===_f?void 0:_f.find("a"))||void 0===_g?void 0:_g.attr("title"))||void 0===_h?void 0:_h.replace("Download",""))||(null===(_k=null===(_j=$(element))||void 0===_j?void 0:_j.find(".post-title").text())||void 0===_k?void 0:_k.replace("Download",""))||"").trim(),link:(null===(_m=null===(_l=$(element))||void 0===_l?void 0:_l.find("a"))||void 0===_m?void 0:_m.attr("href"))||"",image:$(element).find("a").find("img").attr("data-lazy-src")||$(element).find("a").find("img").attr("data-src")||$(element).find("a").find("img").attr("src")||""};post.image.startsWith("//")&&(post.image="https:"+post.image),posts.push(post)}),posts}catch(error){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/vega/stream.js b/dist/vega/stream.js index 71a2787..fe6aeec 100644 --- a/dist/vega/stream.js +++ b/dist/vega/stream.js @@ -1,103 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = getStream; -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: "_lscache_vary=62abf8b96599676eb8ec211cffaeb8ff; ext_name=ojplmecpdpgccookcobabopnaifgidhf; cf_clearance=n4Y1XTKZ5TfIMBNQuAXzerwKpx0U35KoOm3imfT0GpU-1732097818-1.2.1.1-ZeAnEu.8D9TSZHYDoj7vwo1A1rpdKl304ZpaBn_QbAQOr211JFAb7.JRQU3EL2eIy1Dfl8HhYvH7_259.22lUz8gbchHcQ8hvfuQXMtFMCbqDBLzjNUZa9stuk.39l28IcPhH9Z2szsf3SGtNI1sAfo66Djt7sOReLK3lHw9UkJp7BdGqt6a2X9qAc8EsAI3lE480Tmt0fkHv14Oc30LSbPB_WwFmiqAki2W.Gv9hV7TN_QBFESleTDlXd.6KGflfd4.KwWF7rpSRo_cgoc9ALLLIafpxHVbe7_g5r7zvpml_Pj8fEL75fw.1GBuy16bciHBuB8s_kahuJYUnhtQFFgfTQl8_Gn6KeovBWx.PJ7nFv5sklHUfAyBVq3t30xKe8ZDydsQ_G.yipfj_In5GmmWcXGb6E4.bioDOwW_sKLtxwdTQt7Nu.RkILX_mKvXNpyLqflIVj8G7X5E8I.unw", - "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 getStream(_a) { - return __awaiter(this, arguments, void 0, function* ({ link, type, signal, providerContext, }) { - var _b, _c, _d, _e; - const { axios, cheerio, extractors } = providerContext; - const { hubcloudExtracter } = extractors; - try { - const streamLinks = []; - console.log("dotlink", link); - if (type === "movie") { - // vlink - const dotlinkRes = yield axios(`${link}`, { headers }); - const dotlinkText = dotlinkRes.data; - // console.log('dotlinkText', dotlinkText); - const vlink = dotlinkText.match(/ { - const title = $(element).text(); - const link = $(element) - .parent() - .parent() - .next("h4") - .find("a") - .attr("href"); - if (link && !title.includes("zip")) { - episodeLinks.push({ - title: title, - link, - }); - } - }); - return episodeLinks; - } - catch (err) { - return [ - { - title: "Server 1", - link: url, - }, - ]; - } - }); -}; -exports.getEpisodes = getEpisodes; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(_a){return __awaiter(this,arguments,void 0,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const html=(yield axios.get(url)).data;let $=cheerio.load(html);const episodeLinks=[];return $('strong:contains("Episode"),strong:contains("1080"),strong:contains("720"),strong:contains("480")').map((i,element)=>{const title=$(element).text(),link=$(element).parent().parent().next("h4").find("a").attr("href");link&&!title.includes("zip")&&episodeLinks.push({title:title,link:link})}),episodeLinks}catch(err){return[{title:"Server 1",link:url}]}})};exports.getEpisodes=getEpisodes; \ No newline at end of file diff --git a/dist/world4u/meta.js b/dist/world4u/meta.js index 5e9467b..ca00630 100644 --- a/dist/world4u/meta.js +++ b/dist/world4u/meta.js @@ -1,89 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMeta = void 0; -const getMeta = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) { - var _b; - try { - const { axios, cheerio } = providerContext; - const url = link; - const res = yield axios.get(url); - const data = res.data; - const $ = cheerio.load(data); - const type = $(".entry-content") - .text() - .toLocaleLowerCase() - .includes("movie name") - ? "movie" - : "series"; - const imdbId = ((_b = $(".imdb_left").find("a").attr("href")) === null || _b === void 0 ? void 0 : _b.split("/")[4]) || ""; - const title = $(".entry-content") - .find('strong:contains("Name")') - .children() - .remove() - .end() - .text() - .replace(":", ""); - const synopsis = $(".entry-content") - .find('p:contains("Synopsis"),p:contains("Plot"),p:contains("Story")') - .children() - .remove() - .end() - .text(); - const image = $(".wp-caption").find("img").attr("data-src") || - $(".entry-content").find("img").attr("data-src") || - ""; - const links = []; - $(".my-button").map((i, element) => { - var _a; - const title = $(element).parent().parent().prev().text(); - const episodesLink = $(element).attr("href"); - const quality = ((_a = title.match(/\b(480p|720p|1080p|2160p)\b/i)) === null || _a === void 0 ? void 0 : _a[0]) || ""; - if (episodesLink && title) { - links.push({ - title, - episodesLink: type === "series" ? episodesLink : "", - directLinks: type === "movie" - ? [ - { - link: episodesLink, - title, - type: "movie", - }, - ] - : [], - quality, - }); - } - }); - return { - title, - synopsis, - image, - imdbId, - type, - linkList: links, - }; - } - catch (err) { - return { - title: "", - synopsis: "", - image: "", - imdbId: "", - type: "movie", - linkList: [], - }; - } - }); -}; -exports.getMeta = getMeta; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b;try{const{axios:axios,cheerio:cheerio}=providerContext,url=link,data=(yield axios.get(url)).data,$=cheerio.load(data),type=$(".entry-content").text().toLocaleLowerCase().includes("movie name")?"movie":"series",imdbId=(null===(_b=$(".imdb_left").find("a").attr("href"))||void 0===_b?void 0:_b.split("/")[4])||"",title=$(".entry-content").find('strong:contains("Name")').children().remove().end().text().replace(":",""),synopsis=$(".entry-content").find('p:contains("Synopsis"),p:contains("Plot"),p:contains("Story")').children().remove().end().text(),image=$(".wp-caption").find("img").attr("data-src")||$(".entry-content").find("img").attr("data-src")||"",links=[];return $(".my-button").map((i,element)=>{var _a;const title=$(element).parent().parent().prev().text(),episodesLink=$(element).attr("href"),quality=(null===(_a=title.match(/\b(480p|720p|1080p|2160p)\b/i))||void 0===_a?void 0:_a[0])||"";episodesLink&&title&&links.push({title:title,episodesLink:"series"===type?episodesLink:"",directLinks:"movie"===type?[{link:episodesLink,title:title,type:"movie"}]:[],quality:quality})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:links}}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta; \ No newline at end of file diff --git a/dist/world4u/posts.js b/dist/world4u/posts.js index ff42fcf..fb87a5d 100644 --- a/dist/world4u/posts.js +++ b/dist/world4u/posts.js @@ -1,63 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSearchPosts = exports.getPosts = void 0; -const getPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ filter, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("w4u"); - const url = `${baseUrl + filter}/page/${page}/`; - return posts({ url, signal, axios, cheerio }); - }); -}; -exports.getPosts = getPosts; -const getSearchPosts = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, - // providerValue, - signal, providerContext, }) { - const { getBaseUrl, axios, cheerio } = providerContext; - const baseUrl = yield getBaseUrl("w4u"); - const url = `${baseUrl}/page/${page}/?s=${searchQuery}`; - return posts({ url, signal, axios, cheerio }); - }); -}; -exports.getSearchPosts = getSearchPosts; -function posts(_a) { - return __awaiter(this, arguments, void 0, function* ({ url, signal, axios, cheerio, }) { - try { - const res = yield axios.get(url, { signal }); - const data = res.data; - const $ = cheerio.load(data); - const catalog = []; - $(".recent-posts") - .children() - .map((i, element) => { - const title = $(element).find(".post-thumb").find("a").attr("title"); - const link = $(element).find(".post-thumb").find("a").attr("href"); - const image = $(element).find(".post-thumb").find("img").attr("data-src") || - $(element).find(".post-thumb").find("img").attr("src"); - if (title && link && image) { - catalog.push({ - title: title.replace("Download", "").trim(), - link: link, - image: image, - }); - } - }); - return catalog; - } - catch (err) { - return []; - } - }); -} +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(_a){return __awaiter(this,arguments,void 0,function*({filter:filter,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${(yield getBaseUrl("w4u"))+filter}/page/${page}/`,signal:signal,axios:axios,cheerio:cheerio})})};exports.getPosts=getPosts;const getSearchPosts=function(_a){return __awaiter(this,arguments,void 0,function*({searchQuery:searchQuery,page:page,signal:signal,providerContext:providerContext}){const{getBaseUrl:getBaseUrl,axios:axios,cheerio:cheerio}=providerContext;return posts({url:`${yield getBaseUrl("w4u")}/page/${page}/?s=${searchQuery}`,signal:signal,axios:axios,cheerio:cheerio})})};function posts(_a){return __awaiter(this,arguments,void 0,function*({url:url,signal:signal,axios:axios,cheerio:cheerio}){try{const data=(yield axios.get(url,{signal:signal})).data,$=cheerio.load(data),catalog=[];return $(".recent-posts").children().map((i,element)=>{const title=$(element).find(".post-thumb").find("a").attr("title"),link=$(element).find(".post-thumb").find("a").attr("href"),image=$(element).find(".post-thumb").find("img").attr("data-src")||$(element).find(".post-thumb").find("img").attr("src");title&&link&&image&&catalog.push({title:title.replace("Download","").trim(),link:link,image:image})}),catalog}catch(err){return[]}})}exports.getSearchPosts=getSearchPosts; \ No newline at end of file diff --git a/dist/world4u/stream.js b/dist/world4u/stream.js index 92e09b4..18e52d5 100644 --- a/dist/world4u/stream.js +++ b/dist/world4u/stream.js @@ -1,198 +1 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - 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) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStream = void 0; -const getStream = function (_a) { - return __awaiter(this, arguments, void 0, function* ({ link: url, type, providerContext, }) { - var _b; - const { axios, cheerio } = providerContext; - const headers = { - "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-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", - }; - try { - if (type === "movie") { - const linkRes = yield axios.get(url, { headers }); - const linkData = linkRes.data; - const $ = cheerio.load(linkData); - url = $('strong:contains("INSTANT")').parent().attr("href") || url; - } - // fastilinks - if (url.includes("fastilinks")) { - const fastilinksRes = yield axios.get(url, { headers }); - const fastilinksData = fastilinksRes.data; - const $$ = cheerio.load(fastilinksData); - const fastilinksKey = $$('input[name="_csrf_token_645a83a41868941e4692aa31e7235f2"]').attr("value"); - console.log("fastilinksKey", fastilinksKey); - const fastilinksFormData = new FormData(); - fastilinksFormData.append("_csrf_token_645a83a41868941e4692aa31e7235f2", fastilinksKey || ""); - const fastilinksRes2 = yield fetch(url, { - method: "POST", - headers: headers, - body: fastilinksFormData, - }); - const fastilinksHtml = yield fastilinksRes2.text(); - // console.log('fastilinksHtml', fastilinksHtml); - const $$$ = cheerio.load(fastilinksHtml); - const fastilinksLink = $$$('a:contains("mediafire")').attr("href") || - $$$('a:contains("photolinx")').attr("href"); - console.log("fastilinksLink", fastilinksLink); - url = fastilinksLink || url; - } - console.log("world4uGetStream", type, url); - if (url.includes("photolinx")) { - console.log("photolinx", url); - // const photolinxBaseUrl = url.split('/').slice(0, 3).join('/'); - const photolinxRes = yield axios.get(url, { headers }); - const photolinxData = photolinxRes.data; - const $$$ = cheerio.load(photolinxData); - const access_token = $$$("#generate_url").attr("data-token"); - const uid = $$$("#generate_url").attr("data-uid"); - const body = { - type: "DOWNLOAD_GENERATE", - payload: { - access_token, - uid, - }, - }; - console.log("photolinxData", JSON.stringify(body)); - const photolinxRes2 = yield fetch("https://photolinx.shop/action", { - headers: { - "sec-fetch-site": "same-origin", - "x-requested-with": "xmlhttprequest", - cookie: "PHPSESSID=9a8d855c700cf0711831c04960c2e2b4", - Referer: "https://photolinx.shop/download/5mPkrBD0D2x", - "Referrer-Policy": "strict-origin-when-cross-origin", - }, - body: JSON.stringify(body), - method: "POST", - }); - const photolinxData2 = yield photolinxRes2.json(); - console.log("photolinxData2", photolinxData2); - const dwUrl = photolinxData2 === null || photolinxData2 === void 0 ? void 0 : photolinxData2.download_url; - if (dwUrl) { - const streamLinks = [ - { - server: "Photolinx", - link: dwUrl, - type: "mkv", - }, - ]; - return streamLinks; - } - } - const res = yield axios.get(url, { headers }); - const html = res.data; - const streamLinks = []; - let data = { download: "" }; - try { - const key = ((_b = html.match(/formData\.append\('key',\s*'(\d+)'\);/)) === null || _b === void 0 ? void 0 : _b[1]) || ""; - console.log("key", key); - const formData = new FormData(); - formData.append("key", key); - const streamRes = yield fetch(url, { - method: "POST", - headers: headers, - body: formData, - }); - data = yield streamRes.json(); - } - catch (err) { - console.log("error in world4uGetStream", err); - } - // console.log('streamRes', streamRes); - let $ = cheerio.load(html); - // console.log('data', html); - const mediafireUrl = $('h1:contains("Download")').find("a").attr("href") || - $(".input.popsok").attr("href"); - console.log("mediafireUrl", mediafireUrl); - if (mediafireUrl) { - const directUrl = yield axios.head(mediafireUrl); - const urlContentType = directUrl.headers["content-type"]; - console.log("mfcontentType", urlContentType); - if (urlContentType && urlContentType.includes("video")) { - streamLinks.push({ - server: "Mediafire", - link: mediafireUrl, - type: "mkv", - }); - return streamLinks; - } - else { - const repairRes = yield axios.get(mediafireUrl, { - headers: { - Referer: url, - }, - }); - const repairHtml = repairRes.data; - // Regex to match the window.location.href assignment in the script content - const hrefRegex = /window\.location\.href\s*=\s*['"]([^'"]+)['"]/; - const match = repairHtml.match(hrefRegex); - // If a match is found, return the URL; otherwise return null - let downloadLInk = match ? match[1] : null; - console.log("downloadLInk", downloadLInk); - if (downloadLInk) { - streamLinks.push({ - server: "Mediafire", - link: downloadLInk, - type: "mkv", - }); - } - return streamLinks; - } - } - const requireRepairRes = yield axios.head(data.download); - const contentType = requireRepairRes.headers["content-type"]; - console.log("contentType", contentType); - if (contentType && contentType.includes("video")) { - streamLinks.push({ - server: "Mediafire", - link: data.download, - type: "mkv", - }); - return streamLinks; - } - else { - const repairRes = yield axios.get(data.download, { - headers: { - Referer: url, - }, - }); - const repairHtml = repairRes.data; - const $ = cheerio.load(repairHtml); - const repairLink = $("#continue-btn").attr("href"); - console.log("repairLink", "https://www.mediafire.com" + repairLink); - const repairRequireRepairRes = yield axios.get("https://www.mediafire.com" + repairLink); - const $$ = cheerio.load(repairRequireRepairRes.data); - const repairDownloadLink = $$(".input.popsok").attr("href"); - console.log("repairDownloadLink", repairDownloadLink); - if (repairDownloadLink) { - streamLinks.push({ - server: "Mediafire", - link: repairDownloadLink, - type: "mkv", - }); - } - } - return streamLinks; - } - catch (err) { - console.log(err); - return []; - } - }); -}; -exports.getStream = getStream; +"use strict";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())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,providerContext:providerContext}){var _b;const{axios:axios,cheerio:cheerio}=providerContext,headers={"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-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"};try{if("movie"===type){const linkData=(yield axios.get(url,{headers:headers})).data;url=cheerio.load(linkData)('strong:contains("INSTANT")').parent().attr("href")||url}if(url.includes("fastilinks")){const fastilinksData=(yield axios.get(url,{headers:headers})).data,fastilinksKey=cheerio.load(fastilinksData)('input[name="_csrf_token_645a83a41868941e4692aa31e7235f2"]').attr("value"),fastilinksFormData=new FormData;fastilinksFormData.append("_csrf_token_645a83a41868941e4692aa31e7235f2",fastilinksKey||"");const fastilinksRes2=yield fetch(url,{method:"POST",headers:headers,body:fastilinksFormData}),fastilinksHtml=yield fastilinksRes2.text(),$$$=cheerio.load(fastilinksHtml);url=$$$('a:contains("mediafire")').attr("href")||$$$('a:contains("photolinx")').attr("href")||url}if(url.includes("photolinx")){const photolinxData=(yield axios.get(url,{headers:headers})).data,$$$=cheerio.load(photolinxData),access_token=$$$("#generate_url").attr("data-token"),body={type:"DOWNLOAD_GENERATE",payload:{access_token:access_token,uid:$$$("#generate_url").attr("data-uid")}},photolinxRes2=yield fetch("https://photolinx.shop/action",{headers:{"sec-fetch-site":"same-origin","x-requested-with":"xmlhttprequest",cookie:"PHPSESSID=9a8d855c700cf0711831c04960c2e2b4",Referer:"https://photolinx.shop/download/5mPkrBD0D2x","Referrer-Policy":"strict-origin-when-cross-origin"},body:JSON.stringify(body),method:"POST"}),photolinxData2=yield photolinxRes2.json(),dwUrl=null==photolinxData2?void 0:photolinxData2.download_url;if(dwUrl){return[{server:"Photolinx",link:dwUrl,type:"mkv"}]}}const html=(yield axios.get(url,{headers:headers})).data,streamLinks=[];let data={download:""};try{const key=(null===(_b=html.match(/formData\.append\('key',\s*'(\d+)'\);/))||void 0===_b?void 0:_b[1])||"",formData=new FormData;formData.append("key",key);const streamRes=yield fetch(url,{method:"POST",headers:headers,body:formData});data=yield streamRes.json()}catch(err){}let $=cheerio.load(html);const mediafireUrl=$('h1:contains("Download")').find("a").attr("href")||$(".input.popsok").attr("href");if(mediafireUrl){const urlContentType=(yield axios.head(mediafireUrl)).headers["content-type"];if(urlContentType&&urlContentType.includes("video"))return streamLinks.push({server:"Mediafire",link:mediafireUrl,type:"mkv"}),streamLinks;{const repairHtml=(yield axios.get(mediafireUrl,{headers:{Referer:url}})).data,hrefRegex=/window\.location\.href\s*=\s*['"]([^'"]+)['"]/,match=repairHtml.match(hrefRegex);let downloadLInk=match?match[1]:null;return downloadLInk&&streamLinks.push({server:"Mediafire",link:downloadLInk,type:"mkv"}),streamLinks}}const contentType=(yield axios.head(data.download)).headers["content-type"];if(contentType&&contentType.includes("video"))return streamLinks.push({server:"Mediafire",link:data.download,type:"mkv"}),streamLinks;{const repairHtml=(yield axios.get(data.download,{headers:{Referer:url}})).data,repairLink=cheerio.load(repairHtml)("#continue-btn").attr("href"),repairRequireRepairRes=yield axios.get("https://www.mediafire.com"+repairLink),repairDownloadLink=cheerio.load(repairRequireRepairRes.data)(".input.popsok").attr("href");repairDownloadLink&&streamLinks.push({server:"Mediafire",link:repairDownloadLink,type:"mkv"})}return streamLinks}catch(err){return[]}})};exports.getStream=getStream; \ No newline at end of file