18 Commits

Author SHA1 Message Date
Lucas Gómez (KB) 819bcfbc29 Merge branch 'main' into main 2025-10-16 14:04:49 +02:00
Bimal Timilsina b7438492d5 feat(ageRating): add age rating in imdb link and genres based on config 2025-10-12 13:45:11 +05:45
Bimal Timilsina d88f63d13c feat: Add age rating as first genre with IMDb parental guide link
- Extract age ratings from TMDB API with regional fallback (US)
- Add age rating as first genre in metadata response
- Include IMDb parental guide link as first genre link
- Add configurable toggle for age rating display
- Implement caching for age rating data (1 hour TTL)
- Support both movies and TV shows with proper error handling
2025-10-12 13:42:42 +05:45
Lucas Gómez (KB) b64e67fd84 Fix to pass Codacy Static Code Analysis
Some things like parenthesis in arrow funcs are not respected like 5 lines above my additions but oh well
2025-08-26 19:04:20 +02:00
Lucas Gómez (KB) cd1f850e40 feat: Add related movie/series links
- Filter out the collection item from which we requested the collection
- Add some additional error handling and return empty array when no collection is found
2025-08-26 18:36:49 +02:00
Lucas Gómez (KB) 7f106a318e First draft 2025-08-26 17:16:50 +02:00
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
mrcanelas 23e1c6971b feat(getMeta): add castCount parameter in buildLinks and update parseCreditsLink 2025-07-15 09:28:36 -03:00
mrcanelas 1700497f48 fix: prevent null reference error in parseConfig function
- Add null safety checks to prevent "Cannot read properties of null" error
- Ensure parseConfig always returns a valid object, even with null/undefined input
- Add fallback object ({}) to all parseConfig calls in index.js
- Improve error handling for catalogChoices parameter
- Closes #987

Fixes TypeError when accessing config.language on null config object
2025-07-05 22:31:20 -03:00
mrcanelas ac8d2c660e refactor(config): use lz-string to compress config in URLs with legacy fallback
- Now uses lz-string to compress and decompress addon config in URLs for better compatibility (ESM and CJS).
- Backend supports fallback to plain JSON for legacy URLs.
2025-07-01 15:32:56 -03:00
mrcanelas b33d71610a fix(parseCast): remove debug log for count parameter 2025-07-01 15:06:27 -03:00
mrcanelas 31b20971e8 feat(config): add 'hideInCinemaTag' and improve cast count logic
- Added support to remove 'imdb_id' from meta response when 'hideInCinemaTag' is enabled. #111
- Updated parseCast to return all cast members when count is undefined, supporting the 'Unlimited' option in configuration.
2025-07-01 14:40:19 -03:00
mrcanelas 88b94e0041 feat: limit cast parsing to top 5 entries 2025-05-12 18:25:22 -03:00
stekc 4e1be2cf3a feat: cast images 2025-05-12 17:30:03 -03:00
mrcanelas 8bc6239d28 fix: prevent TypeError in parseImdbLink by avoiding toFixed()
Removed `toFixed(1)` on `vote_average` to prevent a TypeError when `vote_average` is not a number.
This ensures the function handles different data types correctly without breaking execution.
2025-03-03 19:10:36 -03:00
mrcanelas 89fbab9aa7 Add configure page to main repo 2025-02-05 16:12:35 -03:00
mrcanelas 0c74237fa3 Revert "Update to 3.1.2"
This reverts commit c2b4805792.
2025-02-01 14:39:33 -03:00
mrcanelas c2b4805792 Update to 3.1.2 2025-02-01 14:09:00 -03:00