feat: allow to disable sources via env var

This commit is contained in:
WebStreamr 2025-09-14 19:29:09 +00:00
parent a3c25adc7a
commit f89d90619a
No known key found for this signature in database

View file

@ -1,4 +1,4 @@
import { Fetcher } from '../utils';
import { envGet, Fetcher } from '../utils';
import { CineHDPlus } from './CineHDPlus';
import { Cuevana } from './Cuevana';
import { Einschalten } from './Einschalten';
@ -22,31 +22,35 @@ import { XPrime } from './XPrime';
export * from './Source';
export const createSources = (fetcher: Fetcher): Source[] => [
// multi
new FourKHDHub(fetcher),
new VixSrc(fetcher),
// EN
new PrimeWire(fetcher),
// new Soaper(fetcher), // "temporarily" rate-limited for over a week
new VidSrc(fetcher),
new XPrime(fetcher),
// ES / MX
new CineHDPlus(fetcher),
new Cuevana(fetcher),
new HomeCine(fetcher),
new VerHdLink(fetcher),
// DE
new Einschalten(fetcher),
new KinoGer(fetcher),
new MegaKino(fetcher),
new MeineCloud(fetcher),
new StreamKiste(fetcher),
// FR
new Frembed(fetcher),
new FrenchCloud(fetcher),
new Movix(fetcher),
// IT
new Eurostreaming(fetcher),
new MostraGuarda(fetcher),
];
export const createSources = (fetcher: Fetcher): Source[] => {
const disabledSources = envGet('DISABLED_SOURCES')?.split(',') ?? [];
return [
// multi
new FourKHDHub(fetcher),
new VixSrc(fetcher),
// EN
new PrimeWire(fetcher),
// new Soaper(fetcher), // "temporarily" rate-limited for over a week
new VidSrc(fetcher),
new XPrime(fetcher),
// ES / MX
new CineHDPlus(fetcher),
new Cuevana(fetcher),
new HomeCine(fetcher),
new VerHdLink(fetcher),
// DE
new Einschalten(fetcher),
new KinoGer(fetcher),
new MegaKino(fetcher),
new MeineCloud(fetcher),
new StreamKiste(fetcher),
// FR
new Frembed(fetcher),
new FrenchCloud(fetcher),
new Movix(fetcher),
// IT
new Eurostreaming(fetcher),
new MostraGuarda(fetcher),
].filter(source => !disabledSources.includes(source.id));
};