feat: add debrider as service and update mediafusion preset (#305)

This commit is contained in:
ragmehos
2025-08-18 13:43:28 -07:00
committed by GitHub
parent 967af82448
commit 5d279442b6
7 changed files with 51 additions and 2 deletions
+5 -1
View File
@@ -143,6 +143,10 @@ FORCED_EASYNEWS_PASSWORD=
DEFAULT_EASYDEBRID_API_KEY=
FORCED_EASYDEBRID_API_KEY=
# --- Debrider ---
DEFAULT_DEBRIDER_API_KEY=
FORCED_DEBRIDER_API_KEY=
# --- PikPak ---
DEFAULT_PIKPAK_EMAIL=
FORCED_PIKPAK_EMAIL=
@@ -652,4 +656,4 @@ PRUNE_MAX_DAYS=-1
# --------------- More Like This -------------
# MORE_LIKE_THIS_URL=https://bbab4a35b833-more-like-this.baby-beamup.club
# ==============================================================================
# ==============================================================================
+2 -1
View File
@@ -392,11 +392,12 @@ export abstract class StreamExpressionEngine {
'premiumize',
'easynews',
'easydebrid',
'debrider',
].includes(s)
)
) {
throw new Error(
'Service must be a string and one of: realdebrid, debridlink, alldebrid, torbox, pikpak, seedr, offcloud, premiumize, easynews, easydebrid'
'Service must be a string and one of: realdebrid, debridlink, alldebrid, torbox, pikpak, seedr, offcloud, premiumize, easynews, easydebrid, debrider'
);
}
return streams.filter((stream) =>
+1
View File
@@ -132,6 +132,7 @@ export class MediaFusionPreset extends Preset {
constants.TORBOX_SERVICE,
constants.DEBRIDLINK_SERVICE,
constants.EASYDEBRID_SERVICE,
constants.DEBRIDER_SERVICE,
constants.OFFCLOUD_SERVICE,
constants.PIKPAK_SERVICE,
constants.SEEDR_SERVICE,
+12
View File
@@ -84,6 +84,12 @@ function getServiceCredentialDefault(
return Env.DEFAULT_EASYDEBRID_API_KEY;
}
break;
case constants.DEBRIDER_SERVICE:
switch (credentialId) {
case 'apiKey':
return Env.DEFAULT_DEBRIDER_API_KEY;
}
break;
case constants.PUTIO_SERVICE:
switch (credentialId) {
case 'clientId':
@@ -171,6 +177,12 @@ function getServiceCredentialForced(
return Env.FORCED_EASYDEBRID_API_KEY;
}
break;
case constants.DEBRIDER_SERVICE:
switch (credentialId) {
case 'apiKey':
return Env.FORCED_DEBRIDER_API_KEY;
}
break;
case constants.PUTIO_SERVICE:
switch (credentialId) {
case 'clientId':
+21
View File
@@ -173,6 +173,7 @@ const PREMIUMIZE_SERVICE = 'premiumize';
const ALLDEBRID_SERVICE = 'alldebrid';
const TORBOX_SERVICE = 'torbox';
const EASYDEBRID_SERVICE = 'easydebrid';
const DEBRIDER_SERVICE = 'debrider';
const PUTIO_SERVICE = 'putio';
const PIKPAK_SERVICE = 'pikpak';
const OFFCLOUD_SERVICE = 'offcloud';
@@ -186,6 +187,7 @@ const SERVICES = [
ALLDEBRID_SERVICE,
TORBOX_SERVICE,
EASYDEBRID_SERVICE,
DEBRIDER_SERVICE,
PUTIO_SERVICE,
PIKPAK_SERVICE,
OFFCLOUD_SERVICE,
@@ -430,6 +432,24 @@ const SERVICE_DETAILS: Record<
},
],
},
[DEBRIDER_SERVICE]: {
id: DEBRIDER_SERVICE,
name: 'Debrider',
shortName: 'DBD',
knownNames: ['DBD', 'Debrider'],
signUpText:
"Don't have an account? [Sign up here](https://debrider.app/)",
credentials: [
{
id: 'apiKey',
name: 'API Key',
description:
'Your Debrider API key. Obtain it from [here](https://debrider.app/dashboard/account)',
type: 'password',
required: true,
},
],
},
[PIKPAK_SERVICE]: {
id: PIKPAK_SERVICE,
name: 'PikPak',
@@ -898,6 +918,7 @@ export {
DEBRIDLINK_SERVICE,
TORBOX_SERVICE,
EASYDEBRID_SERVICE,
DEBRIDER_SERVICE,
PUTIO_SERVICE,
PIKPAK_SERVICE,
OFFCLOUD_SERVICE,
+8
View File
@@ -604,6 +604,10 @@ export const Env = cleanEnv(process.env, {
default: undefined,
desc: 'Default EasyDebrid API key',
}),
DEFAULT_DEBRIDER_API_KEY: str({
default: undefined,
desc: 'Default Debrider API key',
}),
DEFAULT_PIKPAK_EMAIL: str({
default: undefined,
desc: 'Default PikPak email',
@@ -670,6 +674,10 @@ export const Env = cleanEnv(process.env, {
default: undefined,
desc: 'Forced EasyDebrid API key',
}),
FORCED_DEBRIDER_API_KEY: str({
default: undefined,
desc: 'Forced Debrider API key',
}),
FORCED_PIKPAK_EMAIL: str({
default: undefined,
desc: 'Forced PikPak email',
+2
View File
@@ -355,6 +355,7 @@ const logStartupInfo = () => {
{ name: 'EasyNews', key: Env.DEFAULT_EASYNEWS_USERNAME },
{ name: 'EasyNews Password', key: Env.DEFAULT_EASYNEWS_PASSWORD },
{ name: 'EasyDebrid', key: Env.DEFAULT_EASYDEBRID_API_KEY },
{ name: 'Debrider', key: Env.DEFAULT_DEBRIDER_API_KEY },
{ name: 'PikPak', key: Env.DEFAULT_PIKPAK_EMAIL },
{ name: 'PikPak Password', key: Env.DEFAULT_PIKPAK_PASSWORD },
{ name: 'Seedr', key: Env.DEFAULT_SEEDR_ENCODED_TOKEN },
@@ -387,6 +388,7 @@ const logStartupInfo = () => {
{ name: 'EasyNews', key: Env.FORCED_EASYNEWS_USERNAME },
{ name: 'EasyNews Password', key: Env.FORCED_EASYNEWS_PASSWORD },
{ name: 'EasyDebrid', key: Env.FORCED_EASYDEBRID_API_KEY },
{ name: 'Debrider', key: Env.FORCED_DEBRIDER_API_KEY },
{ name: 'PikPak', key: Env.FORCED_PIKPAK_EMAIL },
{ name: 'PikPak Password', key: Env.FORCED_PIKPAK_PASSWORD },
{ name: 'Seedr', key: Env.FORCED_SEEDR_ENCODED_TOKEN },