From c8d803934d223733da3767a558cb8c30b365b4cd Mon Sep 17 00:00:00 2001 From: Pas <74743263+Pasithea0@users.noreply.github.com> Date: Mon, 17 Mar 2025 15:34:31 -0700 Subject: [PATCH] Update streambox.ts --- src/providers/sources/streambox.ts | 92 +++++++++++++++++------------- 1 file changed, 51 insertions(+), 41 deletions(-) diff --git a/src/providers/sources/streambox.ts b/src/providers/sources/streambox.ts index 0f4e8a9..d8cbd99 100644 --- a/src/providers/sources/streambox.ts +++ b/src/providers/sources/streambox.ts @@ -17,16 +17,10 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis throw new NotFoundError('Failed to fetch StreamBox data'); } + console.log(apiRes); + const data = await apiRes; - if (data.provider !== 'MovieBox') { - throw new NotFoundError('Not a MovieBox provider response'); - } - - if (!data.url || data.url.length === 0) { - throw new NotFoundError('No MovieBox streams found'); - } - const streams: Record = {}; data.url.forEach((stream: any) => { streams[stream.resulation] = stream.link; @@ -39,46 +33,62 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis type: 'srt', })); + if (data.provider === 'MovieBox') { + return { + embeds: [], + stream: [ + { + id: 'primary', + captions, + qualities: { + ...(streams['1080'] && { + 1080: { + type: 'mp4', + url: streams['1080'], + }, + }), + ...(streams['720'] && { + 720: { + type: 'mp4', + url: streams['720'], + }, + }), + ...(streams['480'] && { + 480: { + type: 'mp4', + url: streams['480'], + }, + }), + ...(streams['360'] && { + 360: { + type: 'mp4', + url: streams['360'], + }, + }), + }, + type: 'file', + flags: [flags.CORS_ALLOWED], + preferredHeaders: { + Referer: data.headers?.Referer, + }, + }, + ], + }; + } + + const hlsStream = data.url.find((stream: any) => stream.type === 'hls') || data.url[0]; return { embeds: [], stream: [ { id: 'primary', captions, - qualities: { - ...(streams['1080'] && { - 1080: { - type: 'mp4', - url: streams['1080'], - }, - }), - ...(streams['720'] && { - 720: { - type: 'mp4', - url: streams['720'], - }, - }), - ...(streams['480'] && { - 480: { - type: 'mp4', - url: streams['480'], - }, - }), - ...(streams['360'] && { - 360: { - type: 'mp4', - url: streams['360'], - }, - }), - }, - type: 'file', + playlist: hlsStream.link, + type: 'hls', flags: [flags.CORS_ALLOWED], - ...(data.proxy && { - preferredHeaders: { - Referer: 'https://h5.aoneroom.com', - }, - proxyDepth: 1, - }), + preferredHeaders: { + Referer: data.headers?.Referer, + }, }, ], };