This commit is contained in:
himanshu8443
2025-06-18 11:42:29 +05:30
parent 490a4bd71d
commit 9621597865
100 changed files with 6898 additions and 5740 deletions

110
dist/flixhq/meta.js vendored
View File

@@ -1,56 +1,64 @@
"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: id, providerContext, }) {
try {
const { axios, getBaseUrl } = providerContext;
const baseUrl = await getBaseUrl("consumet");
const url = `${baseUrl}/movies/flixhq/info?id=` + id;
const res = await axios.get(url);
const data = res.data;
const meta = {
title: data.title,
synopsis: data.description.replace(/<[^>]*>?/gm, "").trim(),
image: data.cover,
cast: data.casts,
rating: data.rating,
tags: [data?.type, data?.duration, data.releaseDate.split("-")[0]],
imdbId: "",
type: data.episodes.length > 1 ? "series" : "movie",
};
const links = [];
data.episodes.forEach((episode) => {
const title = episode?.number
? "Season-" + episode?.season + " Ep-" + episode.number
: episode.title;
const link = episode.id + "*" + data.id;
if (link && title) {
links.push({
title,
link,
});
}
});
return {
...meta,
linkList: [
{
title: meta.title,
directLinks: 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: id, providerContext, }) {
try {
const { axios, getBaseUrl } = providerContext;
const baseUrl = yield getBaseUrl("consumet");
const url = `${baseUrl}/movies/flixhq/info?id=` + id;
const res = yield axios.get(url);
const data = res.data;
const meta = {
title: data.title,
synopsis: data.description.replace(/<[^>]*>?/gm, "").trim(),
image: data.cover,
cast: data.casts,
rating: data.rating,
tags: [data === null || data === void 0 ? void 0 : data.type, data === null || data === void 0 ? void 0 : data.duration, data.releaseDate.split("-")[0]],
imdbId: "",
type: data.episodes.length > 1 ? "series" : "movie",
};
const links = [];
data.episodes.forEach((episode) => {
const title = (episode === null || episode === void 0 ? void 0 : episode.number)
? "Season-" + (episode === null || episode === void 0 ? void 0 : episode.season) + " Ep-" + episode.number
: episode.title;
const link = episode.id + "*" + data.id;
if (link && title) {
links.push({
title,
link,
});
}
});
return Object.assign(Object.assign({}, meta), { linkList: [
{
title: meta.title,
directLinks: links,
},
] });
}
catch (err) {
console.error(err);
return {
title: "",
synopsis: "",
image: "",
imdbId: "",
type: "movie",
linkList: [],
};
}
});
};
exports.getMeta = getMeta;

88
dist/flixhq/posts.js vendored
View File

@@ -1,44 +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.getSearchPosts = exports.getPosts = void 0;
const getPosts = async function ({ filter, signal, providerContext, }) {
const { getBaseUrl } = providerContext;
const urlRes = await getBaseUrl("consumet");
const baseUrl = urlRes + "/movies/flixhq";
const url = `${baseUrl + filter}`;
return posts({ url, signal, providerContext });
const getPosts = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ filter, signal, providerContext, }) {
const { getBaseUrl } = providerContext;
const urlRes = yield getBaseUrl("consumet");
const baseUrl = urlRes + "/movies/flixhq";
const url = `${baseUrl + filter}`;
return posts({ url, signal, providerContext });
});
};
exports.getPosts = getPosts;
const getSearchPosts = async function ({ searchQuery, page, signal, providerContext, }) {
const { getBaseUrl } = providerContext;
const urlRes = await getBaseUrl("consumet");
const baseUrl = urlRes + "/movies/flixhq";
const url = `${baseUrl}/${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 urlRes = yield getBaseUrl("consumet");
const baseUrl = urlRes + "/movies/flixhq";
const url = `${baseUrl}/${searchQuery}?page=${page}`;
return posts({ url, signal, providerContext });
});
};
exports.getSearchPosts = getSearchPosts;
async function posts({ url, signal, providerContext, }) {
try {
const { axios } = providerContext;
const res = await axios.get(url, { signal });
const data = res.data?.results || res.data;
const catalog = [];
data?.map((element) => {
const title = element.title;
const link = element.id;
const image = element.image;
if (title && link && image) {
catalog.push({
title: title,
link: link,
image: image,
});
}
});
return catalog;
}
catch (err) {
console.error("flixhq error ", err);
return [];
}
function posts(_a) {
return __awaiter(this, arguments, void 0, function* ({ url, signal, providerContext, }) {
var _b;
try {
const { axios } = providerContext;
const res = yield axios.get(url, { signal });
const data = ((_b = res.data) === null || _b === void 0 ? void 0 : _b.results) || res.data;
const catalog = [];
data === null || data === void 0 ? void 0 : data.map((element) => {
const title = element.title;
const link = element.id;
const image = element.image;
if (title && link && image) {
catalog.push({
title: title,
link: link,
image: image,
});
}
});
return catalog;
}
catch (err) {
console.error("flixhq error ", err);
return [];
}
});
}

102
dist/flixhq/stream.js vendored
View File

@@ -1,55 +1,69 @@
"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 types_1 = require("../types");
const getStream = async function ({ link: id, providerContext, }) {
try {
const { getBaseUrl } = providerContext;
const episodeId = id.split("*")[0];
const mediaId = id.split("*")[1];
const baseUrl = await getBaseUrl("consumet");
const serverUrl = `${baseUrl}/movies/flixhq/servers?episodeId=${episodeId}&mediaId=${mediaId}`;
const res = await fetch(serverUrl);
const servers = await res.json();
const streamLinks = [];
for (const server of servers) {
const streamUrl = `${baseUrl}/movies/flixhq/watch?server=` +
server.name +
"&episodeId=" +
episodeId +
"&mediaId=" +
mediaId;
const streamRes = await fetch(streamUrl);
const streamData = await streamRes.json();
const subtitles = [];
if (streamData?.sources?.length > 0) {
if (streamData.subtitles) {
streamData.subtitles.forEach((sub) => {
subtitles.push({
language: sub?.lang?.slice(0, 2),
uri: sub?.url,
type: types_1.TextTrackType.VTT,
title: sub?.lang,
const getStream = function (_a) {
return __awaiter(this, arguments, void 0, function* ({ link: id, providerContext, }) {
var _b;
try {
const { getBaseUrl } = providerContext;
const episodeId = id.split("*")[0];
const mediaId = id.split("*")[1];
const baseUrl = yield getBaseUrl("consumet");
const serverUrl = `${baseUrl}/movies/flixhq/servers?episodeId=${episodeId}&mediaId=${mediaId}`;
const res = yield fetch(serverUrl);
const servers = yield res.json();
const streamLinks = [];
for (const server of servers) {
const streamUrl = `${baseUrl}/movies/flixhq/watch?server=` +
server.name +
"&episodeId=" +
episodeId +
"&mediaId=" +
mediaId;
const streamRes = yield fetch(streamUrl);
const streamData = yield streamRes.json();
const subtitles = [];
if (((_b = streamData === null || streamData === void 0 ? void 0 : streamData.sources) === null || _b === void 0 ? void 0 : _b.length) > 0) {
if (streamData.subtitles) {
streamData.subtitles.forEach((sub) => {
var _a;
subtitles.push({
language: (_a = sub === null || sub === void 0 ? void 0 : sub.lang) === null || _a === void 0 ? void 0 : _a.slice(0, 2),
uri: sub === null || sub === void 0 ? void 0 : sub.url,
type: types_1.TextTrackType.VTT,
title: sub === null || sub === void 0 ? void 0 : sub.lang,
});
});
}
streamData.sources.forEach((source) => {
var _a;
streamLinks.push({
server: (server === null || server === void 0 ? void 0 : server.name) +
"-" +
((_a = source === null || source === void 0 ? void 0 : source.quality) === null || _a === void 0 ? void 0 : _a.replace("auto", "MultiQuality")),
link: source.url,
type: source.isM3U8 ? "m3u8" : "mp4",
subtitles: subtitles,
});
});
}
streamData.sources.forEach((source) => {
streamLinks.push({
server: server?.name +
"-" +
source?.quality?.replace("auto", "MultiQuality"),
link: source.url,
type: source.isM3U8 ? "m3u8" : "mp4",
subtitles: subtitles,
});
});
}
return streamLinks;
}
return streamLinks;
}
catch (err) {
console.error(err);
return [];
}
catch (err) {
console.error(err);
return [];
}
});
};
exports.getStream = getStream;