monkastremio / .env.sample
brunner56's picture
implement app
0bfe2e3
# ==============================================================================
# ESSENTIAL ADDON SETUP
# ==============================================================================
# These are the most important settings you'll need to configure.
# --- Addon Identification ---
# Descriptive name for your addon instance.
ADDON_NAME="AIOStreams"
# Unique identifier for your addon.
ADDON_ID="aiostreams.viren070.com"
# --- Network Configuration ---
# The port on which the addon will listen.
# Default: 3000
PORT=3000
# The base URL of your addon. Highly recommended for proper functioning.
# Used for generating installation URLs and identifying self-scraping.
# Example: https://aiostreams.yourdomain.com
BASE_URL=
# --- Security ---
# CRITICAL: Secret key for encrypting addon configuration.
# MUST be a 64-character hex string.
# Generate one using:
# Linux/macOS: openssl rand -hex 32
# Windows (PowerShell): -join ((0..31) | ForEach-Object { '{0:x2}' -f (Get-Random -Minimum 0 -Maximum 255) })
# Or: [System.Guid]::NewGuid().ToString("N") + [System.Guid]::NewGuid().ToString("N") (ensure it's 64 chars)
SECRET_KEY=
# API key to protect your addon installation and usage.
# Leave empty to disable password protection.
# Can be any string.
ADDON_PASSWORD=
# --- Database ---
# REQUIRED: The database URI for storing addon configuration.
# Supports SQLite (simplest) or PostgreSQL.
#
# SQLite example (stores data in a file):
# DATABASE_URI=sqlite://./data/db.sqlite
# (You can change './data/db.sqlite' to your preferred path)
#
# PostgreSQL example:
# DATABASE_URI=postgres://username:password@host:port/database_name
# (e.g., postgresql://postgres:password@localhost:5432/aiostreams)
DATABASE_URI=sqlite://./data/db.sqlite
# ==============================================================================
# DEBRID & OTHER SERVICE API KEYS
# ==============================================================================
# Provide a default TMDB access token to be used for the Title Matching filter if a user does not provide any.
TMDB_ACCESS_TOKEN=
# Configure API keys for debrid services and others you plan to use.
# 'DEFAULT_' values are pre-filled in the user's config page.
# 'FORCED_' values override user settings and hide the option.
# --- Real-Debrid ---
DEFAULT_REALDEBRID_API_KEY=
FORCED_REALDEBRID_API_KEY=
# --- AllDebrid ---
DEFAULT_ALLDEBRID_API_KEY=
FORCED_ALLDEBRID_API_KEY=
# --- Premiumize ---
DEFAULT_PREMIUMIZE_API_KEY=
FORCED_PREMIUMIZE_API_KEY=
# --- Debrid-Link ---
DEFAULT_DEBRIDLINK_API_KEY=
FORCED_DEBRIDLINK_API_KEY=
# --- Torbox ---
DEFAULT_TORBOX_API_KEY=
FORCED_TORBOX_API_KEY=
# --- OffCloud ---
DEFAULT_OFFCLOUD_API_KEY=
FORCED_OFFCLOUD_API_KEY=
DEFAULT_OFFCLOUD_EMAIL=
FORCED_OFFCLOUD_EMAIL=
DEFAULT_OFFCLOUD_PASSWORD=
FORCED_OFFCLOUD_PASSWORD=
# --- Put.io ---
DEFAULT_PUTIO_CLIENT_ID=
FORCED_PUTIO_CLIENT_ID=
DEFAULT_PUTIO_CLIENT_SECRET=
FORCED_PUTIO_CLIENT_SECRET=
# --- EasyNews ---
DEFAULT_EASYNEWS_USERNAME=
FORCED_EASYNEWS_USERNAME=
DEFAULT_EASYNEWS_PASSWORD=
FORCED_EASYNEWS_PASSWORD=
# --- EasyDebrid ---
DEFAULT_EASYDEBRID_API_KEY=
FORCED_EASYDEBRID_API_KEY=
# --- PikPak ---
DEFAULT_PIKPAK_EMAIL=
FORCED_PIKPAK_EMAIL=
DEFAULT_PIKPAK_PASSWORD=
FORCED_PIKPAK_PASSWORD=
# --- Seedr ---
DEFAULT_SEEDR_ENCODED_TOKEN=
FORCED_SEEDR_ENCODED_TOKEN=
# ==============================================================================
# CUSTOMIZATION & ACCESS CONTROL
# ==============================================================================
# --- Custom HTML ---
# Display custom HTML at the top of the addon's configuration page.
# Example: CUSTOM_HTML="<div>Welcome to my AIOStreams!</div>"
CUSTOM_HTML=
# --- Trusted Users ---
# Comma-separated list of trusted UUIDs.
# Trusted users can access features like regex filters if REGEX_FILTER_ACCESS is 'trusted'.
# Example: TRUSTED_UUIDS=ae32f456-1234-5678-9012-345678901234,another-uuid-here
# TRUSTED_UUIDS=
# --- Regex Filter Access ---
# Controls who can use regex filters.
# 'none': No one can use regex filters.
# 'trusted': Only users listed in TRUSTED_UUIDS.
# 'all': All users (only recommended if ADDON_PASSWORD is set).
# Default: trusted
REGEX_FILTER_ACCESS=trusted
# --- Aliased Configurations (Vanity URLs) ---
# Create shorter, memorable installation URLs.
# Format: aliasName1:uuid1:encryptedPassword1,aliasName2:uuid2:encryptedPassword2
# Users can then access the addon via /stremio/u/aliasName/manifest.json
# ALIASED_CONFIGURATIONS=
# ==============================================================================
# CACHE CONFIGURATION
# ==============================================================================
# --- Default maximum cache size ----
# The maximum number of items that can be held in a given cache instance, if not overriden by a specific cache instance
DEFAULT_MAX_CACHE_SIZE=100000
# --- Proxy IP TTL (StremThru/MediaFlow Proxy)
# The Time-To-Live (in seconds) of items in the Public IP cache.
# Set to -1 to disable caching
PROXY_IP_CACHE_TTL=900
# --- Addon Resource Caching ---
# Control the Caching of resources fetched from other addons
# Set to -1 to disable caching.
MANIFEST_CACHE_TTL=300
SUBTITLE_CACHE_TTL=300
STREAM_CACHE_TTL=-1
CATALOG_CACHE_TTL=300
META_CACHE_TTL=300
ADDON_CATALOG_CACHE_TTL=300
# --- RPDB API Key Validation Caching ---
# Control how long a valid API key check is cached for
# Default: 7 days
RPDB_API_KEY_VALIDITY_CACHE_TTL=604800
# ==============================================================================
# FEATURE CONTROL
# ==============================================================================
# Enable or disable specific addon features.
# --- Self-Scraping ---
# Prevent this AIOStreams instance from being added as an addon to itself.
# Default: true
DISABLE_SELF_SCRAPING=true
# --- Disabled Hosts ---
# Prevent certain hostnames from being added as addons.
# Format: host1:reason1,host2:reason2
# Example: DISABLED_HOSTS=torrentio.strem.fun:Blocked by Torrentio
# DISABLED_HOSTS=
# --- Disabled Addons (Marketplace) ---
# Disable specific addons from appearing in the marketplace.
# See https://github.com/Viren070/AIOStreams/blob/main/packages/core/src/utils/marketplace.ts for IDs.
# Format: addonID1:reason1,addonID2:reason2
# Example: DISABLED_ADDONS=torrentio:Blocked by Torrentio
# DISABLED_ADDONS=
# --- Disabled Services (Configuration Page) ---
# Hide certain services (e.g., debrid services) from the configuration page.
# Format: service1:reason1,service2:reason2
# Example: DISABLED_SERVICES=realdebrid:Not available on this instance
# DISABLED_SERVICES=
# ==============================================================================
# LOGGING
# ==============================================================================
# --- Log Level ---
# Set the verbosity of logs. Options: "error", "warn", "info", "http", "verbose","debug", "silly"
# Default: info
LOG_LEVEL=http
# --- Log Format ---
# Output logs in "json" or "text" format.
# Default: text
LOG_FORMAT=text
# --- Log Sensitive Information ---
# Whether to include potentially sensitive info (like API keys) in logs.
# Useful for debugging, but disable for production if concerned.
# Default: true
LOG_SENSITIVE_INFO=true
# --- Log Timezone ---
# Adjust the timezone used for logging
# e.g. Europe/Paris, America/New_York
LOG_TIMEZONE=Etc/UTC
# ==============================================================================
# PROXY FOR OUTGOING ADDON REQUESTS (Torrentio, etc.)
# ==============================================================================
# Configure a proxy for requests made *by* this AIOStreams instance *to* other addons (e.g., Torrentio).
# Useful if your server's IP is blocked by an upstream service.
# --- Addon Proxy URL ---
# The proxy URL to use for all requests to upstream addons.
# Example: ADDON_PROXY=http://warp:1080 (using https://github.com/cmj2002/warp-docker)
# ADDON_PROXY=
# --- Addon Proxy Configuration ---
# Optionally, specify which domains to proxy.
# Comma-separated list of rules: domain_pattern:boolean. Later rules have higher priority.
# Wildcards (*) can be used.
# Example: ADDON_PROXY_CONFIG="*:false,*.strem.fun:true" (only proxy *.strem.fun domains)
# ADDON_PROXY_CONFIG=
# ==============================================================================
# DEFAULT/FORCED STREAM PROXY (MediaFlow, StremThru)
# ==============================================================================
# Configure how AIOStreams handles stream proxies like MediaFlow or StremThru for playback.
# 'DEFAULT_' values are pre-filled. 'FORCE_' values override user settings.
# --- Stream Proxy Enabled ---
# DEFAULT_PROXY_ENABLED=true # Default state for enabling a stream proxy.
# FORCE_PROXY_ENABLED=false # Force stream proxy on/off for all users.
# --- Stream Proxy ID ---
# 'mediaflow' or 'stremthru'
DEFAULT_PROXY_ID=mediaflow
# FORCE_PROXY_ID=
# --- Stream Proxy URL ---
# URL of your MediaFlow or StremThru instance.
# DEFAULT_PROXY_URL=
# FORCE_PROXY_URL=
# --- Stream Proxy Credentials ---
# Format: username:password
# DEFAULT_PROXY_CREDENTIALS=
# FORCE_PROXY_CREDENTIALS=
# --- Stream Proxy Public IP ---
# Public IP for the proxy, if needed.
# DEFAULT_PROXY_PUBLIC_IP=
# FORCE_PROXY_PUBLIC_IP=
# --- Proxied Services ---
# Comma-separated list of services whose streams should be proxied (e.g., realdebrid,alldebrid).
# DEFAULT_PROXY_PROXIED_SERVICES=
# FORCE_PROXY_PROXIED_SERVICES=
# --- Disable Proxied Addons Feature ---
# If true, it disables the 'Proxied Addons' option.
FORCE_PROXY_DISABLE_PROXIED_ADDONS=false
# --- Encrypt Streaming URLs ---
# Encrypt MediaFlow/StremThru URLs for better compatibility with external players.
ENCRYPT_MEDIAFLOW_URLS=true
ENCRYPT_STREMTHRU_URLS=true
# --- Forced Public proxy URL adjustments ----
# If you'd like to force some adjustments to be made to the streaming urls generated by either proxy, you can do that here.
# This is useful when you want to use a local url for requests but have AIOStreams force the urls to use a specific host, port, and protocol.
# FORCE_PUBLIC_PROXY_HOST=
# FORCE_PUBLIC_PROXY_PORT=
# FORCE_PUBLIC_PROXY_PROTOCOL=
# ==============================================================================
# ADVANCED CONFIGURATION & LIMITS
# ==============================================================================
# --- General Default Timeout ---
# Default timeout in milliseconds for all requests if not overridden by a specific timeout.
# Default: 15000 (15 seconds)
DEFAULT_TIMEOUT=15000
# --- Configuration Limits ---
# Maximum number of addons allowed per AIOStreams configuration.
MAX_ADDONS=15
# Maximum number of groups allowed per AIOStreams configuration
MAX_GROUPS=20
# Maximum number of keyword filters per AIOStreams configuration.
MAX_KEYWORD_FILTERS=30
# Maximum number of condition filters per AIOStreams configuration
MAX_CONDITION_FILTERS=30
# Maximum timeout (ms) an addon can be set to via override.
MAX_TIMEOUT=50000
# Minimum timeout (ms) an addon can be set to via override.
MIN_TIMEOUT=1000
# ==============================================================================
# RATE LIMIT CONFIGURATION
# ==============================================================================
# Configure rate limits to prevent abuse. Typically, defaults are fine.
# --- Disable Rate Limits ---
# Set to true to disable all rate limits (NOT RECOMMENDED).
# Default: false
DISABLE_RATE_LIMITS=false
# Window and Max requests refer to the maximum number of requests a user can make within a specific timeframe
# --- Static File Serving ---
STATIC_RATE_LIMIT_WINDOW=5
STATIC_RATE_LIMIT_MAX_REQUESTS=75
# --- User API ---
USER_API_RATE_LIMIT_WINDOW=5
USER_API_RATE_LIMIT_MAX_REQUESTS=5
# --- Stream API ---
STREAM_API_RATE_LIMIT_WINDOW=5
STREAM_API_RATE_LIMIT_MAX_REQUESTS=10
# --- Format API ---
FORMAT_API_RATE_LIMIT_WINDOW=5
FORMAT_API_RATE_LIMIT_MAX_REQUESTS=30
# --- Catalog API ---
CATALOG_API_RATE_LIMIT_WINDOW=5
CATALOG_API_RATE_LIMIT_MAX_REQUESTS=5
# --- Stremio Stream ---
STREMIO_STREAM_RATE_LIMIT_WINDOW=15
STREMIO_STREAM_RATE_LIMIT_MAX_REQUESTS=10
# --- Stremio Catalog ---
STREMIO_CATALOG_RATE_LIMIT_WINDOW=5
STREMIO_CATALOG_RATE_LIMIT_MAX_REQUESTS=30
# --- Stremio Manifest ---
STREMIO_MANIFEST_RATE_LIMIT_WINDOW=5
STREMIO_MANIFEST_RATE_LIMIT_MAX_REQUESTS=5
# --- Stremio Subtitle ---
STREMIO_SUBTITLE_RATE_LIMIT_WINDOW=5
STREMIO_SUBTITLE_RATE_LIMIT_MAX_REQUESTS=10
# --- Stremio Meta ---
STREMIO_META_RATE_LIMIT_WINDOW=5
STREMIO_META_RATE_LIMIT_MAX_REQUESTS=15
# ==============================================================================
# INACTIVE USER PRUNING
# ==============================================================================
# Automatically prune (delete) inactive user configurations.
# --- Prune Interval ---
# How often to check for inactive users, in seconds.
# Default: 86400 (1 day)
PRUNE_INTERVAL=86400
# --- Prune Max Inactivity Days ---
# Maximum days of inactivity before a user's configuration is pruned.
# Set to -1 to disable
# Default: -1
PRUNE_MAX_DAYS=-1
# ==============================================================================
# EXTERNAL ADDON SERVICE URLs & TIMEOUTS
# ==============================================================================
# URLs and default timeouts for various external Stremio addons that AIOStreams can integrate with.
# Change these if you use self-hosted versions or if defaults become outdated.
# ----------- COMET ------------
COMET_URL=https://comet.elfhosted.com/
# DEFAULT_COMET_TIMEOUT=
# Advanced: Override Comet hostname/port/protocol if COMET_URL is internal but needs to be public-facing.
# Only uncomment and set if needed. Usually, leave these commented.
# FORCE_COMET_HOSTNAME=
# FORCE_COMET_PORT=
# FORCE_COMET_PROTOCOL= # e.g., https
# ----------- MEDIAFUSION ------------
MEDIAFUSION_URL=https://mediafusion.elfhosted.com/
# DEFAULT_MEDIAFUSION_TIMEOUT=
MEDIAFUSION_CONFIG_TIMEOUT=5000 # Timeout (ms) for /encrypt-user-data endpoint.
# API Password for self-hosted MediaFusion (for auto-configuration).
# MEDIAFUSION_API_PASSWORD=
# ----------- JACKETTIO -------------
JACKETTIO_URL=https://jackettio.elfhosted.com/
# DEFAULT_JACKETTIO_TIMEOUT=
# Default indexers for auto-configuration with Jackettio.
DEFAULT_JACKETTIO_INDEXERS='["bitsearch", "eztv", "thepiratebay", "therarbg", "yts"]'
# Default StremThru URL used by Jackettio.
DEFAULT_JACKETTIO_STREMTHRU_URL=https://stremthru.13377001.xyz
# Self-hosted StremThru for Jackettio:
# DEFAULT_JACKETTIO_STREMTHRU_URL=http://stremthru:8080
# Advanced: Override Jackettio hostname/port/protocol (similar to Comet).
# FORCE_JACKETTIO_HOSTNAME=
# FORCE_JACKETTIO_PORT=
# FORCE_JACKETTIO_PROTOCOL=
# --------- STREMTHRU-STORE ---------
STREMTHRU_STORE_URL=https://stremthru.elfhosted.com/stremio/store/
# DEFAULT_STREMTHRU_STORE_TIMEOUT=
# Advanced: Override StremThru Store hostname/port/protocol (similar to Comet).
# FORCE_STREMTHRU_STORE_HOST=
# FORCE_STREMTHRU_STORE_PORT=
# FORCE_STREMTHRU_STORE_PROTOCOL=
# --------- STREMTHRU-TORZ -----
STREMTHRU_TORZ_URL=https://stremthru.elfhosted.com/stremio/torz/
# DEFAULT_STREMTHRU_TORZ_TIMEOUT=
# Advanced: Override StremThru Torz hostname/port/protocol (similar to Comet).
# FORCE_STREMTHRU_TORZ_HOST=
# FORCE_STREMTHRU_TORZ_PORT=
# FORCE_STREMTHRU_TORZ_PROTOCOL=
# --------- EASYNEWS+ ADDON ---------
EASYNEWS_PLUS_URL=https://b89262c192b0-stremio-easynews-addon.baby-beamup.club/
# DEFAULT_EASYNEWS_PLUS_TIMEOUT=
# -------- EASYNEWS++ ADDON ---------
EASYNEWS_PLUS_PLUS_URL=https://easynews-cloudflare-worker.jqrw92fchz.workers.dev/
# DEFAULT_EASYNEWS_PLUS_PLUS_TIMEOUT=
# --------- STREAMFUSION ---------
STREAMFUSION_URL=https://stream-fusion.stremiofr.com/
# DEFAULT_STREAMFUSION_TIMEOUT=
# --------- MARVEL UNIVERSE ---------
MARVEL_UNIVERSE_URL=https://addon-marvel.onrender.com/
# DEFAULT_MARVEL_UNIVERSE_TIMEOUT=
# --------- DC UNIVERSE ---------
DC_UNIVERSE_URL=https://addon-dc-cq85.onrender.com/
# DEFAULT_DC_UNIVERSE_TIMEOUT=
# --------- STAR WARS UNIVERSE ---------
STAR_WARS_UNIVERSE_URL=https://addon-star-wars-u9e3.onrender.com/
# DEFAULT_STAR_WARS_UNIVERSE_TIMEOUT=
# --------- ANIME KITSU ---------
ANIME_KITSU_URL=https://anime-kitsu.strem.fun/
# DEFAULT_ANIME_KITSU_TIMEOUT=
# --------- NUVIOSTREAMS ---------
NUVIOSTREAMS_URL=https://nuviostreams.hayd.uk/
# DEFAULT_NUVIOSTREAMS_TIMEOUT=
# --------- TMDB COLLECTIONS ---------
TMDB_COLLECTIONS_URL=https://61ab9c85a149-tmdb-collections.baby-beamup.club/
# DEFAULT_TMDB_COLLECTIONS_TIMEOUT=
# ----------- TORRENTIO -------------
TORRENTIO_URL=https://torrentio.strem.fun/
# DEFAULT_TORRENTIO_TIMEOUT=
# -------- ORION STREMIO ADDON --------
ORION_STREMIO_ADDON_URL=https://5a0d1888fa64-orion.baby-beamup.club/
# DEFAULT_ORION_STREMIO_ADDON_TIMEOUT=
# ------------ PEERFLIX --------------
PEERFLIX_URL=https://peerflix-addon.onrender.com/
# DEFAULT_PEERFLIX_TIMEOUT=
# -------- TORBOX STREMIO ADDON --------
TORBOX_STREMIO_URL=https://stremio.torbox.app/
# DEFAULT_TORBOX_STREMIO_TIMEOUT=
# -------- EASYNEWS ADDON (Standalone) --------
EASYNEWS_URL=https://ea627ddf0ee7-easynews.baby-beamup.club/
# DEFAULT_EASYNEWS_TIMEOUT=
# ------------ DEBRIDIO -----------
DEBRIDIO_URL=https://addon.debridio.com/
# DEFAULT_DEBRIDIO_TIMEOUT=
# ------------ DEBRIDIO TVDB ------------
DEBRIDIO_TVDB_URL=https://tvdb-addon.debridio.com/
# DEFAULT_DEBRIDIO_TVDB_TIMEOUT=
# ------------ DEBRIDIO TMDB ------------
DEBRIDIO_TMDB_URL=https://tmdb-addon.debridio.com/
# DEFAULT_DEBRIDIO_TMDB_TIMEOUT=
# ------------ DEBRIDIO TV ------------
DEBRIDIO_TV_URL=https://tv-addon.debridio.com/
# DEFAULT_DEBRIDIO_TV_TIMEOUT=
# ------------ DEBRIDIO WATCHTOWER ------------
DEBRIDIO_WATCHTOWER_URL=https://wt-addon.debridio.com/
# DEFAULT_DEBRIDIO_WATCHTOWER_TIMEOUT=
# ------------ OPENSUBTITLES V3 ------------
OPENSUBTITLES_URL=https://opensubtitles-v3.strem.io/
# DEFAULT_OPENSUBTITLES_TIMEOUT=
# ------------ TORRENT CATALOGS ------------
TORRENT_CATALOGS_URL=https://torrent-catalogs.strem.fun/
# DEFAULT_TORRENT_CATALOGS_TIMEOUT=
# ------------ RPDB CATALOGS ------------
RPDB_CATALOGS_URL=https://1fe84bc728af-rpdb.baby-beamup.club/
# DEFAULT_RPDB_CATALOGS_TIMEOUT=
# ------------- DMM Cast ----------------
# DEFAULT_DMM_CAST_TIMEOUT=
# ----------- STREAMING CATALOGS ---------
STREAMING_CATALOGS_URL=https://7a82163c306e-stremio-netflix-catalog-addon.baby-beamup.club
# DEFAULT_STREAMING_CATALOGS_TIMEOUT=
# ----------- ANIME CATALOGS -----------
ANIME_CATALOGS_URL=https://1fe84bc728af-stremio-anime-catalogs.baby-beamup.club
# DEFAULT_ANIME_CATALOGS_TIMEOUT=
# ----------- DOCTOR WHO UNIVERSE -----------
DOCTOR_WHO_UNIVERSE_URL=https://new-who.onrender.com
# DEFAULT_DOCTOR_WHO_UNIVERSE_TIMEOUT=
# ----------- WEBSTREAMR -----------
WEBSTREAMR_URL=https://webstreamr.hayd.uk
# DEFAULT_WEBSTREAMR_TIMEOUT=
# ==============================================================================