mirror of
https://github.com/p-stream/providers.git
synced 2026-03-11 17:55:36 +00:00
add xprime marant
This commit is contained in:
parent
f64582f5b6
commit
5a5c3e1bcf
4 changed files with 46 additions and 5 deletions
|
|
@ -74,7 +74,7 @@ import { warezcdnembedHlsScraper } from './embeds/warezcdn/hls';
|
|||
import { warezcdnembedMp4Scraper } from './embeds/warezcdn/mp4';
|
||||
import { warezPlayerScraper } from './embeds/warezcdn/warezplayer';
|
||||
import { webtor1080Scraper, webtor480Scraper, webtor4kScraper, webtor720Scraper } from './embeds/webtor';
|
||||
import { xprimeApolloEmbed, xprimeFoxEmbed, xprimeStreamboxEmbed } from './embeds/xprime';
|
||||
import { xprimeApolloEmbed, xprimeFoxEmbed, xprimeMarantEmbed, xprimeStreamboxEmbed } from './embeds/xprime';
|
||||
import { EightStreamScraper } from './sources/8stream';
|
||||
import { coitusScraper } from './sources/coitus';
|
||||
import { ConsumetScraper } from './sources/consumet';
|
||||
|
|
@ -185,6 +185,7 @@ export function gatherAllEmbeds(): Array<Embed> {
|
|||
xprimeFoxEmbed,
|
||||
xprimeApolloEmbed,
|
||||
xprimeStreamboxEmbed,
|
||||
xprimeMarantEmbed,
|
||||
ConsumetVidCloudScraper,
|
||||
ConsumetStreamSBScraper,
|
||||
ConsumetVidStreamingScraper,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import { NotFoundError } from '@/utils/errors';
|
|||
const foxBaseUrl = 'https://xprime.tv/foxtemp';
|
||||
const apolloBaseUrl = 'https://kendrickl-3amar.site';
|
||||
const showboxBaseUrl = 'https://xprime.tv/primebox';
|
||||
const marantBaseUrl = 'https://backend.xprime.tv/marant';
|
||||
|
||||
const languageMap: Record<string, string> = {
|
||||
'chinese - hong kong': 'zh',
|
||||
|
|
@ -41,7 +42,7 @@ const languageMap: Record<string, string> = {
|
|||
export const xprimeFoxEmbed = makeEmbed({
|
||||
id: 'xprime-fox',
|
||||
name: 'Fox',
|
||||
rank: 240,
|
||||
rank: 241,
|
||||
async scrape(ctx): Promise<EmbedOutput> {
|
||||
const query = JSON.parse(ctx.url);
|
||||
const params = new URLSearchParams({
|
||||
|
|
@ -85,7 +86,7 @@ export const xprimeFoxEmbed = makeEmbed({
|
|||
export const xprimeApolloEmbed = makeEmbed({
|
||||
id: 'xprime-apollo',
|
||||
name: 'Appolo',
|
||||
rank: 242,
|
||||
rank: 243,
|
||||
async scrape(ctx): Promise<EmbedOutput> {
|
||||
const query = JSON.parse(ctx.url);
|
||||
let url = `${apolloBaseUrl}/${query.tmdbId}`;
|
||||
|
|
@ -134,7 +135,7 @@ export const xprimeApolloEmbed = makeEmbed({
|
|||
export const xprimeStreamboxEmbed = makeEmbed({
|
||||
id: 'xprime-streambox',
|
||||
name: 'Streambox',
|
||||
rank: 241,
|
||||
rank: 242,
|
||||
async scrape(ctx): Promise<EmbedOutput> {
|
||||
const query = JSON.parse(ctx.url);
|
||||
let url = showboxBaseUrl;
|
||||
|
|
@ -197,3 +198,37 @@ export const xprimeStreamboxEmbed = makeEmbed({
|
|||
};
|
||||
},
|
||||
});
|
||||
|
||||
export const xprimeMarantEmbed = makeEmbed({
|
||||
id: 'xprime-marant',
|
||||
name: 'Marant',
|
||||
rank: 240,
|
||||
async scrape(ctx): Promise<EmbedOutput> {
|
||||
const query = JSON.parse(ctx.url);
|
||||
let url = `${marantBaseUrl}?id=${query.tmdbId}`;
|
||||
|
||||
if (query.type === 'show') {
|
||||
url += `&season=${query.season}&episode=${query.episode}`;
|
||||
}
|
||||
|
||||
const data = await await ctx.fetcher(url);
|
||||
|
||||
if (!data) throw new NotFoundError('No response received');
|
||||
if (data.error) throw new NotFoundError(data.error);
|
||||
if (!data.url) throw new NotFoundError('No stream URL found in response');
|
||||
|
||||
ctx.progress(90);
|
||||
|
||||
return {
|
||||
stream: [
|
||||
{
|
||||
type: 'hls',
|
||||
id: 'primary',
|
||||
playlist: data.url,
|
||||
flags: [flags.CORS_ALLOWED],
|
||||
captions: [],
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
|||
embedId: 'xprime-streambox',
|
||||
url: JSON.stringify(query),
|
||||
},
|
||||
{
|
||||
embedId: 'xprime-marant',
|
||||
url: JSON.stringify(query),
|
||||
},
|
||||
];
|
||||
|
||||
return { embeds };
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import {
|
|||
hianimeHd2SubEmbed,
|
||||
} from '@/providers/embeds/hianime';
|
||||
import { warezcdnembedMp4Scraper } from '@/providers/embeds/warezcdn/mp4';
|
||||
import { xprimeApolloEmbed, xprimeFoxEmbed, xprimeStreamboxEmbed } from '@/providers/embeds/xprime';
|
||||
import { xprimeApolloEmbed, xprimeFoxEmbed, xprimeMarantEmbed, xprimeStreamboxEmbed } from '@/providers/embeds/xprime';
|
||||
import { embedsuScraper } from '@/providers/sources/embedsu';
|
||||
import { uiraliveScraper } from '@/providers/sources/uiralive';
|
||||
import { Stream } from '@/providers/streams';
|
||||
|
|
@ -35,6 +35,7 @@ const SKIP_VALIDATION_CHECK_IDS = [
|
|||
xprimeFoxEmbed.id,
|
||||
xprimeApolloEmbed.id,
|
||||
xprimeStreamboxEmbed.id,
|
||||
xprimeMarantEmbed.id,
|
||||
ConsumetVidCloudScraper.id,
|
||||
ConsumetStreamSBScraper.id,
|
||||
ConsumetVidStreamingScraper.id,
|
||||
|
|
|
|||
Loading…
Reference in a new issue