add xprime primenet

This commit is contained in:
Pas 2025-04-27 11:38:24 -06:00
parent 84476084ca
commit e05d259b02
4 changed files with 58 additions and 5 deletions

View file

@ -59,7 +59,13 @@ 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, xprimeMarantEmbed, xprimeStreamboxEmbed } from './embeds/xprime';
import {
xprimeApolloEmbed,
xprimeFoxEmbed,
xprimeMarantEmbed,
xprimePrimenetEmbed,
xprimeStreamboxEmbed,
} from './embeds/xprime';
import { EightStreamScraper } from './sources/8stream';
import { coitusScraper } from './sources/coitus';
import { ConsumetScraper } from './sources/consumet';
@ -158,6 +164,7 @@ export function gatherAllEmbeds(): Array<Embed> {
xprimeApolloEmbed,
xprimeStreamboxEmbed,
xprimeMarantEmbed,
xprimePrimenetEmbed,
ConsumetVidCloudScraper,
ConsumetStreamSBScraper,
ConsumetVidStreamingScraper,

View file

@ -7,6 +7,7 @@ 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 primenetBaseUrl = 'https://backend.xprime.tv/primenet';
const languageMap: Record<string, string> = {
'chinese - hong kong': 'zh',
@ -86,7 +87,7 @@ export const xprimeFoxEmbed = makeEmbed({
export const xprimeApolloEmbed = makeEmbed({
id: 'xprime-apollo',
name: 'Appolo',
rank: 243,
rank: 244,
async scrape(ctx): Promise<EmbedOutput> {
const query = JSON.parse(ctx.url);
let url = `${apolloBaseUrl}/${query.tmdbId}`;
@ -135,7 +136,7 @@ export const xprimeApolloEmbed = makeEmbed({
export const xprimeStreamboxEmbed = makeEmbed({
id: 'xprime-streambox',
name: 'Streambox',
rank: 242,
rank: 243,
async scrape(ctx): Promise<EmbedOutput> {
const query = JSON.parse(ctx.url);
let url = showboxBaseUrl;
@ -211,7 +212,41 @@ export const xprimeMarantEmbed = makeEmbed({
url += `&season=${query.season}&episode=${query.episode}`;
}
const data = await await ctx.fetcher(url);
const data = 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: [],
},
],
};
},
});
export const xprimePrimenetEmbed = makeEmbed({
id: 'xprime-primenet',
name: 'Primenet',
rank: 242,
async scrape(ctx): Promise<EmbedOutput> {
const query = JSON.parse(ctx.url);
let url = `${primenetBaseUrl}?id=${query.tmdbId}`;
if (query.type === 'show') {
url += `&season=${query.season}&episode=${query.episode}`;
}
const data = await ctx.fetcher(url);
if (!data) throw new NotFoundError('No response received');
if (data.error) throw new NotFoundError(data.error);

View file

@ -30,6 +30,10 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
embedId: 'xprime-marant',
url: JSON.stringify(query),
},
{
embedId: 'xprime-primenet',
url: JSON.stringify(query),
},
];
return { embeds };

View file

@ -14,7 +14,13 @@ import {
hianimeHd2SubEmbed,
} from '@/providers/embeds/hianime';
import { warezcdnembedMp4Scraper } from '@/providers/embeds/warezcdn/mp4';
import { xprimeApolloEmbed, xprimeFoxEmbed, xprimeMarantEmbed, xprimeStreamboxEmbed } from '@/providers/embeds/xprime';
import {
xprimeApolloEmbed,
xprimeFoxEmbed,
xprimeMarantEmbed,
xprimePrimenetEmbed,
xprimeStreamboxEmbed,
} from '@/providers/embeds/xprime';
import { embedsuScraper } from '@/providers/sources/embedsu';
import { uiraliveScraper } from '@/providers/sources/uiralive';
import { Stream } from '@/providers/streams';
@ -36,6 +42,7 @@ const SKIP_VALIDATION_CHECK_IDS = [
xprimeApolloEmbed.id,
xprimeStreamboxEmbed.id,
xprimeMarantEmbed.id,
xprimePrimenetEmbed.id,
ConsumetVidCloudScraper.id,
ConsumetStreamSBScraper.id,
ConsumetVidStreamingScraper.id,