Files
vega-providers/providers/katMovieFix/stream.ts
2025-09-29 15:48:13 +05:30

55 lines
1.5 KiB
TypeScript

import { ProviderContext, Stream } from "../types";
const headers = {
Accept:
"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Cache-Control": "no-store",
"Accept-Language": "en-US,en;q=0.9",
DNT: "1",
"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",
};
export async function getStream({
link,
type,
signal,
providerContext,
}: {
link: string;
type: string;
signal: AbortSignal;
providerContext: ProviderContext;
}) {
const { axios, cheerio, extractors } = providerContext;
const { hubcloudExtracter } = extractors;
try {
const streamLinks: Stream[] = [];
const response = await axios.get(link, { headers });
const $ = cheerio.load(response.data);
// --- PixelDrain link scrape ---
$("a[href*='pixeldrain.dev/api/file/']").each((_, el) => {
const href = $(el).attr("href")?.trim();
if (href) {
streamLinks.push({
server: "pixeldrain",
link: href,
type: "mp4",
});
}
});
// --- hubcloud extraction ---
const hubcloudStreams = await hubcloudExtracter(link, signal);
streamLinks.push(...hubcloudStreams);
return streamLinks;
} catch (error: any) {
console.log("getStream error: ", error);
return [];
}
}