mirror of
https://github.com/sussy-code/providers.git
synced 2026-05-11 04:20:37 +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',
|
id: 'autoembed-hindi',
|
||||||
rank: 9,
|
rank: 9,
|
||||||
|
disabled: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'autoembed-tamil',
|
id: 'autoembed-tamil',
|
||||||
rank: 8,
|
rank: 8,
|
||||||
|
disabled: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'autoembed-telugu',
|
id: 'autoembed-telugu',
|
||||||
rank: 7,
|
rank: 7,
|
||||||
|
disabled: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'autoembed-bengali',
|
id: 'autoembed-bengali',
|
||||||
rank: 6,
|
rank: 6,
|
||||||
|
disabled: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
function embed(provider: { id: string; rank: number }) {
|
function embed(provider: { id: string; rank: number; disabled?: boolean }) {
|
||||||
return makeEmbed({
|
return makeEmbed({
|
||||||
id: provider.id,
|
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,
|
rank: provider.rank,
|
||||||
async scrape(ctx) {
|
async scrape(ctx) {
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -38,8 +38,8 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
||||||
export const autoembedScraper = makeSourcerer({
|
export const autoembedScraper = makeSourcerer({
|
||||||
id: 'autoembed',
|
id: 'autoembed',
|
||||||
name: 'Autoembed',
|
name: 'Autoembed',
|
||||||
rank: 10,
|
rank: 90,
|
||||||
disabled: true,
|
disabled: false,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
scrapeShow: comboScraper,
|
scrapeShow: comboScraper,
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,8 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
||||||
export const bombtheirishScraper = makeSourcerer({
|
export const bombtheirishScraper = makeSourcerer({
|
||||||
id: 'bombtheirish',
|
id: 'bombtheirish',
|
||||||
name: 'bombthe.irish',
|
name: 'bombthe.irish',
|
||||||
rank: 50,
|
rank: 100,
|
||||||
|
disabled: true,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
scrapeShow: comboScraper,
|
scrapeShow: comboScraper,
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
||||||
export const catflixScraper = makeSourcerer({
|
export const catflixScraper = makeSourcerer({
|
||||||
id: 'catflix',
|
id: 'catflix',
|
||||||
name: 'Catflix',
|
name: 'Catflix',
|
||||||
rank: 122,
|
rank: 170,
|
||||||
flags: [],
|
flags: [],
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
scrapeShow: comboScraper,
|
scrapeShow: comboScraper,
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ async function comboScraper(ctx: MovieScrapeContext): Promise<SourcererOutput> {
|
||||||
export const ee3Scraper = makeSourcerer({
|
export const ee3Scraper = makeSourcerer({
|
||||||
id: 'ee3',
|
id: 'ee3',
|
||||||
name: 'EE3',
|
name: 'EE3',
|
||||||
rank: 111,
|
rank: 150,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { NotFoundError } from '@/utils/errors';
|
||||||
export const flixhqScraper = makeSourcerer({
|
export const flixhqScraper = makeSourcerer({
|
||||||
id: 'flixhq',
|
id: 'flixhq',
|
||||||
name: 'FlixHQ',
|
name: 'FlixHQ',
|
||||||
rank: 61,
|
rank: 230,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
disabled: true,
|
disabled: true,
|
||||||
async scrapeMovie(ctx) {
|
async scrapeMovie(ctx) {
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
||||||
export const fsharetvScraper = makeSourcerer({
|
export const fsharetvScraper = makeSourcerer({
|
||||||
id: 'fsharetv',
|
id: 'fsharetv',
|
||||||
name: 'FshareTV',
|
name: 'FshareTV',
|
||||||
rank: 93,
|
rank: 220,
|
||||||
flags: [],
|
flags: [],
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ export const gomoviesBase = `https://gomovies.sx`;
|
||||||
export const goMoviesScraper = makeSourcerer({
|
export const goMoviesScraper = makeSourcerer({
|
||||||
id: 'gomovies',
|
id: 'gomovies',
|
||||||
name: 'GOmovies',
|
name: 'GOmovies',
|
||||||
rank: 60,
|
rank: 50,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
async scrapeShow(ctx) {
|
async scrapeShow(ctx) {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ async function universalScraper(ctx: ShowScrapeContext | MovieScrapeContext): Pr
|
||||||
export const goojaraScraper = makeSourcerer({
|
export const goojaraScraper = makeSourcerer({
|
||||||
id: 'goojara',
|
id: 'goojara',
|
||||||
name: 'Goojara',
|
name: 'Goojara',
|
||||||
rank: 70,
|
rank: 180,
|
||||||
flags: [],
|
flags: [],
|
||||||
disabled: true,
|
disabled: true,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ const universalScraper = async (ctx: ShowScrapeContext | MovieScrapeContext): Pr
|
||||||
export const hdRezkaScraper = makeSourcerer({
|
export const hdRezkaScraper = makeSourcerer({
|
||||||
id: 'hdrezka',
|
id: 'hdrezka',
|
||||||
name: 'HDRezka',
|
name: 'HDRezka',
|
||||||
rank: 120,
|
rank: 190,
|
||||||
flags: [flags.CORS_ALLOWED, flags.IP_LOCKED],
|
flags: [flags.CORS_ALLOWED, flags.IP_LOCKED],
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ const insertUnitBase = 'https://api.insertunit.ws/';
|
||||||
export const insertunitScraper = makeSourcerer({
|
export const insertunitScraper = makeSourcerer({
|
||||||
id: 'insertunit',
|
id: 'insertunit',
|
||||||
name: 'Insertunit',
|
name: 'Insertunit',
|
||||||
rank: 60,
|
rank: 110,
|
||||||
|
disabled: true,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
async scrapeShow(ctx) {
|
async scrapeShow(ctx) {
|
||||||
const playerData = await ctx.fetcher<string>(`/embed/imdb/${ctx.media.imdbId}`, {
|
const playerData = await ctx.fetcher<string>(`/embed/imdb/${ctx.media.imdbId}`, {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ export const lookmovieScraper = makeSourcerer({
|
||||||
id: 'lookmovie',
|
id: 'lookmovie',
|
||||||
name: 'LookMovie',
|
name: 'LookMovie',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
rank: 50,
|
rank: 60,
|
||||||
flags: [flags.IP_LOCKED],
|
flags: [flags.IP_LOCKED],
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,7 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
|
||||||
|
|
||||||
for (const source of sources) {
|
for (const source of sources) {
|
||||||
let embedId;
|
let embedId;
|
||||||
|
|
||||||
if (source.name === 'm')
|
if (source.name === 'm')
|
||||||
embedId = 'playm4u-m'; // TODO
|
embedId = 'playm4u-m'; // TODO
|
||||||
else if (source.name === 'nm') embedId = 'playm4u-nm';
|
else if (source.name === 'nm') embedId = 'playm4u-nm';
|
||||||
|
|
@ -149,7 +150,8 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
|
||||||
export const m4uScraper = makeSourcerer({
|
export const m4uScraper = makeSourcerer({
|
||||||
id: 'm4ufree',
|
id: 'm4ufree',
|
||||||
name: 'M4UFree',
|
name: 'M4UFree',
|
||||||
rank: 125,
|
rank: 200,
|
||||||
|
disabled: true,
|
||||||
flags: [],
|
flags: [],
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
|
||||||
export const nepuScraper = makeSourcerer({
|
export const nepuScraper = makeSourcerer({
|
||||||
id: 'nepu',
|
id: 'nepu',
|
||||||
name: 'Nepu',
|
name: 'Nepu',
|
||||||
rank: 80,
|
rank: 210,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
flags: [],
|
flags: [],
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ export const nitesScraper = makeSourcerer({
|
||||||
id: 'nites',
|
id: 'nites',
|
||||||
name: 'Nites',
|
name: 'Nites',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
rank: 90,
|
rank: 80,
|
||||||
flags: [],
|
flags: [],
|
||||||
scrapeMovie: comboScraper,
|
scrapeMovie: comboScraper,
|
||||||
scrapeShow: comboScraper,
|
scrapeShow: comboScraper,
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
||||||
export const nsbxScraper = makeSourcerer({
|
export const nsbxScraper = makeSourcerer({
|
||||||
id: 'nsbx',
|
id: 'nsbx',
|
||||||
name: 'NSBX',
|
name: 'NSBX',
|
||||||
rank: 129,
|
rank: 290,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
disabled: true,
|
disabled: true,
|
||||||
externalSource: true,
|
externalSource: true,
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ async function getStreams(title: string) {
|
||||||
export const primewireScraper = makeSourcerer({
|
export const primewireScraper = makeSourcerer({
|
||||||
id: 'primewire',
|
id: 'primewire',
|
||||||
name: 'Primewire',
|
name: 'Primewire',
|
||||||
rank: 1,
|
rank: 10,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
async scrapeMovie(ctx) {
|
async scrapeMovie(ctx) {
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ export const redStarScraper = makeSourcerer({
|
||||||
name: 'redStar',
|
name: 'redStar',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
externalSource: true,
|
externalSource: true,
|
||||||
rank: 131,
|
rank: 280,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export const remotestreamScraper = makeSourcerer({
|
||||||
id: 'remotestream',
|
id: 'remotestream',
|
||||||
name: 'Remote Stream',
|
name: 'Remote Stream',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
rank: 20,
|
rank: 30,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
async scrapeShow(ctx) {
|
async scrapeShow(ctx) {
|
||||||
const seasonNumber = ctx.media.season.number;
|
const seasonNumber = ctx.media.season.number;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import { load } from 'cheerio';
|
import { load } from 'cheerio';
|
||||||
|
|
||||||
import { flags } from '@/entrypoint/utils/targets';
|
|
||||||
import { SourcererEmbed, makeSourcerer } from '@/providers/base';
|
import { SourcererEmbed, makeSourcerer } from '@/providers/base';
|
||||||
import { closeLoadScraper } from '@/providers/embeds/closeload';
|
import { closeLoadScraper } from '@/providers/embeds/closeload';
|
||||||
import { ridooScraper } from '@/providers/embeds/ridoo';
|
import { ridooScraper } from '@/providers/embeds/ridoo';
|
||||||
|
|
@ -74,8 +73,8 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext) =>
|
||||||
export const ridooMoviesScraper = makeSourcerer({
|
export const ridooMoviesScraper = makeSourcerer({
|
||||||
id: 'ridomovies',
|
id: 'ridomovies',
|
||||||
name: 'RidoMovies',
|
name: 'RidoMovies',
|
||||||
rank: 100,
|
rank: 120,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [],
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ async function comboScraper(ctx: ShowScrapeContext | MovieScrapeContext): Promis
|
||||||
export const showboxScraper = makeSourcerer({
|
export const showboxScraper = makeSourcerer({
|
||||||
id: 'showbox',
|
id: 'showbox',
|
||||||
name: 'Showbox',
|
name: 'Showbox',
|
||||||
rank: 150,
|
rank: 250,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
flags: [flags.CORS_ALLOWED, flags.CF_BLOCKED],
|
flags: [flags.CORS_ALLOWED, flags.CF_BLOCKED],
|
||||||
scrapeShow: comboScraper,
|
scrapeShow: comboScraper,
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ const universalScraper = async (ctx: ShowScrapeContext | MovieScrapeContext): Pr
|
||||||
export const smashyStreamScraper = makeSourcerer({
|
export const smashyStreamScraper = makeSourcerer({
|
||||||
id: 'smashystream',
|
id: 'smashystream',
|
||||||
name: 'SmashyStream',
|
name: 'SmashyStream',
|
||||||
rank: 30,
|
rank: 20,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ const universalScraper = async (ctx: MovieScrapeContext | ShowScrapeContext): Pr
|
||||||
export const soaperTvScraper = makeSourcerer({
|
export const soaperTvScraper = makeSourcerer({
|
||||||
id: 'soapertv',
|
id: 'soapertv',
|
||||||
name: 'SoaperTV',
|
name: 'SoaperTV',
|
||||||
rank: 126,
|
rank: 160,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import { baseUrl, parseSearch } from './common';
|
||||||
export const tugaflixScraper = makeSourcerer({
|
export const tugaflixScraper = makeSourcerer({
|
||||||
id: 'tugaflix',
|
id: 'tugaflix',
|
||||||
name: 'Tugaflix',
|
name: 'Tugaflix',
|
||||||
rank: 73,
|
rank: 70,
|
||||||
flags: [flags.IP_LOCKED],
|
flags: [flags.IP_LOCKED],
|
||||||
scrapeMovie: async (ctx) => {
|
scrapeMovie: async (ctx) => {
|
||||||
const searchResults = parseSearch(
|
const searchResults = parseSearch(
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { scrapeShow } from '@/providers/sources/vidsrc/scrape-show';
|
||||||
export const vidsrcScraper = makeSourcerer({
|
export const vidsrcScraper = makeSourcerer({
|
||||||
id: 'vidsrc',
|
id: 'vidsrc',
|
||||||
name: 'VidSrc',
|
name: 'VidSrc',
|
||||||
rank: 90,
|
rank: 130,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
flags: [],
|
flags: [],
|
||||||
scrapeMovie,
|
scrapeMovie,
|
||||||
|
|
|
||||||
|
|
@ -86,5 +86,5 @@ export const vidSrcToScraper = makeSourcerer({
|
||||||
scrapeMovie: universalScraper,
|
scrapeMovie: universalScraper,
|
||||||
scrapeShow: universalScraper,
|
scrapeShow: universalScraper,
|
||||||
flags: [flags.PROXY_BLOCKED],
|
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 { SourcererEmbed, SourcererOutput, makeSourcerer } from '@/providers/base';
|
||||||
import { mixdropScraper } from '@/providers/embeds/mixdrop';
|
import { mixdropScraper } from '@/providers/embeds/mixdrop';
|
||||||
import { warezcdnembedHlsScraper } from '@/providers/embeds/warezcdn/hls';
|
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({
|
export const warezcdnScraper = makeSourcerer({
|
||||||
id: 'warezcdn',
|
id: 'warezcdn',
|
||||||
name: 'WarezCDN',
|
name: 'WarezCDN',
|
||||||
rank: 81,
|
rank: 140,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [],
|
||||||
scrapeMovie: async (ctx) => {
|
scrapeMovie: async (ctx) => {
|
||||||
if (!ctx.media.imdbId) throw new NotFoundError('This source requires IMDB id.');
|
if (!ctx.media.imdbId) throw new NotFoundError('This source requires IMDB id.');
|
||||||
const serversPage = await ctx.proxiedFetcher<string>(`/filme/${ctx.media.imdbId}`, {
|
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({
|
export const whvxScraper = makeSourcerer({
|
||||||
id: 'whvx',
|
id: 'whvx',
|
||||||
name: 'VidBinge',
|
name: 'VidBinge',
|
||||||
rank: 128,
|
rank: 270,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
externalSource: true,
|
externalSource: true,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { scrapeShow } from '@/providers/sources/zoechip/scrape-show';
|
||||||
export const zoechipScraper = makeSourcerer({
|
export const zoechipScraper = makeSourcerer({
|
||||||
id: 'zoechip',
|
id: 'zoechip',
|
||||||
name: 'ZoeChip',
|
name: 'ZoeChip',
|
||||||
rank: 62,
|
rank: 240,
|
||||||
flags: [flags.CORS_ALLOWED],
|
flags: [flags.CORS_ALLOWED],
|
||||||
disabled: true,
|
disabled: true,
|
||||||
scrapeMovie,
|
scrapeMovie,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue