Files
mrcanelas f1c1071d09 feat: add proxy support to bypass TMDB regional blocks (India)
- Add HTTP client with proxy support for TMDB API calls
- Create TMDBClient wrapper extending moviedb-promise with proxy integration
- Update all TMDB API modules to use new proxy-enabled client
- Add proxy configuration via environment variables:
  * TMDB_PROXY_ENABLED - Enable/disable proxy
  * TMDB_PROXY_HOST - Proxy host address
  * TMDB_PROXY_PORT - Proxy port
  * TMDB_PROXY_PROTOCOL - Proxy protocol (http, https, socks4, socks5)
  * TMDB_PROXY_AUTH - Enable proxy authentication
  * TMDB_PROXY_USERNAME - Proxy username
  * TMDB_PROXY_PASSWORD - Proxy password

- Add proxy status endpoint (/api/proxy/status) for monitoring
- Create test script (npm run test:proxy) for proxy verification
- Add comprehensive documentation:
  * PROXY_SETUP.md - User guide for proxy configuration
  * docs/proxy-implementation.md - Technical implementation details (English)
  * env.example - Environment variables template (English)
  * docker-compose.proxy.yml - Docker setup with Cloudflare WARP

- Update README.md with proxy support section
- Add logging when proxy is used for TMDB requests
- Support selective proxy usage (only TMDB domains use proxy)
- Maintain backward compatibility with existing configurations
- Translate all Portuguese text to English for international consistency

This resolves the issue where TMDB is blocked at network level in India,
allowing users to host the addon on Indian VPS providers while accessing
TMDB through a proxy. Based on similar implementation in AIOStreams.

Closes: Optional proxy for TMDB API calls (workaround for Indian VPS block) #1208
2025-08-13 15:38:30 -03:00

28 lines
749 B
Bash

# Required
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/database?retryWrites=true
MONGODB_METRICS=mongodb+srv://username:password@cluster.mongodb.net/metrics?retryWrites=true
FANART_API=your_fanart_api_key_here
TMDB_API=your_tmdb_api_key_here
HOST_NAME=http://localhost:1337
# Server settings
PORT=1337
NODE_ENV=production
# Analytics Configuration
METRICS_USER=admin
METRICS_PASSWORD=your_secure_password_here
# Proxy Settings (optional)
# Enable proxy to bypass regional blocks
TMDB_PROXY_ENABLED=false
# Proxy configuration
TMDB_PROXY_HOST=127.0.0.1
TMDB_PROXY_PORT=1080
TMDB_PROXY_PROTOCOL=http
# Proxy authentication (optional)
TMDB_PROXY_AUTH=false
TMDB_PROXY_USERNAME=proxy_username
TMDB_PROXY_PASSWORD=proxy_password