Dispatcharr/apps/proxy/ts_proxy
SergeantPanda 89a23164ff Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching
System Event Logging:
- Add SystemEvent model with 15 event types tracking channel operations, client connections, M3U/EPG activities, and buffering events
- Log detailed metrics for M3U/EPG refresh operations (streams/programs created/updated/deleted)
- Track M3U/EPG downloads with client information (IP address, user agent, profile, channel count)
- Record channel lifecycle events (start, stop, reconnect) with stream and client details
- Monitor client connections/disconnections and buffering events with stream metadata

Event Viewer UI:
- Add SystemEvents component with real-time updates via WebSocket
- Implement pagination, filtering by event type, and configurable auto-refresh
- Display events with color-coded badges and type-specific icons
- Integrate event viewer into Stats page with modal display
- Add event management settings (retention period, refresh rate)

M3U/EPG Endpoint Optimizations:
- Implement content caching with 5-minute TTL to reduce duplicate processing
- Add client-based event deduplication (2-second window) using IP and user agent hashing
- Support HEAD requests for efficient preflight checks
- Cache streamed EPG responses while maintaining streaming behavior for first request
2025-11-20 17:41:06 -06:00
..
services Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching 2025-11-20 17:41:06 -06:00
__init__.py centralized and lazy-loaded redis client singleton, check for manage.py commands so we don't init proxyservers (redis connection), put manage commmands before starting uwsgi 2025-04-04 16:18:12 -04:00
apps.py centralized and lazy-loaded redis client singleton, check for manage.py commands so we don't init proxyservers (redis connection), put manage commmands before starting uwsgi 2025-04-04 16:18:12 -04:00
channel_status.py Add stream type to stats page. 2025-06-10 10:10:05 -05:00
client_manager.py Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching 2025-11-20 17:41:06 -06:00
config_helper.py Switch HTTP streamer to a thread and pipe its output to a local pipe where the fetch chunk can access it the same way our transcode processes would be accessed. Simplifies the code. 2025-10-12 09:42:15 -05:00
constants.py Enhancement: Adds support for UDP streams. Closes #617 2025-11-11 18:30:59 -06:00
http_streamer.py Switch HTTP streamer to a thread and pipe its output to a local pipe where the fetch chunk can access it the same way our transcode processes would be accessed. Simplifies the code. 2025-10-12 09:42:15 -05:00
redis_keys.py Added client speed statistics to client metadata in redis. 2025-03-21 19:59:54 -05:00
server.py Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching 2025-11-20 17:41:06 -06:00
stream_buffer.py Changed read timeout for http connection for the proxy server to 10 secounds to avoid unnecessary timeouts. 2025-10-11 19:45:21 -05:00
stream_generator.py Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching 2025-11-20 17:41:06 -06:00
stream_manager.py Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching 2025-11-20 17:41:06 -06:00
url_utils.py Skip HTTP validation for non-HTTP protocols (UDP/RTP/RTSP) in stream URL validation 2025-11-12 16:17:06 -06:00
urls.py Added ability to send a next stream command. 2025-03-27 20:49:24 -05:00
utils.py Enhancement: Adds support for UDP streams. Closes #617 2025-11-11 18:30:59 -06:00
views.py Enhancement: Update channel state handling in ProxyServer and views to include 'STOPPING' state, ensuring proper cleanup and preventing reinitialization during shutdown. 2025-11-14 19:57:59 -06:00