MovixOpenSource/API/Mainapi/.env.example
Movix 7059124b24 Majs de urls + corrections scrapers + nouvelle source
Maj url dans l'app mobile, extension et userscript et backend : streamonsport, livetv.

Amélioration du scraper darkiworld/hydracker

Nouvelle source vo/vostfr qui est plutôt pas mal
Renommages des sources vo/vostfr avec le nom du doamine pour mieux se repérer
Correction de la synchronisation des données qui étais buggé sur certains navigateurs autre que chrome sur certaines versions
Amélioration de la détection du blocage dns
2026-05-06 22:54:06 +02:00

97 lines
6.5 KiB
Text

PORT=YOUR_API_PORT # Exemple: 3000
JWT_SECRET=YOUR_JWT_SECRET # Exemple: change_me_super_secret_key
OPENROUTER_API_KEY=YOUR_OPENROUTER_API_KEY # Exemple: sk-or-v1-xxxxxxxx
TMDB_API_KEY=YOUR_BACKEND_TMDB_API_KEY # Exemple: 123abc456def7890
UQLOAD_API_KEY=YOUR_UQLOAD_API_KEY # Cle API XVideoSharing / Uqload
DB_HOST=YOUR_DB_HOST # Exemple: localhost
DB_PORT=YOUR_DB_PORT # Exemple: 3306
DB_USER=YOUR_DB_USER # Exemple: root
DB_PASSWORD=YOUR_DB_PASSWORD # Exemple: motdepassefort
DB_NAME=YOUR_DB_NAME # Exemple: movix
FRONTEND_BASE_URL=YOUR_FRONTEND_BASE_URL # Exemple: https://movix.rodeo
DISCORD_SYNC_ERROR_WEBHOOK_URL=YOUR_DISCORD_SYNC_ERROR_WEBHOOK_URL # Exemple: https://discord.com/api/webhooks/xxx/yyy
REDIS_HOST=YOUR_REDIS_HOST # Exemple: 127.0.0.1
REDIS_PORT=YOUR_REDIS_PORT # Exemple: 6379
REDIS_PASSWORD=YOUR_REDIS_PASSWORD # Exemple: redis_password
NUM_WORKERS=YOUR_NUM_WORKERS # Exemple: 4
PROXY_SERVER_URL=YOUR_PROXY_SERVER_URL # Exemple: https://proxy.movix.rodeo
CF_PROXY_403_URL=YOUR_CF_PROXY_403_URL # Exemple: https://cf-proxy-403.movix.rodeo
BYPASS403_SERVER_URL=YOUR_BYPASS403_SERVER_URL # Exemple: https://proxy.movix.blog
CLOUDFLARE_WORKERS_PROXIES=YOUR_CLOUDFLARE_WORKERS_PROXIES # Exemple: worker1.example.workers.dev,worker2.example.workers.dev
PROXYSCRAPE_API_TOKEN=YOUR_PROXYSCRAPE_API_TOKEN # Cle API ProxyScrape (header api-token)
PROXYSCRAPE_ACCOUNT_ID=YOUR_PROXYSCRAPE_ACCOUNT_ID
SOCKS5_PROXIES=YOUR_SOCKS5_PROXIES_JSON # Exemple: [{"host":"1.2.3.4","port":12324,"auth":"user:pass","type":"socks5h"}]
HTTP_PROXIES=YOUR_HTTP_PROXIES_JSON # Exemple: [{"host":"1.2.3.4","port":12323,"auth":"user:pass"}]
WITV_SOCKS5_PROXY_URL=YOUR_WITV_SOCKS5_PROXY_URL # Exemple: socks5://user:pass@127.0.0.1:1080
DARKIWORLD_BASE_URL=YOUR_DARKIWORLD_BASE_URL # Exemple: https://darkiworld16.com
DARKIWORLD_COOKIES=YOUR_DARKIWORLD_COOKIES # Exemple: SERVERID=S1; connected=1; dbruser=1; remember_web_...=...; cookie_notice=true; XSRF-TOKEN=...; darkiworld_session=...
DARKIWORLD_XSRF_TOKEN=YOUR_DARKIWORLD_XSRF_TOKEN # Exemple: longue-chaine-xsrf-decodée
TURNSTILE_SECRET_KEY=YOUR_TURNSTILE_SECRET_KEY # Exemple: 0x4AAAAAAxxxxxxxxxxxxxxxxxxxxxxxx
TURNSTILE_INVISIBLE_SECRETKEY=YOUR_TURNSTILE_INVISIBLE_SECRETKEY # Turnstile invisible (likes, etc.)
BESTDEBRID_API_KEY=YOUR_BESTDEBRID_API_KEY
VIP_SUPPORT_TELEGRAM_URL=YOUR_VIP_SUPPORT_TELEGRAM_URL # Exemple: https://t.me/movix_site
VIP_INVOICE_EXPIRATION_MINUTES=YOUR_VIP_INVOICE_EXPIRATION_MINUTES # Exemple: 210
VIP_BTC_XPUB=YOUR_VIP_BTC_XPUB # xpub BTC dedie a la reception, sans seed ni cle privee
VIP_BTC_ADDRESS_TYPE=YOUR_VIP_BTC_ADDRESS_TYPE # Type d'adresse derivee: legacy | segwit | p2sh-segwit (optionnel, auto-detecte selon le prefixe si vide)
VIP_BTC_CHAIN=YOUR_VIP_BTC_CHAIN # Branche de derivation sous le xpub: 0 = adresses externes de reception (par defaut)
VIP_BTC_START_INDEX=YOUR_VIP_BTC_START_INDEX # Index de depart optionnel si les premieres adresses du wallet sont deja utilisees
VIP_BTC_CONFIRMATIONS=YOUR_VIP_BTC_CONFIRMATIONS # Exemple: 1
VIP_LTC_XPUB=YOUR_VIP_LTC_XPUB # xpub/Ltub LTC dedie a la reception, sans seed ni cle privee
VIP_LTC_ADDRESS_TYPE=YOUR_VIP_LTC_ADDRESS_TYPE # Type d'adresse derivee: legacy | segwit | p2sh-segwit (optionnel, auto-detecte selon le prefixe si vide)
VIP_LTC_CHAIN=YOUR_VIP_LTC_CHAIN # Branche de derivation sous le xpub: 0 = adresses externes de reception (par defaut)
VIP_LTC_START_INDEX=YOUR_VIP_LTC_START_INDEX # Index de depart optionnel si les premieres adresses du wallet sont deja utilisees
VIP_LTC_CONFIRMATIONS=YOUR_VIP_LTC_CONFIRMATIONS # Exemple: 1
VIP_PAYGATE_ENABLED=YOUR_VIP_PAYGATE_ENABLED # Exemple: true
VIP_PAYGATE_DOMAIN=YOUR_VIP_PAYGATE_DOMAIN # Exemple: checkout.paygate.to
VIP_PAYGATE_SETTLEMENT_WALLET=YOUR_VIP_PAYGATE_SETTLEMENT_WALLET # Adresse de settlement configuree chez PayGate
VIP_PAYGATE_CALLBACK_BASE_URL=YOUR_VIP_PAYGATE_CALLBACK_BASE_URL # Optionnel, force l'URL publique backend pour les callbacks
VIP_PAYGATE_LOGO_URL=YOUR_VIP_PAYGATE_LOGO_URL # Optionnel, logo affiche dans le checkout heberge
VIP_PAYGATE_BACKGROUND=YOUR_VIP_PAYGATE_BACKGROUND # Optionnel, code HEX du fond du checkout PayGate (ex: #0A0A0A)
VIP_PAYGATE_THEME=YOUR_VIP_PAYGATE_THEME # Optionnel, code HEX de la couleur de theme PayGate (ex: #FBBF24)
VIP_PAYGATE_BUTTON=YOUR_VIP_PAYGATE_BUTTON # Optionnel, code HEX du bouton PayGate (ex: #EAB308)
VIP_PAYGATE_MIN_AMOUNT_EUR=YOUR_VIP_PAYGATE_MIN_AMOUNT_EUR # Exemple: 6.25
VIP_PAYGATE_MIN_PACK_EUR=YOUR_VIP_PAYGATE_MIN_PACK_EUR # Exemple: 7
VIP_PAYGATE_MIN_PAID_RATIO=YOUR_VIP_PAYGATE_MIN_PAID_RATIO # Exemple: 0.60
BLOCKCYPHER_TOKEN=YOUR_BLOCKCYPHER_TOKEN
FSTREAM_LOGIN_NAME=YOUR_FSTREAM_LOGIN_NAME # Exemple: monlogin
FSTREAM_LOGIN_PASSWORD=YOUR_FSTREAM_LOGIN_PASSWORD # Exemple: monmotdepasse
VAPID_PUBLIC_KEY=YOUR_VAPID_PUBLIC_KEY # Généré avec: npx web-push generate-vapid-keys
VAPID_PRIVATE_KEY=YOUR_VAPID_PRIVATE_KEY # Généré avec: npx web-push generate-vapid-keys
VAPID_SUBJECT=YOUR_VAPID_SUBJECT # Exemple: mailto:contact@movix.blog
XTREAM_URL=YOUR_XTREAM_URL # Exemple: http://cf.ru
XTREAM_USER=YOUR_XTREAM_USER # Exemple: 2bf0ac
XTREAM_PASS=YOUR_XTREAM_PASS # Exemple: 9d7fe
# === Payblis (VIP donations — 4th payment method) ===
# When false, /api/vip/invoices rejects payment_method=payblis requests.
VIP_PAYBLIS_ENABLED=false
# Merchant credentials (obtain from the Payblis merchant dashboard).
VIP_PAYBLIS_MERCHANT_KEY=
VIP_PAYBLIS_SECRET_KEY=
# HMAC signature strategy for the OUTGOING token sent to Payblis.
# One of: concat_declared | concat_alphabetical | over_serialized.
# Payblis sandbox accepts any — production formula unconfirmed as of 2026-04-21.
VIP_PAYBLIS_SIGNATURE_STRATEGY=concat_declared
# Toggle sandbox mode (sent as `sandbox=true` in the payment token).
VIP_PAYBLIS_SANDBOX=true
# Public store_name displayed on the Payblis checkout page.
VIP_PAYBLIS_STORE_NAME=Movix
# Optional overrides. If unset, the IPN base URL is auto-detected from the
# incoming request, and the checkout domain defaults to pay.payblis.com.
VIP_PAYBLIS_IPN_BASE_URL=
VIP_PAYBLIS_DOMAIN=pay.payblis.com
# === Hydracker queue decoding ===
# When deployed without frontend support for 202, set to 'false' to disable
# the queue (route returns 404 on cache miss instead of 202). Default: true.
HYDRACKER_QUEUE_ENABLED=true
# When 'false', /decode/:id bypasses Redis/queue entirely and POSTs hydracker
# inline (synchronous mode, like before the queue was introduced). The drain
# timer is also skipped. Useful in dev / low-traffic where the queue rarely
# reaches 50. Default: true (queue+batch of 50 enabled).
HYDRACKER_BATCHING_ENABLED=true