diff --git a/src/providers/embeds/febBox.ts b/src/providers/embeds/febBox.ts index ce7e5e9..daea6fd 100644 --- a/src/providers/embeds/febBox.ts +++ b/src/providers/embeds/febBox.ts @@ -1,9 +1,12 @@ import { flags } from '@/main/targets'; import { makeEmbed } from '@/providers/base'; +import { StreamFile } from '@/providers/streams'; import { NotFoundError } from '@/utils/errors'; const febBoxBase = `https://www.febbox.com`; +const allowedQualities = ['360', '480', '720', '1080']; + export const febBoxScraper = makeEmbed({ id: 'febBox', name: 'FebBox', @@ -40,18 +43,22 @@ export const febBoxScraper = makeEmbed({ const sourcesMatch = player?.match(/var sources = (\[[^\]]+\]);/); const qualities = sourcesMatch ? JSON.parse(sourcesMatch[0].replace('var sources = ', '').replace(';', '')) : null; - if (!qualities) throw new NotFoundError('no result found'); + const embedQualities: Record = {}; + + qualities.forEach((quality: { file: string; label: string }) => { + if (allowedQualities.includes(quality.label.replace('P', ''))) { + embedQualities[quality.label.replace('p', '')] = { + type: 'mp4', + url: quality.file, + }; + } + }); return { stream: { type: 'file', flags: [flags.NO_CORS], - qualities: { - '360': { - type: 'mp4', - url: qualities[0].file, - }, - }, + qualities: embedQualities, }, }; }, diff --git a/src/providers/sources/showbox/index.ts b/src/providers/sources/showbox/index.ts index ed8a82c..81fe798 100644 --- a/src/providers/sources/showbox/index.ts +++ b/src/providers/sources/showbox/index.ts @@ -1,6 +1,3 @@ -// https://www.febbox.com/file/file_share_list?share_key=${id}&pwd= > data.file_list[0].fid -// https://www.febbox.com/file/player FORM: {hare_key} > "parse js" - import { load } from 'cheerio'; import { flags } from '@/main/targets'; diff --git a/src/providers/sources/superstream/getStreamQualities.ts b/src/providers/sources/superstream/getStreamQualities.ts index 6fe55a3..8b04f2d 100644 --- a/src/providers/sources/superstream/getStreamQualities.ts +++ b/src/providers/sources/superstream/getStreamQualities.ts @@ -3,7 +3,7 @@ import { ScrapeContext } from '@/utils/context'; import { sendRequest } from './sendRequest'; -import { allowedQualities } from '.'; +const allowedQualities = ['360', '480', '720', '1080']; export async function getStreamQualities(ctx: ScrapeContext, apiQuery: object) { const mediaRes: { list: { path: string; real_quality: string }[] } = (await sendRequest(ctx, apiQuery)).data; diff --git a/src/providers/sources/superstream/index.ts b/src/providers/sources/superstream/index.ts index 45f64b2..78972ea 100644 --- a/src/providers/sources/superstream/index.ts +++ b/src/providers/sources/superstream/index.ts @@ -6,8 +6,6 @@ import { NotFoundError } from '@/utils/errors'; import { getStreamQualities } from './getStreamQualities'; import { sendRequest } from './sendRequest'; -export const allowedQualities = ['360', '480', '720', '1080']; - export const superStreamScraper = makeSourcerer({ id: 'superstream', name: 'Superstream',