febbox use actual qualities
This commit is contained in:
parent
2f289d93d0
commit
7feaf9256f
|
@ -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<string, StreamFile> = {};
|
||||
|
||||
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,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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',
|
||||
|
|
Loading…
Reference in New Issue