126 Commits

Author SHA1 Message Date
mhdzumair 17308229ce Update streaming routes to use 'playback' instead of 'stream' 2025-06-08 20:26:23 +05:30
mhdzumair 2bf44ad67b Update streaming routes to use 'playback' instead of 'stream' 2025-06-08 20:24:09 +05:30
Mohamed Zumair 991d312f5b Add support for DLHD playback with MediaFlow & fix debrid playback on external player with MediaFlow (#519) 2025-06-01 07:27:50 +05:30
mhdzumair 0d25e31934 remove behaviorHints notwebready for debrid service link to support in browser 2025-02-26 13:45:16 +05:30
mhdzumair 7e4d0b91db Fix torrent name parsing to handle episode filenames correctly 2025-02-17 00:44:49 +05:30
mhdzumair 01bb0390b2 Refactor episode handling to support multiple variants of episode files in single torrent 2025-01-22 09:16:02 +05:30
mhdzumair d7513d131d Fix adult genre detection for stricter filtering. 2025-01-18 21:40:27 +05:30
mhdzumair 104d417729 Added strict filters to block adult genre entries.
Added strict filters to block adult genre entries during metadata validation and update messages to flag such content. Removed "adult" from genre options in the manifest to ensure compliance with filtering policies.
2025-01-18 09:11:27 +05:30
mhdzumair 32d675b173 Refactor adult content filtering logic to enforce more keywords on stream request 2025-01-17 06:51:09 +05:30
mhdzumair c2e7e6e995 Add support for new "Adults+" certification level 2025-01-14 14:12:56 +05:30
mhdzumair 72ddb132b8 Refactor filtering to return reasons for excluded streams
Updated the filtering logic to return a detailed breakdown of reasons for excluded streams alongside the filtered streams. This enhances transparency for users by providing specific feedback on why streams were filtered based on their configuration preferences. Adjusted related parts of the code to handle and display this data appropriately.
2025-01-14 08:56:57 +05:30
mhdzumair d32164b67d Add support for showing parental guides & Added feedback streams 2025-01-05 23:37:46 +05:30
ragmehos 34fe086989 Return Exceptions streams based on user preferences & Add support for showing parental guides (#412) 2025-01-05 22:03:12 +05:30
mhdzumair e2d1e07086 Add support for MDBList Catalog support 2025-01-05 22:01:13 +05:30
mhdzumair 37fb6c6ede Fix Stremthru token header & refactor passing stremio id for cache status 2025-01-02 12:45:54 +05:30
Munif Tanjim d67a67af8d Pass stremio video id to stremthru magnet cache check (#407) 2025-01-02 12:36:46 +05:30
mhdzumair 3b5741c2fb Ensure file_name uses basename and replace quote_plus with quote
This update ensures that the `file_name` always uses its basename for consistency and correctness. Additionally, `quote_plus` was replaced with `quote` to simplify URL encoding
2024-12-31 18:24:19 +05:30
mhdzumair 4119e0bde4 Fix media playback with filename containing slashes by using quote_plus instead of quote for URL encoding. 2024-12-31 18:04:25 +05:30
mhdzumair 9bfecfbcd7 Add support for displaying language country flags in streams description
Introduced a feature to show country flags instead of torrent languages, controlled via a new setting in the configuration UI. Updated the parser, constants, schemas, and frontend code to support this functionality. This enhancement improves user experience by providing visual cues for language-country associations.
2024-12-30 14:50:30 +05:30
mhdzumair 2374c6b534 Add dynamic addon name handling for streaming providers with MediaFlow 2024-12-30 14:09:32 +05:30
mhdzumair 25674eb063 Refactor streaming URLs to support filenames and episode paths
Updated streaming URL structure to include optional filename and episode-specific paths. Adjusted `get_or_create_video_url` and routing logic to handle these new parameters, improving flexibility and clarity in URL generation. Added URL encoding for filenames to ensure compatibility.
2024-12-30 14:08:54 +05:30
mhdzumair 4a58c846c3 Add support for hdr & uploader tags in stream details 2024-12-30 13:58:59 +05:30
mhdzumair 70e8d1946b Add support for private, semi-private, and webseed torrent types for prowlarr & jackett & Manual imports; store torrent file content
- Updated streaming providers to allow adding torrents by file for webseed and private torrents.
- Implemented functionality to store the content of torrent files.
2024-12-22 18:21:58 +05:30
mhdzumair 3b22ff1753 Fix language filtering 2024-12-15 19:08:48 +05:30
Munif Tanjim d8ae426a9a StremThru Improvements (#385)
* Improve StremThru error handling

* Allow access to http response object

* Add configure time StremThru store name validation

* Store StremThru magnet cache in redis

* Add settings toggle for storing StremThru magnet cache

* Update streaming_providers/debrid_client.py

* Support using public StremThru instance

---------

Co-authored-by: Mohamed Zumair <mhdzumair@gmail.com>
2024-12-07 10:36:31 +05:30
mhdzumair e0e5855444 fmt 2024-11-30 07:00:25 +05:30
mhdzumair bae7225655 Refactor caching to simplify streaming provider handling & only use the users downloaded list for unsupported stremthru store names 2024-11-30 06:58:43 +05:30
Munif Tanjim b52a7fdf7e Read redis debrid cache for StremThru (#383) 2024-11-30 06:41:31 +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 8dbac1c3ac Added support for maintaining caching status for each debrid service redis with expiry 2024-11-27 23:31:08 +05:30
mhdzumair da4de1423b Remove redundant disable_download_via_browser env configuration option 2024-11-27 08:32:07 +05:30
Mohamed Zumair 467f378207 Add Configuration validations & loading widget for responsiveness (#342) 2024-11-02 19:56:02 +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 9ebf4b8092 Generate manifest.json using Jinja template for cleanest & 2.5x faster (#329) 2024-10-19 22:44:34 +05:30
mhdzumair ab802cebf8 Avoid modifying streams with filter values & remove storing cached key in db 2024-10-16 16:29:44 +05:30
mhdzumair 5f7d809419 Fix dynamic sorting created_at time issue with compare offset-naive and offset-aware datetimes 2024-10-16 15:20:32 +05:30
mhdzumair 39963b6e44 Fix missing events streams on non catalog config 2024-10-16 14:49:24 +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 52d8956034 Add ScrapeOps monitoring, Add zilean filtered endpoint, Fix Prowlarr scraping with download link & Fix PikPak login error etc (#319)
* Refactor ZileanScraper to use parallel requests for searching and filtering streams with new endpoints

* Fix DLHD scraping & enable DLHD without MediaFlow

* Switch to httpx for async HTTP requests

* Implement caching for PikPak token to reduce login error

* Refactor torrent cleanup logic

* Add inactivity monitor extension to close idle spiders

Introduced `InactivityMonitor` to automatically close spiders that remain inactive for a specified time. This extension checks activity at regular intervals and uses configurable settings for check intervals and inactivity timeouts. If no items are scraped within the timeout period, the spider is closed to free resources.

* Handle TypeError in dynamic sorting of streams

* Refactor torrent info scraper to support pre-processing.

Introduced a pre-processing function mapping to handle specific indexer requirements before parsing the HTML. Added a custom pre-processing function for "TheRARBG" to handle URL adjustments, improving modularity and readability in the `get_torrent_info` function.

* Refine error logging and fix hash key in spider

* Fix Prowlarr not stop on max process limit

* #315: Integrate ScrapeOps logging into all scrapers & spiders

Added ScrapeOps logging to Zilean, Torrentio, Prowlarr, and Prowlarr Feed scrapers to enhance request tracking and error handling. Configured ScrapeOps API key in settings and updated Pipfile/Pipfile.lock with scrapeops-python-requests and scrapeops-scrapy dependencies.

* Refactor scraper cache status handler

* verify torrent before parsing on prowlarr & prioritize magnet on badass_torrents

* Add support for provide locally hosted mediaflow proxy public address and reduce the time leg on private ip address checking

* handle RD exception cases

* do not setup scrapeops when api key is none

* Enhanced dynamic sorting of torrent streams

Revised the dynamic_sort_key function to handle different key types more efficiently with match-case. Simplified error handling and improved logging to capture sorting data in the case of exceptions.

* add missing last update date for metadata

* update domain for nowmesports
2024-10-14 05:58:23 +05:30
mhdzumair 515b58fe1d Fix dynamic torrent sorting 2024-09-29 10:24:55 +05:30
Mohamed Zumair 709dc25d94 Enhance TV streaming functionality with MPD DRM support, and updated spiders & Bugfixes (#298)
* Refactor stream parsing and handling for DRM and MediaFlow

* Add encryption support for mediaflow url and refactor URL validation

* Enhance LiveTV spider to support MPD and handle new player API logic

* Update TV stream validation and add DRM fields in UI

* Add mediaflow_proxy_required.mp4 exception video

* Add FlareSolverr integration to scrapy spiders

* [WIP] TamilBulb spider to scraper

* Update StreamedSpider to new API and adjust schedulers
2024-09-27 08:13:10 +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 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 eb91ed5690 improved performance of streaming proxy & add proxy icon (#248)
* improved performance of streaming proxy

* adding icon for when proxy stream enabled
2024-07-23 22:22:49 +05:30
Rag 1fce21de30 Fixes 2024-07-14 06:45:35 -07:00
Rag 53a5736577 Proxy debrid provider via mediafusion instance 2024-07-14 06:05:38 -07:00
mhdzumair 59bc3322d9 Filter adult keywords in runtime of torrent parsing to extra protection 2024-07-12 16:37:52 +05:30