Merge pull request #21 from Pasithea0/pr-fixes
Some checks failed
Testing / Testing (push) Has been cancelled

Update rankings and disable broken providers
This commit is contained in:
TPN 2025-01-08 16:52:07 +05:30 committed by GitHub
commit f5a8df4c01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 45 additions and 35 deletions

View file

@ -9,25 +9,33 @@ const providers = [
{
id: 'autoembed-hindi',
rank: 9,
disabled: true,
},
{
id: 'autoembed-tamil',
rank: 8,
disabled: true,
},
{
id: 'autoembed-telugu',
rank: 7,
disabled: true,
},
{
id: 'autoembed-bengali',
rank: 6,
disabled: true,
},
];
function embed(provider: { id: string; rank: number }) {
function embed(provider: { id: string; rank: number; disabled?: boolean }) {
return makeEmbed({
id: provider.id,
name: provider.id.charAt(0).toUpperCase() + provider.id.slice(1),
name: provider.id
.split('-')
.map((word) => word[0].toUpperCase() + word.slice(1))
.join(' '),
disabled: provider.disabled,
rank: provider.rank,
async scrape(ctx) {
return {

View file

@ -38,8 +38,8 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const autoembedScraper = makeSourcerer({
id: 'autoembed',
name: 'Autoembed',
rank: 10,
disabled: true,
rank: 90,
disabled: false,
flags: [flags.CORS_ALLOWED],
scrapeMovie: comboScraper,
scrapeShow: comboScraper,

View file

@ -25,7 +25,8 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const bombtheirishScraper = makeSourcerer({
id: 'bombtheirish',
name: 'bombthe.irish',
rank: 50,
rank: 100,
disabled: true,
flags: [flags.CORS_ALLOWED],
scrapeMovie: comboScraper,
scrapeShow: comboScraper,

View file

@ -67,7 +67,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const catflixScraper = makeSourcerer({
id: 'catflix',
name: 'Catflix',
rank: 122,
rank: 170,
flags: [],
scrapeMovie: comboScraper,
scrapeShow: comboScraper,

View file

@ -91,7 +91,7 @@ async function comboScraper(ctx: MovieScrapeContext): Promise<SourcererOutput> {
export const ee3Scraper = makeSourcerer({
id: 'ee3',
name: 'EE3',
rank: 111,
rank: 150,
flags: [flags.CORS_ALLOWED],
scrapeMovie: comboScraper,
});

View file

@ -9,7 +9,7 @@ import { NotFoundError } from '@/utils/errors';
export const flixhqScraper = makeSourcerer({
id: 'flixhq',
name: 'FlixHQ',
rank: 61,
rank: 230,
flags: [flags.CORS_ALLOWED],
disabled: true,
async scrapeMovie(ctx) {

View file

@ -88,7 +88,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const fsharetvScraper = makeSourcerer({
id: 'fsharetv',
name: 'FshareTV',
rank: 93,
rank: 220,
flags: [],
scrapeMovie: comboScraper,
});

View file

@ -17,7 +17,7 @@ export const gomoviesBase = `https://gomovies.sx`;
export const goMoviesScraper = makeSourcerer({
id: 'gomovies',
name: 'GOmovies',
rank: 60,
rank: 50,
disabled: true,
flags: [flags.CORS_ALLOWED],
async scrapeShow(ctx) {

View file

@ -22,7 +22,7 @@ async function universalScraper(ctx: ShowScrapeContext | MovieScrapeContext): Pr
export const goojaraScraper = makeSourcerer({
id: 'goojara',
name: 'Goojara',
rank: 70,
rank: 180,
flags: [],
disabled: true,
scrapeShow: universalScraper,

View file

@ -120,7 +120,7 @@ const universalScraper = async (ctx: ShowScrapeContext | MovieScrapeContext): Pr
export const hdRezkaScraper = makeSourcerer({
id: 'hdrezka',
name: 'HDRezka',
rank: 120,
rank: 190,
flags: [flags.CORS_ALLOWED, flags.IP_LOCKED],
scrapeShow: universalScraper,
scrapeMovie: universalScraper,

View file

@ -11,7 +11,8 @@ const insertUnitBase = 'https://api.insertunit.ws/';
export const insertunitScraper = makeSourcerer({
id: 'insertunit',
name: 'Insertunit',
rank: 60,
rank: 110,
disabled: true,
flags: [flags.CORS_ALLOWED],
async scrapeShow(ctx) {
const playerData = await ctx.fetcher<string>(`/embed/imdb/${ctx.media.imdbId}`, {

View file

@ -33,7 +33,7 @@ export const lookmovieScraper = makeSourcerer({
id: 'lookmovie',
name: 'LookMovie',
disabled: true,
rank: 50,
rank: 60,
flags: [flags.IP_LOCKED],
scrapeShow: universalScraper,
scrapeMovie: universalScraper,

View file

@ -113,6 +113,7 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
for (const source of sources) {
let embedId;
if (source.name === 'm')
embedId = 'playm4u-m'; // TODO
else if (source.name === 'nm') embedId = 'playm4u-nm';
@ -149,7 +150,8 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
export const m4uScraper = makeSourcerer({
id: 'm4ufree',
name: 'M4UFree',
rank: 125,
rank: 200,
disabled: true,
flags: [],
scrapeMovie: universalScraper,
scrapeShow: universalScraper,

View file

@ -76,7 +76,7 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
export const nepuScraper = makeSourcerer({
id: 'nepu',
name: 'Nepu',
rank: 80,
rank: 210,
disabled: true,
flags: [],
scrapeMovie: universalScraper,

View file

@ -73,7 +73,7 @@ export const nitesScraper = makeSourcerer({
id: 'nites',
name: 'Nites',
disabled: true,
rank: 90,
rank: 80,
flags: [],
scrapeMovie: comboScraper,
scrapeShow: comboScraper,

View file

@ -36,7 +36,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const nsbxScraper = makeSourcerer({
id: 'nsbx',
name: 'NSBX',
rank: 129,
rank: 290,
flags: [flags.CORS_ALLOWED],
disabled: true,
externalSource: true,

View file

@ -80,7 +80,7 @@ async function getStreams(title: string) {
export const primewireScraper = makeSourcerer({
id: 'primewire',
name: 'Primewire',
rank: 1,
rank: 10,
disabled: true,
flags: [flags.CORS_ALLOWED],
async scrapeMovie(ctx) {

View file

@ -37,7 +37,7 @@ export const redStarScraper = makeSourcerer({
name: 'redStar',
disabled: true,
externalSource: true,
rank: 131,
rank: 280,
flags: [flags.CORS_ALLOWED],
scrapeMovie: universalScraper,
scrapeShow: universalScraper,

View file

@ -11,7 +11,7 @@ export const remotestreamScraper = makeSourcerer({
id: 'remotestream',
name: 'Remote Stream',
disabled: true,
rank: 20,
rank: 30,
flags: [flags.CORS_ALLOWED],
async scrapeShow(ctx) {
const seasonNumber = ctx.media.season.number;

View file

@ -1,6 +1,5 @@
import { load } from 'cheerio';
import { flags } from '@/entrypoint/utils/targets';
import { SourcererEmbed, makeSourcerer } from '@/providers/base';
import { closeLoadScraper } from '@/providers/embeds/closeload';
import { ridooScraper } from '@/providers/embeds/ridoo';
@ -74,8 +73,8 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
export const ridooMoviesScraper = makeSourcerer({
id: 'ridomovies',
name: 'RidoMovies',
rank: 100,
flags: [flags.CORS_ALLOWED],
rank: 120,
flags: [],
scrapeMovie: universalScraper,
scrapeShow: universalScraper,
});

View file

@ -41,7 +41,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const showboxScraper = makeSourcerer({
id: 'showbox',
name: 'Showbox',
rank: 150,
rank: 250,
disabled: true,
flags: [flags.CORS_ALLOWED, flags.CF_BLOCKED],
scrapeShow: comboScraper,

View file

@ -30,7 +30,7 @@ const universalScraper = async (ctx: ShowScrapeContext | MovieScrapeContext): Pr
export const smashyStreamScraper = makeSourcerer({
id: 'smashystream',
name: 'SmashyStream',
rank: 30,
rank: 20,
disabled: true,
flags: [flags.CORS_ALLOWED],
scrapeMovie: universalScraper,

View file

@ -115,7 +115,7 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext): Pr
export const soaperTvScraper = makeSourcerer({
id: 'soapertv',
name: 'SoaperTV',
rank: 126,
rank: 160,
flags: [flags.CORS_ALLOWED],
scrapeMovie: universalScraper,
scrapeShow: universalScraper,

View file

@ -10,7 +10,7 @@ import { baseUrl, parseSearch } from './common';
export const tugaflixScraper = makeSourcerer({
id: 'tugaflix',
name: 'Tugaflix',
rank: 73,
rank: 70,
flags: [flags.IP_LOCKED],
scrapeMovie: async (ctx) => {
const searchResults = parseSearch(

View file

@ -5,7 +5,7 @@ import { scrapeShow } from '@/providers/sources/vidsrc/scrape-show';
export const vidsrcScraper = makeSourcerer({
id: 'vidsrc',
name: 'VidSrc',
rank: 90,
rank: 130,
disabled: true,
flags: [],
scrapeMovie,

View file

@ -86,5 +86,5 @@ export const vidSrcToScraper = makeSourcerer({
scrapeMovie: universalScraper,
scrapeShow: universalScraper,
flags: [flags.PROXY_BLOCKED],
rank: 130,
rank: 260,
});

View file

@ -1,4 +1,3 @@
import { flags } from '@/entrypoint/utils/targets';
import { SourcererEmbed, SourcererOutput, makeSourcerer } from '@/providers/base';
import { mixdropScraper } from '@/providers/embeds/mixdrop';
import { warezcdnembedHlsScraper } from '@/providers/embeds/warezcdn/hls';
@ -48,8 +47,8 @@ async function getEmbeds(id: string, servers: string, ctx: ScrapeContext): Promi
export const warezcdnScraper = makeSourcerer({
id: 'warezcdn',
name: 'WarezCDN',
rank: 81,
flags: [flags.CORS_ALLOWED],
rank: 140,
flags: [],
scrapeMovie: async (ctx) => {
if (!ctx.media.imdbId) throw new NotFoundError('This source requires IMDB id.');
const serversPage = await ctx.proxiedFetcher<string>(`/filme/${ctx.media.imdbId}`, {

View file

@ -37,7 +37,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
export const whvxScraper = makeSourcerer({
id: 'whvx',
name: 'VidBinge',
rank: 128,
rank: 270,
disabled: true,
externalSource: true,
flags: [flags.CORS_ALLOWED],

View file

@ -6,7 +6,7 @@ import { scrapeShow } from '@/providers/sources/zoechip/scrape-show';
export const zoechipScraper = makeSourcerer({
id: 'zoechip',
name: 'ZoeChip',
rank: 62,
rank: 240,
flags: [flags.CORS_ALLOWED],
disabled: true,
scrapeMovie,