{"proxy": "EasyProxy", "version": "2.11.8", "status": "\u2705 Running", "features": ["\u2705 Proxy HLS streams", "\u2705 AES-128 key proxying", "\u2705 Playlist building", "\u2705 Supporto Proxy (SOCKS5, HTTP/S)", "\u2705 Multi-extractor support", "\u2705 DUAL video + audio sync with VLC HLS master", "\u2705 CORS enabled"], "extractors_loaded": [], "diagnostics": {"extractors_cached": 0, "cdn_tokens": 0, "proxy_sessions_cached": 0, "active_stream_sessions": 0, "active_stream_sessions_window_seconds": 30, "bypassed_warp_domains": 0, "template_cache": 5, "dead_proxies": 0, "shared_session_active": false, "flex_session_active": false, "session_idle_seconds": null, "connection_count": 0, "proxy_connection_count": 0, "parallel_fetch": {"calls": 0, "active": 0, "active_peak": 0, "successes": 0, "fallbacks": 0, "errors": 0, "parts_per_call": 3, "bytes_total": 0, "max_segment_bytes": 0, "last_segment_bytes": 0, "last_status": null, "last_reason": null, "last_duration_ms": 0.0, "last_segment": null}}, "memory": {"total": 1002909696, "used": 64679936, "free": 938229760, "percent": 6.4, "tracemalloc": {"enabled": true, "current": 1510876, "current_mb": 1.441, "peak": 1574180, "peak_mb": 1.501}, "processes": {"count": 1, "main_rss": 64679936, "main_rss_mb": 61.68, "children_rss": 0, "children_rss_mb": 0.0, "ffmpeg_rss": 0, "ffmpeg_rss_mb": 0.0, "wireproxy_rss": 0, "wireproxy_rss_mb": 0.0, "warp_rss": 0, "warp_rss_mb": 0.0, "other_children_rss": 0, "other_children_rss_mb": 0.0, "tree": [{"pid": 32, "name": "python", "role": "easyproxy", "status": "running", "rss": 64679936, "rss_mb": 61.68, "vms": 162643968, "threads": 2}]}, "asyncio_tasks": {"total": 8, "by_coro": {"HLSProxyCoreMixin._cleanup_stale_sessions": 1, "HLSProxyCoreMixin._update_latest_version": 1, "HLSProxyCoreMixin._warp_keepalive": 1, "RecordingManager.cleanup_loop": 1, "RequestHandler._handle_request": 1, "RequestHandler.start": 1, "_cleanup_loop": 1, "_run_app": 1}}}, "modules": {"playlist_builder": true, "vavoo_extractor": true, "vixsrc_extractor": true, "sportsonline_extractor": true, "mixdrop_extractor": true, "voe_extractor": true, "streamtape_extractor": true}, "proxy_config": {"global_proxies": "0 proxies loaded", "transport_routes": "0 routing rules configured", "routes": []}, "endpoints": {"/proxy/hls/manifest.m3u8": "Proxy HLS (compatibilit\u00e0 MFP) - ?d=<URL>", "/proxy/mpd/manifest.m3u8": "Proxy MPD (compatibilit\u00e0 MFP) - ?d=<URL>", "/proxy/manifest.m3u8": "Proxy Legacy - ?url=<URL>", "/key": "Proxy chiavi AES-128 - ?key_url=<URL>", "/playlist": "Playlist builder - ?url=<definizioni>", "/builder": "Interfaccia web per playlist builder", "/segment/{tail:.*}": "Proxy per segmenti .ts - ?base_url=<URL>", "/license": "Proxy licenze DRM (ClearKey/Widevine) - ?url=<URL> o ?clearkey=<id:key>", "/info": "Pagina HTML con informazioni sul server", "/api/info": "Endpoint JSON con informazioni sul server", "/api/memory/profile": "Profiler tracemalloc: allocazioni Python e crescita dal boot", "/api/memory/profile/reset": "POST: resetta il baseline del profiler", "/api/dual/memory": "RAM used by the integrated DUAL service", "/dual/menifest.m3u8": "DUAL HLS master with synchronized video + audio - ?d=<Base64 JSON>", "/dual/manifest.m3u8": "Correctly spelled alias for the DUAL HLS master - ?d=<Base64 JSON>", "/dual/sync/links": "DUAL JSON test for synchronizing video and audio", "/dual/cache/status": "Checks only whether the DUAL offset exists in the shared MongoDB cache", "/dual/aud/{hid}/audio.m3u8": "Synchronized DUAL audio playlist", "/dual/aud/{hid}/init.mp4": "DUAL audio init segment", "/dual/aud/{hid}/s{idx}.m4s": "DUAL audio segment"}, "usage_examples": {"proxy_hls": "/proxy/hls/manifest.m3u8?d=https://example.com/stream.m3u8", "proxy_mpd": "/proxy/mpd/manifest.m3u8?d=https://example.com/stream.mpd", "aes_key": "/key?key_url=https://server.com/key.bin", "playlist": "/playlist?url=http://example.com/playlist1.m3u8;http://example.com/playlist2.m3u8", "custom_headers": "/proxy/hls/manifest.m3u8?d=<URL>&h_Authorization=Bearer%20token", "dual_hls": "/dual/menifest.m3u8?d=<Base64URL(JSON)> [&api_password=<PASSWORD>]"}}