mirror of
https://gitlab.com/vyla-entertainment/sdk.git
synced 2026-11-13 21:57:27 -05:00
60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
import { fetchJson } from '../utils/helpers.js';
|
|
|
|
const BASE_URL = 'https://net79.cc';
|
|
|
|
export async function getStream(args) {
|
|
const { id, s, e } = args || {};
|
|
const isTv = s != null && e != null;
|
|
|
|
const url = isTv
|
|
? `${BASE_URL}/api/embed-tmdb/${id}?type=tv&se=${s}&ep=${e}`
|
|
: `${BASE_URL}/api/embed-tmdb/${id}?type=movie`;
|
|
|
|
const headers = {
|
|
Accept: 'application/json',
|
|
Referer: `${BASE_URL}/`,
|
|
Origin: BASE_URL,
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',
|
|
};
|
|
|
|
const res = await fetchJson(url, { headers }).catch(() => null);
|
|
if (!res || !res.ok || res.noSource) return null;
|
|
|
|
const allUrls = [];
|
|
|
|
if (Array.isArray(res.streams) && res.streams.length > 0) {
|
|
for (const stream of res.streams) {
|
|
if (stream?.url) {
|
|
allUrls.push({
|
|
url: stream.url,
|
|
quality: stream.resolution ? `${stream.resolution}p` : 'Auto',
|
|
server: `Net79 - ${stream.resolution ? `${stream.resolution}p` : 'MP4'}`,
|
|
type: stream.url.includes('.m3u8') ? 'hls' : 'mp4',
|
|
headers: {
|
|
Referer: `${BASE_URL}/`,
|
|
Origin: BASE_URL,
|
|
},
|
|
});
|
|
}
|
|
}
|
|
} else if (res.mp4) {
|
|
allUrls.push({
|
|
url: res.mp4,
|
|
quality: res.resolution ? `${res.resolution}p` : 'Auto',
|
|
server: `Net79 - ${res.resolution ? `${res.resolution}p` : 'MP4'}`,
|
|
type: res.mp4.includes('.m3u8') ? 'hls' : 'mp4',
|
|
headers: {
|
|
Referer: `${BASE_URL}/`,
|
|
Origin: BASE_URL,
|
|
},
|
|
});
|
|
}
|
|
|
|
if (!allUrls.length) return null;
|
|
|
|
return {
|
|
url: allUrls[0].url,
|
|
headers: allUrls[0].headers,
|
|
allUrls,
|
|
};
|
|
} |