Commit Graph

119 Commits

Author SHA1 Message Date
mhdzumair ed3d88b321 disable obsolete background task schedulers 2025-04-30 05:58:46 +05:30
mhdzumair d7c7574bb1 Add support for scraping debrid cache status from Torrentio & Upstream MediaFusion 2025-02-24 00:19:31 +05:30
mhdzumair b480cfaada Fix crontab 2025-02-02 05:50:04 +05:30
mhdzumair 11cc51617d update scrapy schedule crontab 2025-02-01 16:25:21 +05:30
mhdzumair c0389425be Add configurable toggles for torrent metadata and seeders jobs 2025-01-24 23:28:46 +05:30
mhdzumair 3de2027861 Add configurable toggles for torrent metadata and seeders jobs 2025-01-24 23:14:36 +05:30
mhdzumair 679a54ddb6 update live tv validation cronjob time 2025-01-22 09:16:02 +05:30
mhdzumair 2b26ef32af trigger background search title on every 3 mins 2025-01-18 21:56:45 +05:30
mhdzumair 79b05b2576 Update DLHD scheduler crontab to run weekly on Mondays.
This update intended to reduce the scraping load on DLHD and only scrape efficiently.
2025-01-18 10:30:19 +05:30
mhdzumair 3b5aac130a Add support for EasyDebrid streaming provider 2025-01-02 12:00:34 +05:30
mhdzumair 808b8d1911 Disable sync debrid cache by default 2024-12-31 18:05:32 +05:30
mhdzumair 0a31561587 Add support to prioritize metadata fetcher method with either IMDb or TMDB
Revised TMDB data fetching with improved retry logic and error handling. Refactored metadata management for movies and series, simplifying pipelines and introducing extensibility. Introduced `meta_fetcher` for centralized metadata fetching, replacing scattered IMDb and TMDB logic.
2024-12-30 14:06:17 +05:30
mhdzumair 5bf349f826 Add support for MediaFusion Debrid cache sync and cache status checks
Introduced endpoints to check and submit cache statuses for info hashes. Enhanced cache helpers to integrate with MediaFusion Public Host for status retrieval and syncing. Added new schemas and configurations to support these operations.
2024-12-30 14:01:17 +05:30
mhdzumair 1287d40502 Enable scraping using AKA titles for improved search results
This update adds support for scraping with alternative known-as (AKA) titles by introducing conditional logic in relevant scrapers.
2024-12-30 13:52:17 +05:30
mhdzumair 5343badfaa Remove unoptimized IMDb and TMDB background tasks.
This commit eliminates unused Dramatiq background tasks and related scheduler jobs for processing and updating IMDb and TMDB data.
2024-12-22 22:50:24 +05:30
mhdzumair 293afdaea8 Disable jackett by default 2024-12-22 20:55:21 +05:30
mhdzumair 6733432663 Setting up schedulers for Jackett feed and background search 2024-12-22 00:20:28 +05:30
mhdzumair 4edd1dc898 Add jackett feed scraper and background scraper & enhance prowlarr feed scrapers 2024-12-22 00:12:33 +05:30
mhdzumair a0147cd67c Add jackett feed scraper and background scraper & enhance prowlarr feed scrapers 2024-12-22 00:12:17 +05:30
mhdzumair 60c00a41d5 Add Jackett scraper and enhance Prowlarr scraper integration & Refactorings common codes
Introduced a new Jackett scraper to support torrent indexers and refactored Prowlarr scraper for consistency. Enhanced support for advanced individual indexer searching, searching capability with category validation, and healthy indexer management across both scrapers.
2024-12-22 00:09:32 +05:30
mhdzumair 174d053774 Add BT4G on-demand scraper integration for torrent stream
This commit introduces the BT4G scraper to assist in scraping torrent streams for both movies and series. It includes new configuration options, caching mechanisms, and processing logic tailored for the BT4G platform. Additional settings around scraper limits and filtering have been added to ensure robust and efficient integration.
2024-12-16 10:12:02 +05:30
mhdzumair 32b00d0302 Add YTS on-demand search scraper integration for movie torrent parsing
Introduced a new `YTSScraper` to fetch and process movie torrents from YTS. Updated configuration, runtime constants, and utilities to support the scraper. This enhancement extends scraping capabilities to include YTS as a source for movie streams.
2024-12-15 21:00:35 +05:30
mhdzumair 975c73b21f Set tmdb_api_key as optional 2024-12-15 05:56:14 +05:30
mhdzumair 7df0bdd23f Add Movies/TV TGX spider and scheduling support
Introduced `MoviesTVTgxSpider` for parsing TGx movie/TV torrents and added relevant pipelines for processing. Enhanced scheduler, constants, and configurations to support the new functionality. Made updates to improve torrent detail parsing and handle dynamic content loading using Playwright.
2024-12-14 21:40:45 +05:30
mhdzumair b2bbe4f5be Add TMDB integration for metadata retrieval and updates & utilize TMDB poster & background for UFC titles
Introduced TMDB API support to fetch and update movie and series metadata, replacing parts of IMDb-based functionality. Enhanced the sports parser pipeline to retrieve TMDB metadata for events, ensuring consistency in handling posters, backgrounds, and descriptions.
2024-12-13 17:43:16 +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 b4422c0c94 Add scheduled task for cleaning up expired debrid cache status 2024-12-13 15:49:51 +05:30
mhdzumair 49cc1b60eb Remove obsolete spiders Streamed and StreamBTW 2024-12-07 18:37:35 +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 8baceb7bc8 Increase Redis max connections and add retry on error 2024-11-30 19:33:21 +05:30
mhdzumair e23a7f0474 Remove EasyDebrid shady debrid service 2024-11-29 06:04:04 +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 5728362774 Update URLs and environment settings for different services 2024-11-27 08:32:41 +05:30
mhdzumair da4de1423b Remove redundant disable_download_via_browser env configuration option 2024-11-27 08:32:07 +05:30
ragmehos b8590ecf5a Added support for scrape from Mediafusion instance (#358) 2024-11-27 08:13:44 +05:30
mhdzumair ef6b804452 Refactor stream cache check logic for unsupported Debrid providers
Replaced direct API calls with helper functions to fetch downloaded info hashes for DebridLink, RealDebrid, and AllDebrid.
2024-11-27 07:53:18 +05:30
mhdzumair 362d075845 Add Zilean cache status check in RD cache update
Enhanced the `update_rd_cache_status` function to check both RealDebrid and Zilean for cache status. Added configurations and HTTP request logic to include Zilean's cache check API using an optional authentication key. This improves the accuracy and coverage of cache status updates.
2024-11-23 02:05:07 +05:30
mhdzumair c0878dac17 Add adult content filter for torrent titles with parsett & validate episode file with is_video_file 2024-11-21 16:01:15 +05:30
Mohamed Zumair ecf69fe969 Enhanced scraping capabilities with improved indexer search with health checks and metrics tracking (#367)
* Add support for comprehensive scraper metrics tracking

Renamed scrape_and_parse to _scrape_and_parse, adding comprehensive error handling and logging metrics for various scenarios like timeouts, HTTP errors, and validation issues. Incorporated a metrics class in base_scraper.py to summarize statistics related to scraping performance, which is now used across different scrapers including prowlarr, torrentio, and zilean.

* Enhance Prowlarr individual indexer searching logic with indexer healthcheck management & comprehensive metrics summary

Added detailed health checks for indexers and included their statuses in logging. Enhanced background search to use circuit breakers and handle indexers in chunks, improving reliability and fault tolerance.

* Handle custom id items with imdb id based on title and year matching for moving to imdb title

* handle exception onf fetching prowlarr indexer torrent page fetching

* Refactor Circuit Breaker and add state management methods

Reorganized Circuit Breaker class for better clarity and maintainability. Added methods to manage states (`is_closed`, `reset`, `record_failure`, `record_success`) and refactored `call` method to utilize these state checks. Enhanced logging and status reporting with `get_status` method.

* Simplify series metadata & episode data retrieval logic

Streamlined the `get_series_meta` function by removing complex filtering conditions and reducing the aggregation pipeline.

* Refactor CircuitBreaker for web scraping and enhanced recovery
2024-11-21 13:02:30 +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
mhdzumair fde61f7dfd Remove ScrapeOps integration 2024-11-01 16:31:58 +05:30
mhdzumair 98efbe59a0 organize configuration settings and reorganize documentation 2024-11-01 16:23:51 +05:30
Mohamed Zumair 95f57a9da8 Bugfixes (#330)
* Fix catalog parser for tamilmv & tamilblasters with ESub

* Avoid scraping zipx torrents

* Fix rpdb logging var, increase title ratio matching & cleanup
2024-10-19 22:53:55 +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 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
Mohamed Zumair f2be00dec5 Fix prowlarr scrape based on the magnet link & fix movie contain series (#317) 2024-10-10 06:52:59 +05:30
Mohamed Zumair 5ea7968568 Update documentation and config for better clarity (#300) 2024-09-27 23:27:27 +05:30
Mohamed Zumair 0e7a5126f5 Add centralized config management for spiders & Remove deprecated spiders and update related configurations (#299)
* Add centralized config management for spiders

* Remove deprecated spiders and update related configurations
2024-09-27 21:50:29 +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