33 Commits

Author SHA1 Message Date
mhdzumair b7d009e7c3 Improve error handling and buffering in m3u8 processing 2025-04-23 22:23:34 +05:30
mhdzumair 86c8ee1159 Enhance m3u8 handling with on-the-fly processing and retries with configurable timeout
Add on-the-fly processing for m3u8 content with streaming support, improving HLS playlist handling. Introduce retry mechanism for HTTP streaming requests and configurable timeout via transport settings. Refactor and optimize URL parsing, error handling, and response generation for better robustness and maintainability.
2025-04-23 08:00:39 +05:30
mhdzumair 779e01a57f Make API_PASSWORD optional for app that uses mediaflow as lib package
Updated `api_password` to be optional in configurations and logic, allowing API access to function without it if not set. Adjusted related checks and encryption handling to accommodate this change while maintaining security features when a password is provided. Updated README to reflect the change.
2024-12-11 15:15:35 +05:30
mhdzumair c3e3817651 Add support for In-Memory only caching for small ttl data to fix MPD cache streaming & Remove unnecessary cache stats tracking 2024-12-07 08:07:54 +05:30
mhdzumair 78cee28128 Add Support for Python 3.9 (downgrade support) 2024-12-07 08:05:10 +05:30
mhdzumair f47b460d9a Fix proxy stream on unsupported HEAD server & remove redundant server requests for getting headers. 2024-12-06 22:31:29 +05:30
mhdzumair 3f7a1c47a0 Improve error logging and response for request processing 2024-11-17 18:51:27 +05:30
mhdzumair 95843cc3c9 Implement LiveTVExtractor and improve error handling
Added LiveTVExtractor for extracting M3U8 and MPD streams. Enhanced error handling by introducing ExtractorError and updated existing extractors to use this new error class. Removed support for unused request headers and integrated caching for extractor results.
2024-11-17 18:28:52 +05:30
mhdzumair bcf22d223c Handle MPD download errors and provide same status code on response 2024-11-16 11:01:31 +05:30
mhdzumair 035ae1a4c7 Refactor proxy configuration to support advanced transport settings
Changed the proxy configuration system to a more flexible transport configuration using HTTPX routing. Introduced new settings for global proxy enablement and robust pattern-based proxy and SSL configurations. Updated README.md with new examples and detailed explanations of the new configurations.
2024-11-16 10:40:06 +05:30
mhdzumair f9bda43c0d Add Advanced proxy routing via environment variables & refactoring 2024-11-15 23:15:20 +05:30
Mohamed Zumair ff110e1f48 Add retry logic and error handling to speed test results polling & cleanup #24 2024-11-15 18:36:45 +05:30
mhdzumair 0424d2bd77 Add hybrid caching system for better performance & fix limitation on multi workers
Replaced TTLCache with an optimized hybrid cache combining memory and file storage for better performance and scalability. Removed cachetools dependency and updated pyproject.toml to include aiofiles. Adjusted speed test service to use the new caching mechanism.
2024-11-14 19:41:16 +05:30
Arshit-Singhal-Official b253ae9527 Removed rd_speedtest.py as it is no longer needed. 2024-11-13 21:21:25 +05:30
mhdzumair 64eeb8f901 Add AD speed test & improve speed test UI & refactoring 2024-11-12 07:09:42 +05:30
mhdzumair 4b4f6af536 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	mediaflow_proxy/extractors/uqload.py
#	mediaflow_proxy/extractors_routes.py
2024-11-10 21:41:51 +05:30
mhdzumair 29348f5fa5 Refactor extractors and routes for improved structure
Reorganized extractor routes into dedicated modules for better maintainability. Introduced a base class for extractors, enabling consistent request handling across different services. Additionally, updated configurations and error handling in extractors, enhancing code readability and robustness.
2024-11-10 21:40:54 +05:30
Mohamed Zumair abbeaee0d0 Apply suggestions from code review
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-10 08:04:05 +05:30
Arshit-Singhal-Official a5ce7e9919 made changes to speedtest endpoint to use the Streamer class 2024-11-01 17:17:33 +00:00
Arshit-Singhal-Official 7836a85f5f Implement Real-Debrid speedtest functionality to optimize CDN selection 2024-10-25 17:41:37 +00:00
mhdzumair 3ca55c5f66 Enhance streaming functionality and progress tracking 2024-10-13 16:35:31 +05:30
mhdzumair d130bf4ccd Add streaming progress feature with tqdm
Integrate streaming progress tracking using tqdm_asyncio in the `stream_content` method, controlled by the new `enable_streaming_progress` setting. Update configuration to include this new setting and ensure the progress bar closes properly after streaming.
2024-10-12 15:58:58 +05:30
mhdzumair 480076c3f7 Fix key URL in m3u8 & update libs & bump version 2024-10-10 09:10:53 +05:30
mhdzumair 0d394b4382 Update endpoint paths for fixing video playback in some player 2024-09-24 06:07:44 +05:30
mhdzumair a71fd48bf4 Add support for obfuscating parameters by encrypting & support ip, exp time restriction for generated url 2024-09-19 07:32:01 +05:30
mhdzumair 9b1476658f Add support for response proxy headers & flag to use request proxy via use_request_proxy 2024-09-17 21:38:37 +05:30
mhdzumair 0e2d63a838 Add Support for play expired or self-signed SSL certificates server streams 2024-08-31 15:31:45 +05:30
mhdzumair 33e2f36b55 Fix HLS & HTTPS proxy stream with streaming response and proper headers & Yield raw bytes without handling the decoding 2024-08-31 11:37:35 +05:30
mhdzumair b78171ad54 Only use support request and response header to avoid acl issues 2024-08-25 22:45:52 +05:30
mhdzumair 879f4ac7a2 Fix proxy stream request headers not passing for seeking the content 2024-08-25 22:28:42 +05:30
mhdzumair fb6e6a7995 Add support for set mediaflow proxy server scheme based on request headers 2024-08-25 21:13:09 +05:30
mhdzumair ad23c2a82a fix HLS key URL modification 2024-08-25 01:13:07 +05:30
mhdzumair 1ebbb74761 Release MediaFlow Proxy 2024-08-24 23:38:20 +05:30