Dispatcharr/apps/proxy/ts_proxy
None e217960500 feat: Add Redis authentication support for modular deployment
Add support for authentication when connecting to external Redis instances in modular deployment mode. This enables secure Redis deployments using either password-only authentication (Redis <6) or
username + password authentication (Redis 6+ ACL).

Changes:
- Add REDIS_PASSWORD and REDIS_USER environment variables
- Implement URL encoding for special characters in passwords
- Update all Redis connection points to support auth
- Add comprehensive documentation and examples to docker-compose.yml
- Maintains full backward compatibility (empty defaults = no auth)

All authentication mechanisms have been fully tested including pasword-only authentication, Redis 6+ ACL authentication with username + password, volume-mounted configuration files, and special character handling.

Existing deployments are not effected, authentication support is entirely opt-in using docker-compose.

Also, acknowledging the fact that the docker-compose file for modular deployments has been getting out of hand with auth support, the docker-compose.yml file was re-formatted for better visibility in configuration. This seemed like a better way to go than mandating a .env file.
2026-02-03 21:42:06 -06:00
..
services Squash: Log Parsing Refactor & Enhancing 2025-12-22 15:14:46 -05: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 refactor: externalize Redis and Celery configuration via environment variables 2025-12-18 16:54:59 -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 feat: Add Redis authentication support for modular deployment 2026-02-03 21:42: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 Refactor logging messages in StreamManager for clarity and consistency. Also removed redundant parsing. 2025-12-23 15:52:56 -06:00
url_utils.py Fix: Continue GET request if HEAD fails with the peer closing the connection without returning a response 2025-12-26 15:27:51 +01: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