mirror of
https://github.com/sussy-code/providers.git
synced 2026-01-11 20:10:17 +00:00
Merge pull request #21 from Pasithea0/pr-fixes
Some checks failed
Testing / Testing (push) Has been cancelled
Some checks failed
Testing / Testing (push) Has been cancelled
Update rankings and disable broken providers
This commit is contained in:
commit
f5a8df4c01
29 changed files with 45 additions and 35 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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}`, {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ export const nitesScraper = makeSourcerer({
|
|||
id: 'nites',
|
||||
name: 'Nites',
|
||||
disabled: true,
|
||||
rank: 90,
|
||||
rank: 80,
|
||||
flags: [],
|
||||
scrapeMovie: comboScraper,
|
||||
scrapeShow: comboScraper,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -86,5 +86,5 @@ export const vidSrcToScraper = makeSourcerer({
|
|||
scrapeMovie: universalScraper,
|
||||
scrapeShow: universalScraper,
|
||||
flags: [flags.PROXY_BLOCKED],
|
||||
rank: 130,
|
||||
rank: 260,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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}`, {
|
||||
|
|
|
|||
|
|
@ -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],
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in a new issue