aiostreams / packages /utils /src /settings.ts
f4b404's picture
Sync from GitHub via hub-sync
4345f70 verified
Raw
History Blame Contribute Delete
6.95 kB
import dotenv from 'dotenv';
import path from 'path';
try {
dotenv.config({ path: path.resolve(__dirname, '../../../.env') });
} catch (error) {
console.error('Error loading .env file:', error);
}
export class Settings {
public static readonly ADDON_NAME = process.env.ADDON_NAME ?? 'AIOStreams';
public static readonly ADDON_ID =
process.env.ADDON_ID ?? 'aiostreams.viren070.com';
public static readonly PORT = process.env.PORT ?? 3000;
public static readonly BRANDING =
process.env.BRANDING ?? process.env.NEXT_PUBLIC_ELFHOSTED_BRANDING;
public static readonly SECRET_KEY = process.env.SECRET_KEY ?? '';
public static readonly CUSTOM_CONFIGS = process.env.CUSTOM_CONFIGS || '';
public static readonly DISABLE_CUSTOM_CONFIG_GENERATOR_ROUTE =
process.env.DISABLE_CUSTOM_CONFIG_GENERATOR_ROUTE === 'true';
public static readonly DETERMINISTIC_ADDON_ID = process.env
.DETERMINISTIC_ADDON_ID
? process.env.DETERMINISTIC_ADDON_ID === 'true'
: false;
public static readonly COMET_URL =
process.env.COMET_URL ?? 'https://comet.elfhosted.com/';
public static readonly MEDIAFUSION_URL =
process.env.MEDIAFUSION_URL ?? 'https://mediafusion.elfhosted.com/';
public static readonly MEDIAFUSION_API_PASSWORD =
process.env.MEDIAFUSION_API_PASSWORD ?? '';
public static readonly JACKETTIO_URL =
process.env.JACKETTIO_URL ?? 'https://jackettio.elfhosted.com/';
public static readonly TORRENTIO_URL =
process.env.TORRENTIO_URL ?? 'https://torrentio.strem.fun/';
public static readonly ORION_STREMIO_ADDON_URL =
process.env.ORION_STREMIO_ADDON_URL ??
'https://5a0d1888fa64-orion.baby-beamup.club/';
public static readonly PEERFLIX_URL =
process.env.PEERFLIX_URL ?? 'https://peerflix-addon.onrender.com/';
public static readonly TORBOX_STREMIO_URL =
process.env.TORBOX_STREMIO_URL ?? 'https://stremio.torbox.app/';
public static readonly EASYNEWS_URL =
process.env.EASYNEWS_URL ??
'https://ea627ddf0ee7-easynews.baby-beamup.club/';
public static readonly EASYNEWS_PLUS_URL =
process.env.EASYNEWS_PLUS_URL ??
'https://b89262c192b0-stremio-easynews-addon.baby-beamup.club/';
public static readonly DEBRIDIO_URL =
process.env.DEBRIDIO_URL ?? 'https://debridio.adobotec.com/';
public static readonly ADDON_PROXY = process.env.ADDON_PROXY ?? '';
public static readonly ADDON_PROXY_CONFIG = process.env.ADDON_PROXY_CONFIG
? process.env.ADDON_PROXY_CONFIG
: undefined;
public static readonly DEFAULT_MEDIAFLOW_URL =
process.env.DEFAULT_MEDIAFLOW_URL ?? '';
public static readonly DEFAULT_MEDIAFLOW_API_PASSWORD =
process.env.DEFAULT_MEDIAFLOW_API_PASSWORD ?? '';
public static readonly DEFAULT_MEDIAFLOW_PUBLIC_IP =
process.env.DEFAULT_MEDIAFLOW_PUBLIC_IP ?? '';
public static readonly CACHE_STREAM_RESULTS = process.env.CACHE_STREAM_RESULTS
? process.env.CACHE_STREAM_RESULTS !== 'false'
: true;
public static readonly CACHE_STREAM_RESULTS_TTL = process.env
.CACHE_STREAM_RESULTS_TTL
? parseInt(process.env.CACHE_STREAM_RESULTS_TTL)
: 600;
public static readonly CACHE_MEDIAFLOW_IP_TTL = process.env
.CACHE_MEDIAFLOW_IP_TTL
? parseInt(process.env.CACHE_MEDIAFLOW_IP_TTL)
: 900;
public static readonly MAX_CACHE_SIZE = process.env.MAX_CACHE_SIZE
? parseInt(process.env.MAX_CACHE_SIZE)
: 10240;
public static readonly MAX_ADDONS = process.env.MAX_ADDONS
? parseInt(process.env.MAX_ADDONS)
: 15;
public static readonly MAX_KEYWORD_FILTERS = process.env.MAX_KEYWORD_FILTERS
? parseInt(process.env.MAX_KEYWORD_FILTERS)
: 30;
public static readonly MAX_MOVIE_SIZE = process.env.MAX_MOVIE_SIZE
? parseInt(process.env.MAX_MOVIE_SIZE)
: 161061273600; // 150GiB
public static readonly MAX_EPISODE_SIZE = process.env.MAX_EPISODE_SIZE
? parseInt(process.env.MAX_EPISODE_SIZE)
: 16106127360; // 15GiB
public static readonly MAX_TIMEOUT = process.env.MAX_TIMEOUT
? parseInt(process.env.MAX_TIMEOUT)
: 50000;
public static readonly MIN_TIMEOUT = process.env.MIN_TIMEOUT
? parseInt(process.env.MIN_TIMEOUT)
: 1000;
public static readonly MEDIAFLOW_IP_TIMEOUT = process.env.MEDIAFLOW_IP_TIMEOUT
? parseInt(process.env.MEDIAFLOW_IP_TIMEOUT)
: 30000;
public static readonly DEFAULT_TIMEOUT = process.env.DEFAULT_TIMEOUT
? parseInt(process.env.DEFAULT_TIMEOUT)
: 15000;
public static readonly DEFAULT_TORRENTIO_TIMEOUT = process.env
.DEFAULT_TORRENTIO_TIMEOUT
? parseInt(process.env.DEFAULT_TORRENTIO_TIMEOUT)
: undefined;
public static readonly DEFAULT_TORBOX_TIMEOUT = process.env
.DEFAULT_TORBOX_TIMEOUT
? parseInt(process.env.DEFAULT_TORBOX_TIMEOUT)
: undefined;
public static readonly DEFAULT_COMET_TIMEOUT = process.env
.DEFAULT_COMET_TIMEOUT
? parseInt(process.env.DEFAULT_COMET_TIMEOUT)
: undefined;
public static readonly DEFAULT_MEDIAFUSION_TIMEOUT = process.env
.DEFAULT_MEDIAFUSION_TIMEOUT
? parseInt(process.env.DEFAULT_MEDIAFUSION_TIMEOUT)
: undefined;
public static readonly DEFAULT_JACKETTIO_TIMEOUT = process.env
.DEFAULT_JACKETTIO_TIMEOUT
? parseInt(process.env.DEFAULT_JACKETTIO_TIMEOUT)
: undefined;
public static readonly DEFAULT_ORION_TIMEOUT = process.env
.DEFAULT_ORION_TIMEOUT
? parseInt(process.env.DEFAULT_ORION_TIMEOUT)
: undefined;
public static readonly DEFAULT_PEERFLIX_TIMEOUT = process.env
.DEFAULT_PEERFLIX_TIMEOUT
? parseInt(process.env.DEFAULT_PEERFLIX_TIMEOUT)
: undefined;
public static readonly DEFAULT_EASYNEWS_TIMEMOUT = process.env
.DEFAULT_EASYNEWS_TIMEMOUT
? parseInt(process.env.DEFAULT_EASYNEWS_TIMEMOUT)
: undefined;
public static readonly DEFAULT_EASYNEWS_PLUS_TIMEMOUT = process.env
.DEFAULT_EASYNEWS_PLUS_TIMEMOUT
? parseInt(process.env.DEFAULT_EASYNEWS_PLUS_TIMEMOUT)
: undefined;
public static readonly DEFAULT_DEBRIDIO_TIMEOUT = process.env
.DEFAULT_DEBRIDIO_TIMEOUT
? parseInt(process.env.DEFAULT_DEBRIDIO_TIMEOUT)
: undefined;
public static readonly DEFAULT_DMM_CAST_TIMEOUT = process.env
.DEFAULT_DMM_CAST_TIMEOUT
? parseInt(process.env.DEFAULT_DMM_CAST_TIMEOUT)
: undefined;
public static readonly DEFAULT_GDRIVE_TIMEOUT = process.env
.DEFAULT_GDRIVE_TIMEOUT
? parseInt(process.env.DEFAULT_GDRIVE_TIMEOUT)
: undefined;
public static readonly SHOW_DIE = process.env.SHOW_DIE
? process.env.SHOW_DIE === 'true'
: false;
public static readonly LOG_SENSITIVE_INFO = process.env.LOG_SENSITIVE_INFO
? process.env.LOG_SENSITIVE_INFO === 'true'
: false;
public static readonly DISABLE_TORRENTIO = process.env.DISABLE_TORRENTIO
? process.env.DISABLE_TORRENTIO === 'true'
: false;
public static readonly DISABLE_TORRENTIO_MESSAGE =
process.env.DISABLE_TORRENTIO_MESSAGE ||
'The Torrentio addon has been disabled, please remove it to use this addon.';
}