158 Commits

Author SHA1 Message Date
Viren070 1c4bfa2d1f fix: add secret_str when using encoded_user_data (#501)
* fix: add secret_str handling in middleware when using encoded_user_data

* fix: fallback only

* fix: get directly

* fix: use request.scope

* fix: await

* style: format
2025-04-30 04:52:26 +05:30
mhdzumair 532532874c Refactor frontend API router and add sports catalog IDs; enhance API key validation 2025-04-06 17:08:20 +05:30
Mohamed Zumair f5c1164d65 Add support for frontend API for configuration and app related data (#481) 2025-03-24 01:05:22 +05:30
mhdzumair b1c3deff75 feat: Redesigned underrated Download page with easy season and episode selection 2025-02-28 11:19:27 +05:30
mhdzumair dd9d136b5f Add sorting and ordering support to MDBList integration
Introduced sorting and ordering functionality for MDBList, allowing users to customize the display order of items. Updated backend, frontend, and database schemas to support these options, including caching, API requests, and user interface enhancements. Adjusted styles and badges for better presentation of sorting information.
2025-01-31 00:43:28 +05:30
mhdzumair 6b5b9caa4d Add support for contribution streams movies and series catalogs 2025-01-22 09:16:02 +05:30
mhdzumair 882de090a6 Refactor delete watchlist handling for improved compatibility. 2025-01-18 09:20:31 +05:30
mhdzumair 8044e7688d Added strict filters to block adult genre entries. 2025-01-18 09:20:01 +05:30
mhdzumair 05eb6dd545 Refactor DLHD Live Sports Events scraping and storing the data
Reworked the caching logic to handle a missing cache key for "events" type gracefully. Integrated a new DLHD schedule service for improved event metadata and stream handling, leveraging fuzzy matching and IPTV-org data retrieval for enhanced TV channel mappings. Updated scraper configuration, enhanced genre handling, and added support for dynamic event descriptions.
2025-01-18 00:09:08 +05:30
mhdzumair e2d1e07086 Add support for MDBList Catalog support 2025-01-05 22:01:13 +05:30
mhdzumair 9111c6138b Simplify health check endpoint logic 2024-12-31 03:46:17 +05:30
mhdzumair dd801356db store poster as not working when its return non-image content 2024-12-30 17:40:16 +05:30
mhdzumair ab19b7c8b3 Fix catalog endpoint with genre and pagination parsing error 2024-12-30 14:07:22 +05:30
mhdzumair 45266c8b51 Fallback to cinemeta poster if failed to generate poster for imdb title 2024-12-24 21:43:55 +05:30
mhdzumair 89dd0a00fc Implement new UserData management
Store UserData in redis if compress + encryption data length is more than 1000, or else directly setup in the url secret string. Replaces legacy encryption and decryption methods with an optimized `CryptoUtils` class supporting compression, improved encryption, and Redis-based storage.
2024-12-24 21:40:48 +05:30
mhdzumair 7d44695a08 Fix health check endpoint due to httpx session 2024-12-15 10:38:24 +05:30
mhdzumair fa425a00aa Add support for preserving and resetting sensitive credentials config fields
Introduced mechanisms to handle preconfigured sensitive fields with masking and reset options in the UI. Extended User functionality to reuse existing encrypted configuration for sensitive fields when editing. Improved styling and user experience for managing credentials and secure configurations.
2024-12-15 00:16:58 +05:30
mhdzumair 98085b7c06 Add support for request proxy with httpx & aiohttp libs
Replaced custom proxy implementation and `curl-cffi` with unified `httpx` and `aiohttp` proxy support using `requests_proxy_url` config from settings. Simplified and standardized HTTP client instantiations across various modules for improved maintainability and consistency.
2024-12-13 15:55:10 +05:30
mhdzumair 0e633d31d8 Remove caching for contribution user & Add support for parsing torrent seasons, episodes from files & fix language selection on upload contribution streams 2024-12-02 22:30:44 +05:30
mhdzumair 75c64ad88f Remove sensitive data from streaming provider when re-configure 2024-11-30 06:37:52 +05:30
mhdzumair 29f4bd11aa Improve stream sorting with direction toggle feature
Enhanced the stream sorting functionality to support sorting direction (ascending or descending) based on user preferences in both the backend and UI. Introduced 'SortingOption' in the schema to capture sorting criteria with direction, and updated the sorting logic to accommodate these changes. Additionally, modified the user interface to include buttons for toggling sort directions, providing a more intuitive sorting experience for users.
2024-11-29 23:08:15 +05:30
mhdzumair eaf1fbdd96 Add support for disabling streaming providers and error handling
Introduce a system for toggling streaming providers, allowing specific providers to be disabled via configuration. Enhance error handling in user data decryption by adding validation checks and returning precise error messages in JSON responses. These changes improve flexibility for administrators and provide better feedback to users.
2024-11-28 18:44:52 +05:30
mhdzumair 1483336adc Refactor Redis client imports and configuration
Moved Redis client setup to a new module `redis_database` and updated all references across the codebase. Also added a new configuration setting for redis_max_connections for better resource management.
2024-11-28 16:08:34 +05:30
mhdzumair da4de1423b Remove redundant disable_download_via_browser env configuration option 2024-11-27 08:32:07 +05:30
mhdzumair 4d96ae86cc Refactor middleware error handling and update middleware order to print access logs
Consolidate error handling logic across middleware components to improve maintainability. Adjust the order of middleware addition in the app for improved logging and user data access.
2024-11-02 22:59:20 +05:30
Mohamed Zumair 467f378207 Add Configuration validations & loading widget for responsiveness (#342) 2024-11-02 19:56:02 +05:30
Mohamed Zumair 481891e324 Update version handling and add branding description (#341)
Removed git revision from the version string in the API response. Added a new field for branding description in settings and integrated it in the home template. Introduced VERSION argument and environment variable in the Dockerfile.
2024-11-02 07:15:16 +05:30
Mohamed Zumair 05fbafe8e6 Add configuration mode & Refactor stream filtering and catalog configuration (#340)
* Add configuration mode switch for user customization

Introduce a 'Configuration Mode' switch to toggle between 'Newbie' and 'Pro' modes, allowing users to select between simplified and advanced configurations. Updated CSS and JS to handle the display of specific settings and sections based on the selected mode, enhancing user experience and customization options.

* Update default language filters and sorting priority.

* Refactor stream filtering and catalog configuration.

Removed redundant catalog selection logic and refactored stream filtering to streamline the code. Updated configuration scripts and UI to align with new functionality, leading to cleaner and more maintainable code.
2024-11-01 23:00:41 +05:30
Mohamed Zumair b19ac4442b Improve health check functionality (#338)
Enhanced the /health endpoint to perform an HTTP HEAD request to Google, returning the status code and response time. This change provides a more accurate health status and logs errors if the check fails.
2024-11-01 16:18:39 +05:30
Mohamed Zumair 9ebf4b8092 Generate manifest.json using Jinja template for cleanest & 2.5x faster (#329) 2024-10-19 22:44:34 +05:30
Mohamed Zumair ecaf7e5cf1 Added filter for only show cached stream, Redis lock for prevent concurrent live scrape, bug fixes & improvements (#325)
* cleanup lifespan vars

* Show API process time in logs

* store the cache validation of full URL for live sports event

* Add support for filter only show cached streams

* Update default configs

* properly handle prowlarr exception on MaxProcessLimitReached

* Add redis lock mechanism to prevent concurrent live scrapers from multiple instances of stremio addon installation users
2024-10-15 18:43:03 +05:30
Mohamed Zumair 7103d03428 #312: Fix IMDb data scraping (#313)
* #312: Fix IMDb data scraping

* Handle NoneType in IMDb scraper and improve type annotations
2024-10-06 22:49:20 +05:30
Mohamed Zumair 77042b2054 Fallback imdb metadata scraping via cinemeta & Scrapy Ratelimit middleware & metadata empty cache bugfixes (#290)
* Add ratelimit retry middleware for scrapy & bugfixes

* #289: bugfix metadata & catalog empty cache error

* Add support for fallback imdb metadata scraping through cinemeta API
2024-09-18 10:13:53 +05:30
Mohamed Zumair c8f660b7ee Add Support for download streams via web browser & support disabling the metadata for imdb title (#287)
* Add Support for download streams via web browser & support disabling the metadata for imdb title

* Add env config to enable or disable download via browser feature
2024-09-18 06:54:37 +05:30
Mohamed Zumair cf8ed59012 Added Prowlarr feed scraping & Improve Advanced scraping capability for prowlarr, zilean, torrentio & more bugfixes & improvements (#286)
* Update Python version

* Refactor Redis client

* WIP: Refactor scrapers

* Added Prowlarr feed scraping & Improve Advanced scraping capability for prowlarr, zilean, torrentio & more bugfixes & improvements

* Improve batch_process_with_circuit_breaker implementation to yield an individual task as soon as completed
2024-09-16 08:26:57 +05:30
Mohamed Zumair d169b28aec Add support for RPDB posters & Support fallback posters via MediaFusion posters (#284) 2024-09-12 12:17:33 +05:30
Mohamed Zumair 76980a92dd Added new MediaFusion configuration setup for Kodi Add-On with QR code & Configure URL setup (#282)
* Added new MediaFusion configuration setup for Kodi Add-On with QR code & Configure URL setup

* remove test codes & correctly generate qr code with existing secret
2024-09-12 01:59:28 +05:30
Mohamed Zumair 649de9e503 Update Python version & refactror Redis client usage and streaming provider route endpoints (#277)
* Update Python version

* Refactor Redis client

* Refactor streaming routes endpoint functions
2024-09-05 06:46:07 +05:30
Mohamed Zumair e502d0f10e Add support for MediaFlow Proxy for Debrid stream & Live stream (#271)
* Add support for MediaFlow Proxy for Debrid stream & Live stream

* Add emoji for mediaflow proxy stream and add error logging
2024-08-29 10:02:01 +05:30
Mohamed Zumair 3ccd1f8a55 Sort & Filter stream languages, quality based on user preference & Reduce userdata size (#250)
* feat: Sort & Filter stream languages, quality based on user preference

* feat: Use field aliases & compress after encrypt user data to reduce the config user data size

* Refactor catalog parsing logic and add CatalogParsePipeline

* Update language handling in stream creation

* update packages

* Update README

* refactor parse torrent streams

* use lru cache for common function

* handle item checking

* address code review

* Update PTT & parse complete language

* cleanup
2024-08-26 22:38:27 +05:30
Mohamed Zumair 130b4c06a5 Add support for parental guides nudity filter and certification filter in user config (#244)
* Add support for parental guides nudity filter and certification filter in user config

* refactor validator according to review
2024-07-21 09:18:19 +05:30
mhdzumair 3ceb4c2849 exception handling in get_poster function 2024-07-20 06:56:11 +05:30
mhdzumair 38fd344024 Added support for filter movie & series by genre 2024-07-08 00:57:55 +05:30
mhdzumair 4b926b0535 Add support namespace in Live TV streams to store specific to elfhosted tenants namespace 2024-06-03 13:17:07 +05:30
mhdzumair f3cb84a041 remove contribution streams by default with an option to enable through catalog 2024-05-20 22:55:27 +05:30
mhdzumair 9b22370753 fix: Preserve user sorting options in configure 2024-05-19 23:28:11 +05:30
mhdzumair d91d067b83 feat: Add support for PikPak task autoretry & Improve torrent name finder & Exc handling, Refactors 2024-05-19 23:00:07 +05:30
mhdzumair 455093f79d feat: Add support for user import data & scraper 2024-05-19 16:52:40 +05:30
mhdzumair 27679ce6e1 feat: Add support for quickly trigger IMDb data update within stremio 2024-05-15 11:28:25 +05:30
mhdzumair cf2ee1f5fe Refactor poster URLs to use separate host for images 2024-05-12 23:55:42 +05:30