This commit is contained in:
himanshu8443
2025-06-16 22:35:39 +05:30
parent 4c95efcb5b
commit a21dad9698
123 changed files with 8099 additions and 159 deletions

18
dist/netflixMirror/catalog.js vendored Normal file
View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.genres = exports.catalog = void 0;
exports.catalog = [
{
title: "Home",
filter: "/mobile/home?app=1",
},
{
title: "Series",
filter: "/mobile/series",
},
{
title: "Movies",
filter: "/mobile/movies",
},
];
exports.genres = [];

39
dist/netflixMirror/episodes.js vendored Normal file
View File

@@ -0,0 +1,39 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEpisodes = void 0;
const getEpisodes = async function ({ url: link, providerContext, }) {
const { getBaseUrl, axios } = providerContext;
let providerValue = "netflixMirror";
try {
const baseUrl = await getBaseUrl("nfMirror");
const url = `${baseUrl}${providerValue === "netflixMirror"
? "/episodes.php?s="
: "/pv/episodes.php?s="}` +
link +
"&t=" +
Math.round(new Date().getTime() / 1000);
console.log("nfEpisodesUrl", url);
const res = await axios.get(url, {
headers: {
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
},
});
const data = res.data;
console.log("nfEpisodes", data);
const episodeList = [];
data?.episodes?.map((episode) => {
episodeList.push({
title: "Episode " + episode?.ep.replace("E", ""),
link: episode?.id,
});
});
return episodeList;
}
catch (err) {
console.error("nfGetEpisodes error", err);
return [];
}
};
exports.getEpisodes = getEpisodes;

57
dist/netflixMirror/meta.js vendored Normal file
View File

@@ -0,0 +1,57 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMeta = void 0;
const getMeta = async function ({ link, }) {
let providerValue = "netflixMirror";
try {
const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false";
const url = `https://netmirror.8man.me/api/net-proxy?${isPrime}&url=${encodeURIComponent(link)}`;
console.log("nfifo", url);
const res = await fetch(url, {
credentials: "omit",
});
const data = await res.json();
const id = link.split("id=")[1]?.split("&")[0];
const meta = {
title: data.title,
synopsis: data.desc,
image: `https://img.nfmirrorcdn.top/poster/h/${id}.jpg`,
cast: data?.short_cast?.split(","),
tags: [data?.year, data?.hdsd, ...data?.thismovieis?.split(",")],
imdbId: "",
type: "series",
};
console.log("nfinfo", meta);
const linkList = [];
if (data?.season?.length > 0) {
data.season.map((season) => {
linkList.push({
title: "Season " + season?.s,
episodesLink: season?.id,
});
});
}
else {
linkList.push({
title: meta.title,
directLinks: [{ link: id, title: "Movie", type: "movie" }],
});
}
return {
...meta,
linkList: linkList,
};
}
catch (err) {
console.error(err);
return {
title: "",
synopsis: "",
image: "",
imdbId: "",
type: "",
linkList: [],
};
}
};
exports.getMeta = getMeta;

94
dist/netflixMirror/posts.js vendored Normal file
View File

@@ -0,0 +1,94 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSearchPosts = exports.getPosts = void 0;
const getPosts = async function ({ filter, page, providerValue, signal, providerContext, }) {
try {
const { getBaseUrl, cheerio } = providerContext;
const baseUrl = await getBaseUrl("nfMirror");
const catalog = [];
if (page > 1) {
return [];
}
// console.log(filter);
const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false";
const url = `https://netmirror.8man.me/api/net-proxy?${isPrime}&url=${baseUrl + filter}`;
const res = await fetch(url, {
signal: signal,
method: "GET",
credentials: "omit",
});
const data = await res.text();
// console.log('nfPost', data);
const $ = cheerio.load(data);
$("a.post-data").map((i, element) => {
const title = "";
const id = $(element).attr("data-post");
// console.log('id', id);
const image = $(element).find("img").attr("data-src") || "";
if (id) {
catalog.push({
title: title,
link: baseUrl +
`${providerValue === "netflixMirror"
? "/post.php?id="
: "/pv/post.php?id="}` +
id +
"&t=" +
Math.round(new Date().getTime() / 1000),
image: image,
});
}
});
// console.log(catalog);
return catalog;
}
catch (err) {
console.error("nf error ", err);
return [];
}
};
exports.getPosts = getPosts;
const getSearchPosts = async function ({ searchQuery, page, providerValue, signal, providerContext, }) {
const { getBaseUrl } = providerContext;
try {
if (page > 1) {
return [];
}
const catalog = [];
const baseUrl = await getBaseUrl("nfMirror");
const isPrime = providerValue === "primeMirror" ? "isPrime=true" : "isPrime=false";
const url = `https://netmirror.8man.me/api/net-proxy?${isPrime}&url=${baseUrl}${providerValue === "netflixMirror" ? "" : "/pv"}/search.php?s=${encodeURI(searchQuery)}`;
const res = await fetch(url, {
signal: signal,
method: "GET",
credentials: "omit",
});
const data = await res.json();
data?.searchResult?.forEach((result) => {
const title = result?.t || "";
const id = result?.id;
const image = providerValue === "netflixMirror"
? `https://imgcdn.media/poster/v/${id}.jpg`
: "";
if (id) {
catalog.push({
title: title,
link: baseUrl +
`${providerValue === "netflixMirror"
? "/mobile/post.php?id="
: "/mobile/pv/post.php?id="}` +
id +
"&t=" +
Math.round(new Date().getTime() / 1000),
image: image,
});
}
});
return catalog;
}
catch (err) {
console.error("Search error:", err);
return [];
}
};
exports.getSearchPosts = getSearchPosts;

39
dist/netflixMirror/stream.js vendored Normal file
View File

@@ -0,0 +1,39 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStream = void 0;
const getStream = async ({ link: id, providerContext, }) => {
const { getBaseUrl } = providerContext;
try {
let providerValue = "netflixMirror";
const baseUrl = await getBaseUrl("nfMirror");
const url = `https://netmirror.8man.me/api/net-proxy?url=${baseUrl}${providerValue === "netflixMirror"
? "/mobile/playlist.php?id="
: "/pv/playlist.php?id="}${id}&t=${Math.round(new Date().getTime() / 1000)}`;
console.log("nfGetStream, url:", url);
const res = await fetch(url, {
credentials: "omit",
});
const resJson = await res.json();
const data = resJson?.[0];
const streamLinks = [];
data?.sources.forEach((source) => {
streamLinks.push({
server: source.label,
link: (baseUrl + source.file)?.replace(":su", ":ni"),
type: "m3u8",
headers: {
Referer: baseUrl,
origin: baseUrl,
Cookie: "hd=on",
},
});
});
console.log(streamLinks);
return streamLinks;
}
catch (err) {
console.error(err);
return [];
}
};
exports.getStream = getStream;