")
+ .replace(/&/g, "&");
+ return decoded;
}
- const id480 = $('tr:contains("480p")')
- .find('button:contains("Info")')
- .attr("id")
- ?.split("-")[1];
- if (id480) {
- idList.push({
- id: id480,
- quality: "480p",
- });
- }
- // console.log('idList', idList);
- const baseUrl = link.split("/").slice(0, 3).join("/");
- const secondIdList = [];
- await Promise.all(idList.slice(0, 2).map(async (id) => {
- const formData = new URLSearchParams();
- formData.append("downloadid", id.id);
- formData.append("token", "ok");
- const messageToken = generateMessageToken(baseUrl);
- const uid = getOrCreateUID();
- const idRes = await 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 = await idRes.text();
- secondIdList.push({
- quality: id.quality,
- id: idData,
- });
- console.log("idData", idData);
- }));
- await Promise.all(secondIdList.map(async (id) => {
- const idRes = await axios.post(`${baseUrl}/tmp/${id.id}`);
- if (idRes.data.ppd["gofile.io"]) {
- const goRes = await 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,
- },
- });
- }
+ 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;
diff --git a/dist/ridoMovies/meta.js b/dist/ridoMovies/meta.js
index 2224b7d..c89697c 100644
--- a/dist/ridoMovies/meta.js
+++ b/dist/ridoMovies/meta.js
@@ -1,85 +1,94 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { getBaseUrl, axios } = providerContext;
- const res = await axios.get(link);
- const data = res.data;
- const meta = {
- title: "",
- synopsis: "",
- image: "",
- imdbId: data?.meta?.imdb_id || "",
- type: data?.meta?.type || "movie",
- };
- const baseUrl = await getBaseUrl("ridomovies");
- let slug = "";
+const getMeta = function (_a) {
+ return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) {
+ var _b, _c, _d, _e, _f, _g, _h;
try {
- const res2 = await axios.get(baseUrl + "/core/api/search?q=" + meta.imdbId);
- const data2 = res2.data;
- slug = data2?.data?.items[0]?.fullSlug;
- if (!slug || meta?.type === "series") {
+ const { getBaseUrl, axios } = providerContext;
+ 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 baseUrl = yield getBaseUrl("ridomovies");
+ let slug = "";
+ try {
+ const res2 = yield axios.get(baseUrl + "/core/api/search?q=" + meta.imdbId);
+ const data2 = res2.data;
+ slug = (_e = (_d = data2 === null || data2 === void 0 ? void 0 : data2.data) === null || _d === void 0 ? void 0 : _d.items[0]) === null || _e === void 0 ? void 0 : _e.fullSlug;
+ if (!slug || (meta === null || meta === void 0 ? void 0 : meta.type) === "series") {
+ return {
+ title: "",
+ synopsis: "",
+ image: "",
+ imdbId: ((_f = data === null || data === void 0 ? void 0 : data.meta) === null || _f === void 0 ? void 0 : _f.imdb_id) || "",
+ type: (meta === null || meta === void 0 ? void 0 : meta.type) || "movie",
+ linkList: [],
+ };
+ }
+ }
+ catch (err) {
return {
title: "",
synopsis: "",
image: "",
- imdbId: data?.meta?.imdb_id || "",
- type: meta?.type || "movie",
+ imdbId: (meta === null || meta === void 0 ? void 0 : meta.imdbId) || "",
+ type: (meta === null || meta === void 0 ? void 0 : meta.type) || "movie",
linkList: [],
};
}
+ const links = [];
+ let directLinks = [];
+ let season = new Map();
+ if (meta.type === "series") {
+ (_h = (_g = data === null || data === void 0 ? void 0 : data.meta) === null || _g === void 0 ? void 0 : _g.videos) === null || _h === void 0 ? void 0 : _h.map((video) => {
+ 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: meta?.imdbId || "",
- type: meta?.type || "movie",
+ imdbId: "",
+ type: "movie",
linkList: [],
};
}
- const links = [];
- let directLinks = [];
- let season = new Map();
- if (meta.type === "series") {
- data?.meta?.videos?.map((video) => {
- if (video?.season <= 0)
- return;
- if (!season.has(video?.season)) {
- season.set(video?.season, []);
- }
- season.get(video?.season).push({
- title: "Episode " + 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 {
- ...meta,
- linkList: links,
- };
- }
- catch (err) {
- return {
- title: "",
- synopsis: "",
- image: "",
- imdbId: "",
- type: "movie",
- linkList: [],
- };
- }
+ });
};
exports.getMeta = getMeta;
diff --git a/dist/ridoMovies/posts.js b/dist/ridoMovies/posts.js
index 3fddbf2..2fb59be 100644
--- a/dist/ridoMovies/posts.js
+++ b/dist/ridoMovies/posts.js
@@ -1,66 +1,79 @@
"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 = async function ({ filter, signal, providerContext, }) {
- try {
- const catalog = [];
- const url = "https://cinemeta-catalogs.strem.io" + filter;
- console.log("allGetPostUrl", url);
- const res = await providerContext.axios.get(url, {
- headers: providerContext.commonHeaders,
- signal,
- });
- const data = res.data;
- data?.metas.map((result) => {
- const title = result?.name;
- const id = result?.imdb_id || result?.id;
- const type = result?.type;
- const image = 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 = async function ({ searchQuery, page, signal, providerContext, }) {
- try {
- const { axios, commonHeaders: headers } = providerContext;
- if (page > 1) {
+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 [];
}
- const catalog = [];
- const url2 = `https://v3-cinemeta.strem.io/catalog/movie/top/search=${encodeURI(searchQuery)}.json`;
- const res2 = await axios.get(url2, { headers, signal });
- const data2 = res2.data;
- data2?.metas.map((result) => {
- const title = result?.name || "";
- const id = result?.imdb_id || result?.id;
- const image = result?.poster;
- const type = result?.type;
- if (id) {
- catalog.push({
- title: title,
- link: `https://v3-cinemeta.strem.io/meta/${type}/${id}.json`,
- image: image,
- });
+ });
+};
+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 [];
}
- });
- return catalog;
- }
- catch (err) {
- console.error("AutoEmbed error ", err);
- 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;
diff --git a/dist/ridoMovies/stream.js b/dist/ridoMovies/stream.js
index d3aa161..916304e 100644
--- a/dist/ridoMovies/stream.js
+++ b/dist/ridoMovies/stream.js
@@ -1,7 +1,17 @@
"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 = async ({ link: data, providerContext, }) => {
+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);
@@ -15,18 +25,15 @@ const getStream = async ({ link: data, providerContext, }) => {
// 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?.baseUrl + "/api/" + streamData?.slug;
+ 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 = await axios.get(url, { headers });
- const iframe = res.data.data?.[0]?.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 = await axios.get(iframeUrl, {
- headers: {
- ...headers,
- Referer: streamData?.baseUrl,
- },
+ 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();
@@ -50,7 +57,7 @@ const getStream = async ({ link: data, providerContext, }) => {
console.log("rido get stream err", e);
return [];
}
-};
+});
exports.getStream = getStream;
function unpackJavaScript(packedCode) {
const encodedString = packedCode.split("|aHR")[1].split("|")[0];
diff --git a/dist/ringz/meta.js b/dist/ringz/meta.js
index 4a64c73..f848322 100644
--- a/dist/ringz/meta.js
+++ b/dist/ringz/meta.js
@@ -1,85 +1,95 @@
"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 = async function ({ link: data, }) {
- try {
- const dataJson = JSON.parse(data);
- const title = dataJson?.kn || dataJson?.mn;
- const image = dataJson?.IH || dataJson?.IV;
- const tags = dataJson?.gn
- .split(",")
- .slice(0, 3)
- .map((tag) => tag.trim());
- const type = dataJson?.cg === "webSeries" ? "series" : "movie";
- const linkList = [];
- if (dataJson?.cg === "webSeries") {
- ["1", "2", "3", "4"]?.forEach((item) => {
+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 = [];
- if (typeof dataJson?.["eServer" + item] === "object" &&
- Object?.keys(dataJson?.["eServer" + item])?.length > 0) {
- Object.keys(dataJson?.["eServer" + item]).forEach((key) => {
+ (_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: "Episode " + key,
+ title: "Server " + item + " (HD)",
link: JSON.stringify({
- url: dataJson?.["eServer" + item][key],
+ url: dataJson === null || dataJson === void 0 ? void 0 : dataJson.s1,
server: "Server " + item,
}),
});
- });
- linkList.push({
- title: dataJson?.pn + " (Server " + item + ")",
- directLinks,
- });
- }
- });
+ }
+ 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,
+ };
}
- else {
- const directLinks = [];
- ["1", "2", "3", "4"]?.forEach((item) => {
- if (dataJson?.["s" + item]) {
- directLinks.push({
- title: "Server " + item + " (HD)",
- link: JSON.stringify({
- url: dataJson?.s1,
- server: "Server " + item,
- }),
- });
- }
- if (dataJson?.["4s" + item]) {
- directLinks.push({
- title: "Server " + item + " (480p)",
- link: JSON.stringify({
- url: dataJson?.["4s" + item],
- server: "Server " + item,
- }),
- });
- }
- });
- linkList.push({
- title: dataJson?.pn,
- directLinks,
- });
+ catch (err) {
+ return {
+ title: "",
+ image: "",
+ imdbId: "",
+ synopsis: "",
+ type: "movie",
+ linkList: [],
+ tags: [],
+ };
}
- return {
- title,
- image,
- imdbId: "",
- synopsis: "",
- type,
- linkList,
- tags,
- };
- }
- catch (err) {
- return {
- title: "",
- image: "",
- imdbId: "",
- synopsis: "",
- type: "movie",
- linkList: [],
- tags: [],
- };
- }
+ });
};
exports.getMeta = getMeta;
diff --git a/dist/ringz/posts.js b/dist/ringz/posts.js
index 972f127..89781dd 100644
--- a/dist/ringz/posts.js
+++ b/dist/ringz/posts.js
@@ -1,38 +1,88 @@
"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 = async function ({ filter, signal, providerContext, }) {
- return posts({ filter, signal, providerContext });
+const getPosts = function (_a) {
+ return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) {
+ return posts({ filter, signal, providerContext });
+ });
};
exports.getPosts = getPosts;
-const getSearchPosts = async 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 = await Promise.all(promises);
- responses.map((response) => {
- const searchResults = searchData(response, searchQuery);
- searchResults.map((element) => {
- const title = element?.kn || element?.mn;
+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?.IV;
+ const image = element === null || element === void 0 ? void 0 : element.IV;
if (title && link) {
catalog.push({
title: title,
@@ -41,109 +91,74 @@ const getSearchPosts = async function ({ searchQuery, page, // providerContext,
});
}
});
- });
- return catalog;
- }
- catch (err) {
- console.error("ringz error ", err);
- return [];
- }
-};
-exports.getSearchPosts = getSearchPosts;
-async function posts({ filter, // signal,
- }) {
- try {
- let response;
- if (filter === "MOVIES") {
- response = getRingzMovies();
+ return catalog;
}
- if (filter === "SERIES") {
- response = getRingzShows();
+ catch (err) {
+ console.error("ringz error ", err);
+ return [];
}
- if (filter === "ANIME") {
- response = getRingzAnime();
- }
- const data = await response;
- const catalog = [];
- data.map((element) => {
- const title = element?.kn || element?.mn;
- const link = JSON.stringify(element);
- const image = 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";
-async function getRingzMovies() {
- try {
- const response = await fetch(`${BASE_URL}/test.json`, {
- headers: {
- ...exports.headers,
- },
- });
- const data = await response.json();
- return data.AllMovieDataList;
- }
- catch (error) {
- console.error(error);
- }
+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);
+ }
+ });
}
-async function getRingzShows() {
- try {
- const response = await fetch(`${BASE_URL}/srs.json`, {
- headers: {
- ...exports.headers,
- },
- });
- const data = await response.json();
- return data.webSeriesDataList;
- }
- 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);
+ }
+ });
}
-async function getRingzAnime() {
- try {
- const response = await fetch(`${BASE_URL}/anime.json`, {
- headers: {
- ...exports.headers,
- },
- });
- const data = await 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);
+ }
+ });
}
-async function getRingzAdult() {
- try {
- const response = await fetch(`${BASE_URL}/desihub.json`, {
- headers: {
- ...exports.headers,
- },
- });
- const data = await 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,
diff --git a/dist/ringz/stream.js b/dist/ringz/stream.js
index c060210..eebb36f 100644
--- a/dist/ringz/stream.js
+++ b/dist/ringz/stream.js
@@ -1,14 +1,25 @@
"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 = async function ({ link: data, }) {
- const streamLinks = [];
- const dataJson = JSON.parse(data);
- streamLinks.push({
- link: dataJson.url,
- server: dataJson.server,
- type: "mkv",
+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;
});
- return streamLinks;
};
exports.getStream = getStream;
diff --git a/dist/showbox/episodes.js b/dist/showbox/episodes.js
index 5a3c2c3..868273f 100644
--- a/dist/showbox/episodes.js
+++ b/dist/showbox/episodes.js
@@ -1,32 +1,43 @@
"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 = async 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 = await axios.get(febLink);
- const data = res.data;
- const fileList = data.data.file_list;
- const episodeLinks = [];
- fileList?.map((file) => {
- const fileName = formatEpisodeName(file.file_name);
- const epId = file?.fid;
- if (!file.is_dir && fileName && epId) {
- episodeLinks.push({
- title: fileName,
- link: `${fileId}&${epId}`,
- });
- }
- });
- return episodeLinks;
- }
- catch (err) {
- return [];
- }
+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) {
diff --git a/dist/showbox/meata.js b/dist/showbox/meata.js
index 5e6a995..4bfb71d 100644
--- a/dist/showbox/meata.js
+++ b/dist/showbox/meata.js
@@ -1,65 +1,74 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { axios, cheerio } = providerContext;
- const url = link;
- const res = await 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 = $(".btn-imdb")
- .text()
- ?.match(/\d+(\.\d+)?/g)?.[0] || "";
- const image = $(".cover_follow").attr("style")?.split("url(")[1]?.split(")")[0] || "";
- const synopsis = $(".description")
- .text()
- ?.replace(/[\n\t]/g, "")
- ?.trim();
- const febID = $(".heading-name").find("a").attr("href")?.split("/")?.pop();
- const baseUrl = url.split("/").slice(0, 3).join("/");
- const indexUrl = `${baseUrl}/index/share_link?id=${febID}&type=${type === "movie" ? "1" : "2"}`;
- const indexRes = await 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 = await axios.get(febLink);
- const febData = febRes.data;
- const fileList = febData?.data?.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}&`,
+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 } = providerContext;
+ const url = 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,
+ };
}
- return {
- title,
- rating,
- synopsis,
- image,
- imdbId,
- type,
- linkList: links,
- };
- }
- catch (err) {
- return {
- title: "",
- rating: "",
- synopsis: "",
- image: "",
- imdbId: "",
- type: "",
- linkList: [],
- };
- }
+ catch (err) {
+ return {
+ title: "",
+ rating: "",
+ synopsis: "",
+ image: "",
+ imdbId: "",
+ type: "",
+ linkList: [],
+ };
+ }
+ });
};
exports.getMeta = getMeta;
diff --git a/dist/showbox/posts.js b/dist/showbox/posts.js
index cd2e9a3..18790b8 100644
--- a/dist/showbox/posts.js
+++ b/dist/showbox/posts.js
@@ -1,47 +1,62 @@
"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 = async function ({ filter, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("showbox");
- const url = `${baseUrl + filter}?page=${page}/`;
- return posts({ url, signal, baseUrl, axios, cheerio });
+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 = async function ({ searchQuery, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("showbox");
- const url = `${baseUrl}/search?keyword=${searchQuery}&page=${page}`;
- return posts({ url, signal, baseUrl, axios, cheerio });
+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;
-async function posts({ url, signal,
-// baseUrl,
-axios, cheerio, }) {
- try {
- const res = await axios.get(url, { signal });
- const data = res.data;
- const $ = cheerio.load(data);
- const catalog = [];
- $(".movie-item").map((i, element) => {
- const title = $(element).find(".movie-title").text();
- 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 [];
- }
+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").map((i, element) => {
+ const title = $(element).find(".movie-title").text();
+ 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 [];
+ }
+ });
}
diff --git a/dist/showbox/stream.js b/dist/showbox/stream.js
index d5efe4a..679c388 100644
--- a/dist/showbox/stream.js
+++ b/dist/showbox/stream.js
@@ -32,39 +32,50 @@ var __importStar = (this && this.__importStar) || (function () {
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());
+ });
+};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStream = void 0;
const cheerio = __importStar(require("cheerio"));
-const getStream = async function ({ link: id,
-// type,
-signal, providerContext, }) {
- try {
- const { axios } = providerContext;
- const stream = [];
- const [, epId] = id.split("&");
- const url = `https://febbox.vercel.app/api/video-quality?fid=${epId}`;
- const res = await 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 [];
- }
+const getStream = function (_a) {
+ return __awaiter(this, arguments, void 0, function* ({ link: id,
+ // type,
+ signal, providerContext, }) {
+ try {
+ const { axios } = 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;
diff --git a/dist/superVideoExtractor.js b/dist/superVideoExtractor.js
index 27dc0e0..79f0660 100644
--- a/dist/superVideoExtractor.js
+++ b/dist/superVideoExtractor.js
@@ -1,38 +1,50 @@
"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;
-async function superVideoExtractor(data) {
- 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 = encodedString.split("',36,")?.[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]);
+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);
}
- // 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 || '';
}
- else {
- console.log('No match found');
+ catch (err) {
+ console.error('SuperVideoExtractor Error:', err);
+ return '';
}
- const streamUrl = p?.match(/file:\s*"([^"]+\.m3u8[^"]*)"/)?.[1];
- console.log('streamUrl:', streamUrl);
- return streamUrl || '';
- }
- catch (err) {
- console.error('SuperVideoExtractor Error:', err);
- return '';
- }
+ });
}
diff --git a/dist/tokyoInsider/meta.js b/dist/tokyoInsider/meta.js
index 6720ce6..99f1bd9 100644
--- a/dist/tokyoInsider/meta.js
+++ b/dist/tokyoInsider/meta.js
@@ -1,60 +1,68 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { cheerio } = providerContext;
- const url = link;
- const res = await fetch(url);
- const data = await 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 {
- ...meta,
- linkList: [
- {
- title: meta.title,
- directLinks: episodesList,
- },
- ],
- };
- }
- catch (err) {
- return {
- title: "",
- synopsis: "",
- image: "",
- imdbId: "",
- type: "series",
- linkList: [],
- };
- }
+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;
diff --git a/dist/tokyoInsider/posts.js b/dist/tokyoInsider/posts.js
index 9bfea14..05a7278 100644
--- a/dist/tokyoInsider/posts.js
+++ b/dist/tokyoInsider/posts.js
@@ -1,50 +1,65 @@
"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 = async function ({ filter, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseURL = await getBaseUrl("tokyoinsider");
- const start = page < 2 ? 0 : (page - 1) * 20;
- const url = `${baseURL}/${filter}&start=${start}`;
- return posts({ baseURL, url, signal, axios, cheerio });
+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 = async function ({ searchQuery, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseURL = await 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 });
+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;
-async function posts({ baseURL, url, signal, axios, cheerio, }) {
- try {
- const res = await axios.get(url, { signal });
- const data = res.data;
- const $ = cheerio.load(data);
- const catalog = [];
- $('td.c_h2[width="40"]').map((i, element) => {
- const image = $(element)
- .find(".a_img")
- .attr("src")
- ?.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 [];
- }
+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 [];
+ }
+ });
}
diff --git a/dist/tokyoInsider/stream.js b/dist/tokyoInsider/stream.js
index 09a61d6..bed2669 100644
--- a/dist/tokyoInsider/stream.js
+++ b/dist/tokyoInsider/stream.js
@@ -1,30 +1,41 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { cheerio } = providerContext;
- const url = link;
- const res = await fetch(url);
- const data = await 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 [];
- }
+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;
diff --git a/dist/topmovies/episodes.js b/dist/topmovies/episodes.js
index b1236e3..437d18d 100644
--- a/dist/topmovies/episodes.js
+++ b/dist/topmovies/episodes.js
@@ -1,49 +1,60 @@
"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 = async function ({ url, providerContext, }) {
- const { axios, cheerio } = providerContext;
- try {
- if (url.includes("url=")) {
- url = atob(url.split("url=")[1]);
- }
- const res = await axios.get(url);
- const html = res.data;
- let $ = cheerio.load(html);
- if (url.includes("url=")) {
- const newUrl = $("meta[http-equiv='refresh']")
- .attr("content")
- ?.split("url=")[1];
- const res2 = await 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 || "",
- });
+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]);
}
- });
- $("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 || "",
- });
+ 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);
}
- });
- return episodeLinks;
- }
- catch (err) {
- console.error(err);
- return [];
- }
+ 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;
diff --git a/dist/topmovies/meta.js b/dist/topmovies/meta.js
index a2c4c23..43ca4ca 100644
--- a/dist/topmovies/meta.js
+++ b/dist/topmovies/meta.js
@@ -1,62 +1,75 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { axios, cheerio } = providerContext;
- const url = link;
- const res = await 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: $(".imdbwp__link").attr("href")?.split("/")[4] || "",
- type: $(".thecontent").text().toLocaleLowerCase().includes("season")
- ? "series"
- : "movie",
- };
- const links = [];
- $("h3,h4").map((i, element) => {
- 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: seriesTitle?.match(/\d+p\b/)?.[0] || "",
- });
- }
- });
- // console.log('mod meta', links);
- return { ...meta, linkList: links };
- }
- catch (err) {
- console.error(err);
- return {
- title: "",
- synopsis: "",
- image: "",
- imdbId: "",
- type: "movie",
- linkList: [],
- };
- }
+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;
diff --git a/dist/topmovies/posts.js b/dist/topmovies/posts.js
index b5e989b..29007ec 100644
--- a/dist/topmovies/posts.js
+++ b/dist/topmovies/posts.js
@@ -1,4 +1,13 @@
"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 = {
@@ -17,48 +26,54 @@ const headers = {
"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 = async function ({ filter, page, signal, providerContext, }) {
- const { getBaseUrl } = providerContext;
- const baseUrl = await getBaseUrl("Topmovies");
- const url = `${baseUrl + filter}/page/${page}/`;
- return posts(url, signal, providerContext);
+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 = async function ({ searchQuery, page, signal, providerContext, }) {
- const { getBaseUrl } = providerContext;
- const baseUrl = await getBaseUrl("Topmovies");
- const url = `${baseUrl}/search/${searchQuery}/page/${page}/`;
- return posts(url, signal, providerContext);
+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;
-async function posts(url, signal, providerContext) {
- try {
- const { axios, cheerio } = providerContext;
- const res = await 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 [];
- }
+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 [];
+ }
+ });
}
diff --git a/dist/topmovies/stream.js b/dist/topmovies/stream.js
index f7076c2..3dea75c 100644
--- a/dist/topmovies/stream.js
+++ b/dist/topmovies/stream.js
@@ -1,4 +1,13 @@
"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 = {
@@ -17,192 +26,199 @@ const headers = {
"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 = async function ({ link: url, type, providerContext, }) {
- const { axios, cheerio } = providerContext;
- try {
- const modGetEpisodeLinks = async function ({ url, providerContext, }) {
- const { axios, cheerio } = providerContext;
+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 {
- if (url.includes("url=")) {
- url = atob(url.split("url=")[1]);
- }
- const res = await axios.get(url);
- const html = res.data;
- let $ = cheerio.load(html);
- if (url.includes("url=")) {
- const newUrl = $("meta[http-equiv='refresh']")
- .attr("content")
- ?.split("url=")[1];
- const res2 = await 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 || "",
- });
- }
+ 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",
+ },
});
- $("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 = await modGetEpisodeLinks({ url, providerContext });
- url = servers[0].link || url;
- }
- let downloadLink = await modExtractor(url, providerContext);
- // console.log(downloadLink.data);
- const ddl = downloadLink?.data?.match(/content="0;url=(.*?)"/)?.[1] || url;
- // console.log('ddl', url);
- // console.log(ddl);
- // console.log(ddl);
- const servers = [];
- const driveLink = await isDriveLink(ddl);
- const driveRes = await axios.get(driveLink, { headers });
- const driveHtml = driveRes.data;
- const $drive = cheerio.load(driveHtml);
- try {
- const resumeBot = $drive(".btn.btn-light").attr("href") || "";
- 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);
- 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 = await axios.get(cfWorkersLink, { headers });
- const cfWorkersHtml = cfWorkersRes.data;
- const $cfWorkers = cheerio.load(cfWorkersHtml);
- const cfWorkersStream = $cfWorkers(".btn-success");
- cfWorkersStream.each((i, el) => {
- const link = el.attribs?.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 = await axios.get(cfWorkersLink, { headers });
- const cfWorkersHtml = cfWorkersRes.data;
- const $cfWorkers = cheerio.load(cfWorkersHtml);
- const cfWorkersStream = $cfWorkers(".btn-success");
- cfWorkersStream.each((i, el) => {
- const link = el.attribs?.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 = await fetch(videoSeedUrl, {
- method: "POST",
- body: InstantFromData,
- headers: {
- "x-token": videoSeedUrl,
- },
- });
- const instantLinkData = await instantLinkRes.json();
- // console.log('instantLinkData', instantLinkData);
- if (instantLinkData.error === false) {
- const instantLink = instantLinkData.url;
+ const resumeBotDownloadData = yield resumeBotDownload.json();
+ console.log("resumeBotDownloadData", resumeBotDownloadData.url);
servers.push({
- server: "Gdrive-Instant",
- link: instantLink,
+ server: "ResumeBot",
+ link: resumeBotDownloadData.url,
type: "mkv",
});
}
- else {
- console.log("Instant link not found", instantLinkData);
+ 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("Instant link not found", err);
+ console.log("getStream error", err);
+ return [];
}
- return servers;
- }
- catch (err) {
- console.log("getStream error", err);
- return [];
- }
+ });
};
exports.getStream = getStream;
-const isDriveLink = async (ddl) => {
+const isDriveLink = (ddl) => __awaiter(void 0, void 0, void 0, function* () {
if (ddl.includes("drive")) {
- const driveLeach = await fetch(ddl);
- const driveLeachData = await driveLeach.text();
+ const driveLeach = yield fetch(ddl);
+ const driveLeachData = yield driveLeach.text();
const pathMatch = driveLeachData.match(/window\.location\.replace\("([^"]+)"\)/);
- const path = pathMatch?.[1];
+ 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}`;
@@ -210,47 +226,49 @@ const isDriveLink = async (ddl) => {
else {
return ddl;
}
-};
-async function modExtractor(url, providerContext) {
- const { axios, cheerio } = providerContext;
- try {
- const wpHttp = url.split("sid=")[1];
- var bodyFormData0 = new FormData();
- bodyFormData0.append("_wp_http", wpHttp);
- const res = await fetch(url.split("?")[0], {
- method: "POST",
- body: bodyFormData0,
- });
- const data = await 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 = await fetch(formUrl, {
- method: "POST",
- body: bodyFormData,
- });
- const html2 = await res2.text();
- const link = html2.match(/setAttribute\("href",\s*"(.*?)"/)[1];
- console.log(link);
- const cookie = link.split("=")[1];
- console.log("cookie", cookie);
- const downloadLink = await axios.get(link, {
- headers: {
- Referer: formUrl,
- Cookie: `${cookie}=${wpHttp2}`,
- },
- });
- return downloadLink;
- }
- catch (err) {
- console.log("modGetStream error", err);
- }
+});
+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);
+ }
+ });
}
diff --git a/dist/uhd/meta.js b/dist/uhd/meta.js
index 6d2416d..ab52730 100644
--- a/dist/uhd/meta.js
+++ b/dist/uhd/meta.js
@@ -1,4 +1,13 @@
"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 = {
@@ -16,93 +25,96 @@ const headers = {
"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 = async function ({ link, providerContext, }) {
- try {
- const { axios, cheerio } = providerContext;
- const url = link;
- const res = await axios.get(url, { headers });
- const html = await 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").each((index, element) => {
- $(element)
- .nextUntil(".mks_separator")
- .each((index, element) => {
- const title = $(element).text();
- const episodesList = [];
+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 });
+ 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").each((index, element) => {
$(element)
- .next("p")
- .find("a")
+ .nextUntil(".mks_separator")
.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 });
+ 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,
+ });
}
});
- 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 = [];
+ // old structure
+ $("hr").each((index, element) => {
$(element)
- .next("p")
- .find("a")
+ .nextUntil("hr")
.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 });
+ 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,
+ });
}
});
- if (title && episodesList.length > 0) {
- episodes.push({
- title,
- directLinks: episodesList,
- });
- }
});
- });
- // console.log(episodes);
- return {
- title: title.match(/^Download\s+([^(\[]+)/i)
- ? title?.match(/^Download\s+([^(\[]+)/i)?.[1] || ""
- : title.replace("Download", "") || "",
- image,
- imdbId: "",
- synopsis: title,
- type: "",
- linkList: episodes,
- };
- }
- catch (error) {
- console.error(error);
- return {
- title: "",
- image: "",
- imdbId: "",
- synopsis: "",
- linkList: [],
- type: "uhd",
- };
- }
+ // 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;
diff --git a/dist/uhd/posts.js b/dist/uhd/posts.js
index e4c39af..38acb6f 100644
--- a/dist/uhd/posts.js
+++ b/dist/uhd/posts.js
@@ -1,4 +1,13 @@
"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 = {
@@ -16,50 +25,52 @@ const headers = {
"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 = async ({ filter, page,
+const getPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ filter, page,
// providerValue,
-signal, providerContext, }) => {
+signal, providerContext, }) {
const { getBaseUrl } = providerContext;
- const baseUrl = await getBaseUrl("UhdMovies");
+ 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 = async ({ searchQuery, page,
+const getSearchPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ searchQuery, page,
// providerValue,
-signal, providerContext, }) => {
+signal, providerContext, }) {
const { getBaseUrl } = providerContext;
- const baseUrl = await getBaseUrl("UhdMovies");
+ const baseUrl = yield getBaseUrl("UhdMovies");
const url = `${baseUrl}/search/${searchQuery}/page/${page}/`;
return posts(baseUrl, url, signal, providerContext);
-};
+});
exports.getSearchPosts = getSearchPosts;
-async function posts(baseURL, url, signal, providerContext) {
- try {
- const { axios, cheerio } = providerContext;
- const res = await 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 [];
- }
+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 [];
+ }
+ });
}
diff --git a/dist/uhd/stream.js b/dist/uhd/stream.js
index 6281ff9..f66b93b 100644
--- a/dist/uhd/stream.js
+++ b/dist/uhd/stream.js
@@ -1,4 +1,13 @@
"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 = {
@@ -16,17 +25,18 @@ const headers = {
"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 = async ({ link: url, providerContext, }) => {
+const getStream = (_a) => __awaiter(void 0, [_a], void 0, function* ({ link: url, providerContext, }) {
+ var _b, _c;
try {
const { axios, cheerio } = providerContext;
- let downloadLink = await modExtractor(url, providerContext);
+ let downloadLink = yield modExtractor(url, providerContext);
// console.log(downloadLink.data);
- const ddl = downloadLink?.data?.match(/content="0;url=(.*?)"/)?.[1] || url;
+ 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 = await isDriveLink(ddl);
+ const driveLink = yield isDriveLink(ddl);
const ServerLinks = [];
- const driveRes = await axios.get(driveLink, { headers });
+ const driveRes = yield axios.get(driveLink, { headers });
const driveHtml = driveRes.data;
const $drive = cheerio.load(driveHtml);
//instant link
@@ -38,14 +48,14 @@ const getStream = async ({ link: url, providerContext, }) => {
InstantFromData.append("keys", instantToken);
const videoSeedUrl = seed.split("/").slice(0, 3).join("/") + "/api";
// console.log('videoSeedUrl', videoSeedUrl);
- const instantLinkRes = await fetch(videoSeedUrl, {
+ const instantLinkRes = yield fetch(videoSeedUrl, {
method: "POST",
body: InstantFromData,
headers: {
"x-token": videoSeedUrl,
},
});
- const instantLinkData = await instantLinkRes.json();
+ const instantLinkData = yield instantLinkRes.json();
// console.log('instantLinkData', instantLinkData);
if (instantLinkData.error === false) {
const instantLink = instantLinkData.url;
@@ -66,7 +76,7 @@ const getStream = async ({ link: url, providerContext, }) => {
try {
const resumeDrive = driveLink.replace("/file", "/zfile");
// console.log('resumeDrive', resumeDrive);
- const resumeDriveRes = await axios.get(resumeDrive, { headers });
+ const resumeDriveRes = yield axios.get(resumeDrive, { headers });
const resumeDriveHtml = resumeDriveRes.data;
const $resumeDrive = cheerio.load(resumeDriveHtml);
const resumeLink = $resumeDrive(".btn-success").attr("href");
@@ -85,12 +95,13 @@ const getStream = async ({ link: url, providerContext, }) => {
// CF workers type 1
try {
const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=1";
- const cfWorkersRes = await axios.get(cfWorkersLink, { headers });
+ 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) => {
- const link = el.attribs?.href;
+ var _a;
+ const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href;
if (link) {
ServerLinks.push({
server: "Cf Worker 1." + i,
@@ -106,12 +117,13 @@ const getStream = async ({ link: url, providerContext, }) => {
// CF workers type 2
try {
const cfWorkersLink = driveLink.replace("/file", "/wfile") + "?type=2";
- const cfWorkersRes = await axios.get(cfWorkersLink, { headers });
+ 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) => {
- const link = el.attribs?.href;
+ var _a;
+ const link = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a.href;
if (link) {
ServerLinks.push({
server: "Cf Worker 2." + i,
@@ -131,14 +143,14 @@ const getStream = async ({ link: url, providerContext, }) => {
console.log("getStream error", err);
return [];
}
-};
+});
exports.getStream = getStream;
-const isDriveLink = async (ddl) => {
+const isDriveLink = (ddl) => __awaiter(void 0, void 0, void 0, function* () {
if (ddl.includes("drive")) {
- const driveLeach = await fetch(ddl);
- const driveLeachData = await driveLeach.text();
+ const driveLeach = yield fetch(ddl);
+ const driveLeachData = yield driveLeach.text();
const pathMatch = driveLeachData.match(/window\.location\.replace\("([^"]+)"\)/);
- const path = pathMatch?.[1];
+ 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}`;
@@ -146,47 +158,49 @@ const isDriveLink = async (ddl) => {
else {
return ddl;
}
-};
-async function modExtractor(url, providerContext) {
- const { axios, cheerio } = providerContext;
- try {
- const wpHttp = url.split("sid=")[1];
- var bodyFormData0 = new FormData();
- bodyFormData0.append("_wp_http", wpHttp);
- const res = await fetch(url.split("?")[0], {
- method: "POST",
- body: bodyFormData0,
- });
- const data = await 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 = await fetch(formUrl, {
- method: "POST",
- body: bodyFormData,
- });
- const html2 = await res2.text();
- const link = html2.match(/setAttribute\("href",\s*"(.*?)"/)[1];
- console.log(link);
- const cookie = link.split("=")[1];
- console.log("cookie", cookie);
- const downloadLink = await axios.get(link, {
- headers: {
- Referer: formUrl,
- Cookie: `${cookie}=${wpHttp2}`,
- },
- });
- return downloadLink;
- }
- catch (err) {
- console.log("modGetStream error", err);
- }
+});
+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);
+ }
+ });
}
diff --git a/dist/vadapav/episodes.js b/dist/vadapav/episodes.js
index 6c448a3..94b66da 100644
--- a/dist/vadapav/episodes.js
+++ b/dist/vadapav/episodes.js
@@ -1,30 +1,42 @@
"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 = async function ({ url, providerContext, }) {
- const { axios, cheerio } = providerContext;
- try {
- const baseUrl = url?.split("/").slice(0, 3).join("/");
- const res = await axios.get(url);
- const html = res.data;
- let $ = cheerio.load(html);
- const episodeLinks = [];
- $('.file-entry:not(:contains("Parent Directory"))').map((i, element) => {
- const link = $(element).attr("href");
- if (link &&
- ($(element).text()?.includes(".mp4") ||
- $(element).text()?.includes(".mkv"))) {
- episodeLinks.push({
- title: $(element).text()?.match(/E\d+/)?.[0]?.replace("E", "Episode ") ||
- i + 1 + ". " + $(element).text()?.replace(".mkv", ""),
- link: baseUrl + link,
- });
- }
- });
- return episodeLinks;
- }
- catch (err) {
- return [];
- }
+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;
diff --git a/dist/vadapav/meta.js b/dist/vadapav/meta.js
index fbf10a6..37760d3 100644
--- a/dist/vadapav/meta.js
+++ b/dist/vadapav/meta.js
@@ -1,68 +1,78 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { axios, cheerio } = providerContext;
- const baseUrl = link?.split("/").slice(0, 3).join("/");
- const url = link;
- const res = await axios.get(url);
- const data = res.data;
- const $ = cheerio.load(data);
- const title = $(".directory")
- .children()
- .first()
- .text()
- .trim()
- ?.split("/")
- .pop()
- ?.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) => {
- const link = $(element).attr("href");
- if (link &&
- ($(element).text()?.includes(".mp4") ||
- $(element).text()?.includes(".mkv"))) {
- directLinks.push({
- title: i + 1 + ". " + $(element).text(),
- link: baseUrl + link,
- });
- }
- });
- if (directLinks.length > 0) {
- links.push({
- title: title + " DL",
- directLinks: directLinks,
+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,
+ };
}
- return {
- title: title,
- synopsis: "",
- image: "",
- imdbId: "",
- type: "movie",
- linkList: links,
- };
- }
- catch (err) {
- return {
- title: "",
- synopsis: "",
- image: "",
- imdbId: "",
- type: "movie",
- linkList: [],
- };
- }
+ catch (err) {
+ return {
+ title: "",
+ synopsis: "",
+ image: "",
+ imdbId: "",
+ type: "movie",
+ linkList: [],
+ };
+ }
+ });
};
exports.getMeta = getMeta;
diff --git a/dist/vadapav/posts.js b/dist/vadapav/posts.js
index 40be3b2..de84f1e 100644
--- a/dist/vadapav/posts.js
+++ b/dist/vadapav/posts.js
@@ -1,56 +1,72 @@
"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 = async function ({ filter, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("vadapav");
- if (page > 1) {
- return [];
- }
- const url = `${baseUrl + filter}`;
- return posts({ baseUrl, url, signal, axios, cheerio });
+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 = async function ({ searchQuery, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("vadapav");
- if (page > 1) {
- return [];
- }
- const url = `${baseUrl}/s/${searchQuery}`;
- return posts({ baseUrl, url, signal, axios, cheerio });
+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;
-async function posts({
-// baseUrl,
-url, signal, axios, cheerio, }) {
- try {
- const res = await axios.get(url, { signal });
- const data = res.data;
- const $ = cheerio.load(data);
- const catalog = [];
- $('.directory-entry:not(:contains("Parent Directory"))').map((i, element) => {
- const title = $(element).text();
- const link = $(element).attr("href");
- const imageTitle = title?.length > 30
- ? title?.slice(0, 30)?.replace(/\./g, " ")
- : 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 [];
- }
+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 [];
+ }
+ });
}
diff --git a/dist/vadapav/stream.js b/dist/vadapav/stream.js
index df2dc37..e111dc9 100644
--- a/dist/vadapav/stream.js
+++ b/dist/vadapav/stream.js
@@ -1,19 +1,30 @@
"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 = async function ({ link: url, // type, // providerContext,
- }) {
- try {
- const stream = [];
- stream.push({
- server: "vadapav",
- link: url,
- type: url?.split(".").pop() || "mkv",
- });
- return stream;
- }
- catch (err) {
- return [];
- }
+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;
diff --git a/dist/vega/episodes.js b/dist/vega/episodes.js
index 7d19743..e7dc86e 100644
--- a/dist/vega/episodes.js
+++ b/dist/vega/episodes.js
@@ -1,34 +1,45 @@
"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 = async function ({ url, providerContext, }) {
- const { axios, cheerio, commonHeaders: headers } = providerContext;
- console.log("getEpisodeLinks", url);
- try {
- const res = await 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().replaceAll("-", "").replaceAll(":", "");
- 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 [];
- }
+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().replaceAll("-", "").replaceAll(":", "");
+ 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;
diff --git a/dist/vega/meta.js b/dist/vega/meta.js
index 0abf761..e34b34e 100644
--- a/dist/vega/meta.js
+++ b/dist/vega/meta.js
@@ -1,4 +1,13 @@
"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 = {
@@ -17,88 +26,69 @@ const headers = {
"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 = async ({ link, providerContext, }) => {
+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 = await axios.get(url, {
- headers: {
- ...headers,
- Referer: baseUrl,
- },
+ 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?.find("h3");
+ const heading = infoContainer === null || infoContainer === void 0 ? void 0 : infoContainer.find("h3");
const imdbId =
//@ts-ignore
- heading?.next("p")?.find("a")?.[0]?.attribs?.href?.match(/tt\d+/g)?.[0] ||
- infoContainer.text().match(/tt\d+/g)?.[0] ||
+ ((_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 = heading?.next("p")?.text()?.includes("Series Name")
+ 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 = heading?.next("p")?.text()?.match(titleRegex)?.[1] || "";
+ 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
- infoContainer?.find("p")?.next("h3,h4")?.next("p")?.[0]?.children?.[0];
+ (_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 = infoContainer?.find("img[data-lazy-src]")?.attr("data-lazy-src") || "";
+ 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 = infoContainer?.first()?.find("hr");
- const list = hr?.nextUntil("hr");
+ 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?.text() || "";
- const quality = element?.text().match(/\d+p\b/)?.[0] || "";
+ 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
- ?.next()
- .find(".dwd-button")
- .text()
- .toLowerCase()
- .includes("download")
- ? element?.next().find(".dwd-button")?.parent()?.attr("href")
+ 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 = 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;']")
- ?.parent()
- ?.attr("href");
+ 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
- ?.next()
- .find(".dwd-button")
- .text()
- .toLowerCase()
- .includes("episode")
- ? element?.next().find(".dwd-button")?.parent()?.attr("href")
+ : (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")
: "") ||
- element
- ?.next()
- .find(".btn-outline[style='background:linear-gradient(135deg,#0ebac3,#09d261); color: white;']")
- ?.parent()
- ?.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,
@@ -133,5 +123,5 @@ const getMeta = async ({ link, providerContext, }) => {
linkList: [],
};
}
-};
+});
exports.getMeta = getMeta;
diff --git a/dist/vega/posts.js b/dist/vega/posts.js
index 12c5e13..6fd8591 100644
--- a/dist/vega/posts.js
+++ b/dist/vega/posts.js
@@ -1,4 +1,13 @@
"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 = {
@@ -17,63 +26,58 @@ const headers = {
"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 = async ({ filter, page, providerValue, signal, providerContext, }) => {
+const getPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ filter, page, providerValue, signal, providerContext, }) {
const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("Vega");
+ 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 = async ({ searchQuery, page, providerValue, signal, providerContext, }) => {
+const getSearchPosts = (_a) => __awaiter(void 0, [_a], void 0, function* ({ searchQuery, page, providerValue, signal, providerContext, }) {
const { getBaseUrl, axios, commonHeaders, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("Vega");
+ 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;
-async function posts(baseUrl, url, signal, headers = {}, axios, cheerio) {
- try {
- const urlRes = await axios.get(url, {
- headers: {
- ...headers,
- Referer: baseUrl,
- },
- signal,
- });
- const $ = cheerio.load(urlRes.data);
- const posts = [];
- $(".blog-items,.post-list")
- ?.children("article")
- ?.each((index, element) => {
- const post = {
- title: ($(element)
- ?.find("a")
- ?.attr("title")
- ?.replace("Download", "")
- ?.match(/^(.*?)\s*\((\d{4})\)|^(.*?)\s*\((Season \d+)\)/)?.[0] ||
- $(element)?.find("a")?.attr("title")?.replace("Download", "") ||
- $(element)?.find(".post-title").text()?.replace("Download", "") ||
- "").trim(),
- link: $(element)?.find("a")?.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 [];
- }
+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 [];
+ }
+ });
}
diff --git a/dist/vega/stream.js b/dist/vega/stream.js
index 42f0062..71a2787 100644
--- a/dist/vega/stream.js
+++ b/dist/vega/stream.js
@@ -1,4 +1,13 @@
"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 = {
@@ -17,49 +26,35 @@ const headers = {
"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",
};
-async function getStream({ link, type, signal, providerContext, }) {
- const { axios, cheerio, extractors } = providerContext;
- const { hubcloudExtracter } = extractors;
- try {
- const streamLinks = [];
- console.log("dotlink", link);
- if (type === "movie") {
- // vlink
- const dotlinkRes = await 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,
- },
- ];
- }
+const getEpisodes = function (_a) {
+ return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) {
+ const { axios, cheerio } = providerContext;
+ try {
+ const res = yield axios.get(url);
+ const html = res.data;
+ let $ = cheerio.load(html);
+ const episodeLinks = [];
+ $('strong:contains("Episode"),strong:contains("1080"),strong:contains("720"),strong:contains("480")').map((i, element) => {
+ 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;
diff --git a/dist/world4u/meta.js b/dist/world4u/meta.js
index 343c700..5e9467b 100644
--- a/dist/world4u/meta.js
+++ b/dist/world4u/meta.js
@@ -1,76 +1,89 @@
"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 = async function ({ link, providerContext, }) {
- try {
- const { axios, cheerio } = providerContext;
- const url = link;
- const res = await axios.get(url);
- const data = res.data;
- const $ = cheerio.load(data);
- const type = $(".entry-content")
- .text()
- .toLocaleLowerCase()
- .includes("movie name")
- ? "movie"
- : "series";
- const imdbId = $(".imdb_left").find("a").attr("href")?.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) => {
- const title = $(element).parent().parent().prev().text();
- const episodesLink = $(element).attr("href");
- const quality = title.match(/\b(480p|720p|1080p|2160p)\b/i)?.[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: [],
- };
- }
+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;
diff --git a/dist/world4u/posts.js b/dist/world4u/posts.js
index 21ae170..ff42fcf 100644
--- a/dist/world4u/posts.js
+++ b/dist/world4u/posts.js
@@ -1,48 +1,63 @@
"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 = async function ({ filter, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("w4u");
- const url = `${baseUrl + filter}/page/${page}/`;
- return posts({ url, signal, axios, cheerio });
+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 = async function ({ searchQuery, page,
-// providerValue,
-signal, providerContext, }) {
- const { getBaseUrl, axios, cheerio } = providerContext;
- const baseUrl = await getBaseUrl("w4u");
- const url = `${baseUrl}/page/${page}/?s=${searchQuery}`;
- return posts({ url, signal, axios, cheerio });
+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;
-async function posts({ url, signal, axios, cheerio, }) {
- try {
- const res = await 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 [];
- }
+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 [];
+ }
+ });
}
diff --git a/dist/world4u/stream.js b/dist/world4u/stream.js
index 907ad81..92e09b4 100644
--- a/dist/world4u/stream.js
+++ b/dist/world4u/stream.js
@@ -1,186 +1,198 @@
"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 = async function ({ link: url, type, providerContext, }) {
- 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 = await 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 = await 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 = await fetch(url, {
- method: "POST",
- headers: headers,
- body: fastilinksFormData,
- });
- const fastilinksHtml = await 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 = await 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 = await 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 = await photolinxRes2.json();
- console.log("photolinxData2", photolinxData2);
- const dwUrl = photolinxData2?.download_url;
- if (dwUrl) {
- const streamLinks = [
- {
- server: "Photolinx",
- link: dwUrl,
- type: "mkv",
- },
- ];
- return streamLinks;
- }
- }
- const res = await axios.get(url, { headers });
- const html = res.data;
- const streamLinks = [];
- let data = { download: "" };
+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 {
- const key = html.match(/formData\.append\('key',\s*'(\d+)'\);/)?.[1] || "";
- console.log("key", key);
- const formData = new FormData();
- formData.append("key", key);
- const streamRes = await fetch(url, {
- method: "POST",
- headers: headers,
- body: formData,
- });
- data = await 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 = await axios.head(mediafireUrl);
- const urlContentType = directUrl.headers["content-type"];
- console.log("mfcontentType", urlContentType);
- if (urlContentType && urlContentType.includes("video")) {
+ 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: mediafireUrl,
+ link: data.download,
type: "mkv",
});
return streamLinks;
}
else {
- const repairRes = await axios.get(mediafireUrl, {
+ const repairRes = yield axios.get(data.download, {
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) {
+ 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: downloadLInk,
+ link: repairDownloadLink,
type: "mkv",
});
}
- return streamLinks;
}
- }
- const requireRepairRes = await 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 = await 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 = await 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",
- });
- }
+ catch (err) {
+ console.log(err);
+ return [];
}
- return streamLinks;
- }
- catch (err) {
- console.log(err);
- return [];
- }
+ });
};
exports.getStream = getStream;