Commit Graph

103 Commits

Author SHA1 Message Date
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
mhdzumair 2d443dfdcc Don't use the partial ratio for title matching 2024-07-10 23:04:50 +05:30
mhdzumair 922667c883 Fix series stream filtering function 2024-07-08 12:30:01 +05:30
mhdzumair 29b478a758 BugFix: Add Incorrect resolution streams to "Unknown" category 2024-07-08 00:10:45 +05:30
mhdzumair f58dee174d #214: Add torrent name if filename is missing 2024-07-01 23:38:57 +05:30
mhdzumair 48c256f3d2 reverse the latest live stream first 2024-06-30 08:33:48 +05:30
mhdzumair 7f98e012b5 #214: Fixed streaming provider behaviorHints 2024-06-18 11:32:45 +05:30
mhdzumair 1055240040 Fix series streams description with either episode title or episode file name to be shown 2024-06-09 23:18:06 +05:30
mhdzumair a9f6309635 Add default trackers if trackers not available on torrent 2024-06-06 07:02:44 +05:30
mhdzumair 0a1c54b42d Add support for filename & videoSize in streams data for utilize by subtitle addons 2024-06-06 07:02:01 +05:30
mhdzumair 14415ad798 handle broader exception in fetch downloaded info hashes & cached streams 2024-06-06 06:05:30 +05:30
mhdzumair f69d3d1579 use fuzzy partial_ratio and reduce matching similarity 2024-05-27 17:03:29 +05:30
mhdzumair a35d6a938c prowlarr: Refactor update torrent stream data & add support for title matching with AKA titles 2024-05-25 22:45:40 +05:30
mhdzumair 455093f79d feat: Add support for user import data & scraper 2024-05-19 16:52:40 +05:30
mhdzumair 663898bc33 bugfix streaming provider name 2024-05-12 20:48:02 +05:30
mhdzumair 388a640dc4 Remove live stream redirect feature since stremio server can do the redirection 2024-05-12 19:28:49 +05:30
mhdzumair 517f4dc235 Use short names for streaming providers 2024-05-12 19:08:56 +05:30
mhdzumair 45bf4e01d4 Add support for forward user's IP to Alldebrid & refactoring streaming providers 2024-05-12 19:02:40 +05:30
mhdzumair 9768a19a0e Add support for MotoGP & refactor 2024-05-07 13:58:43 +05:30
mhdzumair c5ad0a89f3 Add support for parent guide nudity & certificate filters & various improvments to crud functions 2024-05-06 00:16:46 +05:30
mhdzumair 14fe44d71c Make logo and addon name can be configurable through env 2024-05-01 14:01:52 +05:30
mhdzumair ff1ccf885f Add support for torrent tracker sources and dht 2024-04-21 20:46:28 +05:30
mhdzumair f8eea46ae8 improve imdb search by storing metadata in db 2024-04-14 23:55:58 +05:30
mhdzumair 28028adb68 Add delete all watchlist functionality for various streaming providers 2024-04-03 16:43:32 +05:30