This commit is contained in:
himanshu8443
2025-07-11 19:45:14 +05:30
parent 13f71510d5
commit 35f1e57a0b
139 changed files with 10578 additions and 139 deletions

View File

@@ -1 +1,18 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genres=exports.catalog=void 0,exports.catalog=[{title:"Home",filter:""},{title:"Web Series",filter:"/page-cat/42/Web-Series.html"},{title:"Hollywood",filter:"/page-cat/9/New-Hollywood-Hindi-Dubbed-Movie-2016-2025.html"}],exports.genres=[];
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.genres = exports.catalog = void 0;
exports.catalog = [
{
title: "Home",
filter: "",
},
{
title: "Web Series",
filter: "/page-cat/42/Web-Series.html",
},
{
title: "Hollywood",
filter: "/page-cat/9/New-Hollywood-Hindi-Dubbed-Movie-2016-2025.html",
},
];
exports.genres = [];

View File

@@ -1 +1,43 @@
"use strict";var __awaiter=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))(function(i,r){function a(t){try{d(o.next(t))}catch(t){r(t)}}function s(t){try{d(o.throw(t))}catch(t){r(t)}}function d(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(a,s)}d((o=o.apply(t,e||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEpisodes=void 0;const getEpisodes=function(t){return __awaiter(this,arguments,void 0,function*({url:t,providerContext:e}){try{const n=e.commonHeaders,{axios:o,cheerio:i}=e,r=(yield o.get(t,{headers:n})).data,a=i.load(r),s=[];return a(".dlink.dl").map((t,e)=>{var n,o;const i=null===(o=null===(n=a(e).find("a").text())||void 0===n?void 0:n.replace("Download",""))||void 0===o?void 0:o.trim(),r=a(e).find("a").attr("href");i&&r&&s.push({title:i,link:r})}),s}catch(t){return[]}})};exports.getEpisodes=getEpisodes;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEpisodes = void 0;
const getEpisodes = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ url, providerContext, }) {
try {
const headers = providerContext.commonHeaders;
const { axios, cheerio } = providerContext;
const res = yield axios.get(url, { headers });
const data = res.data;
const $ = cheerio.load(data);
const episodeLinks = [];
$(".dlink.dl").map((i, element) => {
var _a, _b;
const title = (_b = (_a = $(element)
.find("a")
.text()) === null || _a === void 0 ? void 0 : _a.replace("Download", "")) === null || _b === void 0 ? void 0 : _b.trim();
const link = $(element).find("a").attr("href");
if (title && link) {
episodeLinks.push({
title,
link,
});
}
});
return episodeLinks;
}
catch (err) {
console.error("cl episode links", err);
return [];
}
});
};
exports.getEpisodes = getEpisodes;

64
dist/filmyfly/meta.js vendored
View File

@@ -1 +1,63 @@
"use strict";var __awaiter=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(t){r(t)}}function s(t){try{c(n.throw(t))}catch(t){r(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(t){return __awaiter(this,arguments,void 0,function*({link:t,providerContext:e}){try{const{axios:i,cheerio:n,commonHeaders:o}=e,r=t,a=(yield i.get(r,{headers:o})).data,s=n.load(a),c=r.includes("tvshows")?"series":"movie",d="",f=s('.fname:contains("Name")').find(".colora").text().trim(),l=s(".ss").find("img").attr("src")||"",u=s('.fname:contains("Description")').find(".colorg").text().trim(),m=s('.fname:contains("Genre")').find(".colorb").text().split(",")||[],p="",h=[],g=s(".dlbtn").find("a").attr("href");return g&&h.push({title:f,episodesLink:g}),{title:f,tags:m,rating:p,synopsis:u,image:l,imdbId:d,type:c,linkList:h}}catch(t){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMeta = void 0;
const getMeta = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ link, providerContext, }) {
try {
const { axios, cheerio, commonHeaders: headers } = providerContext;
const url = link;
const res = yield axios.get(url, { headers });
const data = res.data;
const $ = cheerio.load(data);
const type = url.includes("tvshows") ? "series" : "movie";
const imdbId = "";
const title = $('.fname:contains("Name")').find(".colora").text().trim();
const image = $(".ss").find("img").attr("src") || "";
const synopsis = $('.fname:contains("Description")')
.find(".colorg")
.text()
.trim();
const tags = $('.fname:contains("Genre")').find(".colorb").text().split(",") || [];
const rating = "";
const links = [];
const downloadLink = $(".dlbtn").find("a").attr("href");
if (downloadLink) {
links.push({
title: title,
episodesLink: downloadLink,
});
}
return {
title,
tags,
rating,
synopsis,
image,
imdbId,
type,
linkList: links,
};
}
catch (err) {
console.error(err);
return {
title: "",
synopsis: "",
image: "",
imdbId: "",
type: "movie",
linkList: [],
};
}
});
};
exports.getMeta = getMeta;

View File

@@ -1 +1,61 @@
"use strict";var __awaiter=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))(function(s,o){function i(t){try{c(n.next(t))}catch(t){o(t)}}function a(t){try{c(n.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(i,a)}c((n=n.apply(t,e||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSearchPosts=exports.getPosts=void 0;const getPosts=function(t){return __awaiter(this,arguments,void 0,function*({filter:t,page:e,signal:r,providerContext:n}){const{getBaseUrl:s}=n,o=yield s("filmyfly");return posts({url:`${o+t}/${e}`,signal:r,baseUrl:o,providerContext:n})})};exports.getPosts=getPosts;const getSearchPosts=function(t){return __awaiter(this,arguments,void 0,function*({searchQuery:t,page:e,signal:r,providerContext:n}){const{getBaseUrl:s}=n,o=yield s("filmyfly");return e>1?[]:posts({url:`${o}/site-1.html?to-search=${t}`,signal:r,baseUrl:o,providerContext:n})})};function posts(t){return __awaiter(this,arguments,void 0,function*({url:t,signal:e,baseUrl:r,providerContext:n}){try{const{cheerio:s,commonHeaders:o}=n,i=yield fetch(t,{headers:o,signal:e}),a=yield i.text(),c=s.load(a),l=[];return c(".A2,.A10,.fl").map((t,e)=>{const n=c(e).find("a").eq(1).text()||c(e).find("b").text(),s=c(e).find("a").attr("href"),o=c(e).find("img").attr("src");n&&s&&o&&l.push({title:n,link:r+s,image:o})}),l}catch(t){return[]}})}exports.getSearchPosts=getSearchPosts;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSearchPosts = exports.getPosts = void 0;
const getPosts = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ filter, page, signal, providerContext, }) {
const { getBaseUrl } = providerContext;
const baseUrl = yield getBaseUrl("filmyfly");
const url = `${baseUrl + filter}/${page}`;
return posts({ url, signal, baseUrl, providerContext });
});
};
exports.getPosts = getPosts;
const getSearchPosts = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ searchQuery, page, signal, providerContext, }) {
const { getBaseUrl } = providerContext;
const baseUrl = yield getBaseUrl("filmyfly");
const url = `${baseUrl}/site-1.html?to-search=${searchQuery}`;
if (page > 1) {
return [];
}
return posts({ url, signal, baseUrl, providerContext });
});
};
exports.getSearchPosts = getSearchPosts;
function posts(_a) {
return __awaiter(this, arguments, void 0, function* ({ url, signal, baseUrl, providerContext, }) {
try {
const { cheerio, commonHeaders: headers } = providerContext;
const res = yield fetch(url, { headers, signal });
const data = yield res.text();
const $ = cheerio.load(data);
const catalog = [];
$(".A2,.A10,.fl").map((i, element) => {
const title = $(element).find("a").eq(1).text() || $(element).find("b").text();
const link = $(element).find("a").attr("href");
const image = $(element).find("img").attr("src");
if (title && link && image) {
catalog.push({
title: title,
link: baseUrl + link,
image: image,
});
}
});
return catalog;
}
catch (err) {
console.error("ff error ", err);
return [];
}
});
}

View File

@@ -1 +1,51 @@
"use strict";var __awaiter=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function a(t){try{s(i.next(t))}catch(t){o(t)}}function c(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(a,c)}s((i=i.apply(t,e||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(t){return __awaiter(this,arguments,void 0,function*({link:t,signal:e,providerContext:n}){try{const i=(yield n.axios.get(t,{signal:e})).data,r=n.cheerio.load(i),o=[],a=r(".button2,.button1,.button3,.button4,.button").toArray().map(t=>__awaiter(this,void 0,void 0,function*(){const i=r(t).text();let a=r(t).attr("href");if(i.includes("GDFLIX")&&a){const t=yield n.extractors.gdFlixExtracter(a,e);o.push(...t)}const c=o.find(t=>t.link===a);!i||!a||i.includes("Watch")||i.includes("Login")||i.includes("GoFile")||c||o.push({server:i,link:a,type:"mkv"})}));return yield Promise.all(a),o}catch(t){return[]}})};exports.getStream=getStream;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStream = void 0;
const getStream = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ link, signal, providerContext, }) {
try {
const res = yield providerContext.axios.get(link, { signal });
const data = res.data;
const $ = providerContext.cheerio.load(data);
const streams = [];
const elements = $(".button2,.button1,.button3,.button4,.button").toArray();
const promises = elements.map((element) => __awaiter(this, void 0, void 0, function* () {
const title = $(element).text();
let link = $(element).attr("href");
if (title.includes("GDFLIX") && link) {
const gdLinks = yield providerContext.extractors.gdFlixExtracter(link, signal);
streams.push(...gdLinks);
}
const alreadyAdded = streams.find((s) => s.link === link);
if (title &&
link &&
!title.includes("Watch") &&
!title.includes("Login") &&
!title.includes("GoFile") &&
!alreadyAdded) {
streams.push({
server: title,
link: link,
type: "mkv",
});
}
}));
yield Promise.all(promises);
return streams;
}
catch (err) {
console.error(err);
return [];
}
});
};
exports.getStream = getStream;