SergeantPanda
086cc74959
Bug Fix: M3U profile URL rewriting now uses the regex module instead of re across all URL transform code paths (url_utils.transform_url, core/views.py, vod_proxy/_transform_url, tasks.get_transformed_credentials, and the WebSocket live-preview handler in consumers.py). The regex module natively accepts JavaScript/PCRE-style named capture groups ((?<name>...)) without any conversion, eliminating the root cause of patterns that matched in the frontend live preview but failed on the backend with a re.error. As a further improvement, regex also supports variable-length lookbehind assertions (e.g. (?<=a+)), which re rejects with an error; patterns using these will now work correctly on the backend as well. Replace-pattern JS tokens are still normalised before calling regex.sub: $<name> → \g<name> and $1/$2/… → \1/\2/… (Python replacement syntax). Also fixed a bug in the WebSocket preview handler where a pattern error was incorrectly returning the search pattern string as the preview output instead of the original URL. ( Fixes #1005 )
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Frontend Tests / test (push) Has been cancelled
2026-03-29 17:55:08 -05:00
None
b30a24e2fb
feat: add TLS connection support for Redis and PostgreSQL ( #950 )
...
- Add 10 env vars for Redis/PostgreSQL TLS (REDIS_SSL, REDIS_SSL_VERIFY, REDIS_SSL_CA_CERT, REDIS_SSL_CERT, REDIS_SSL_KEY, POSTGRES_SSL, POSTGRES_SSL_MODE, POSTGRES_SSL_CA_CERT, POSTGRES_SSL_CERT, POSTGRES_SSL_KEY)
- Propagate SSL params to all Redis connection points: RedisClient, stream view, PubSub, client manager, Celery broker/result backend, Django Channels, and pre-Django startup scripts
- Add Celery SSL config via URL query string params (required by Kombu's internal URL parsing)
- Add PostgreSQL sslmode and certificate options to DATABASES config
- Add startup validation: cert file existence, URL scheme conflict detection, TLS status logging
- Add TLS error hints to Redis connection failure messages
- Add Connection Security panel in System Settings (modular mode only) showing encryption, verification, and mTLS status
- Add PG client key permission fix in web and celery entrypoints for Docker Desktop compatibility (0777 to 0600)
- Add TLS env var passthrough in entrypoint for su - login shells
- Document TLS env vars in modular docker-compose.yml
- Change env_mode from dev/prod to actual DISPATCHARR_ENV value for modular mode detection
2026-03-21 17:24:09 -05:00
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
SergeantPanda
36967c10ce
Refactor CoreSettings to use JSONField for value storage and update related logic for proper type handling. Adjusted serializers and forms to accommodate new data structure, ensuring seamless integration across the application.
2026-01-13 12:18:34 -06:00
Justin
e8d949db86
replaced standard str.split() with shlex.split()
2026-01-11 20:40:18 -05:00
SergeantPanda
de31826137
refactor: externalize Redis and Celery configuration via environment variables
...
Replace hardcoded localhost:6379 values throughout codebase with environment-based configuration. Add REDIS_PORT support and allow REDIS_URL override for external Redis services. Configure Celery broker/result backend to use Redis settings with environment variable overrides.
Closes #762
2025-12-18 16:54:59 -06:00
SergeantPanda
0e388968c4
Convert to relation tables to support multiple providers for each vod.
2025-08-07 12:31:05 -05:00
Dispatcharr
505551f312
Updated M3U stream URLs
...
Changed M3U urls to use proxy
2025-03-17 15:06:47 -05:00
dekzter
9711d7ab34
modified database fields for consistency, removed custom_url from streams (no longer needed)
2025-03-16 09:07:10 -04:00
dekzter
324dfd1195
fixed conditional check
2025-03-09 09:29:37 -04:00
dekzter
d0df987a30
first attempt for unlimited streams support
2025-03-09 09:25:53 -04:00
dekzter
dfeb5a7c7b
pass int for redis db
2025-03-06 12:52:08 -05:00
dekzter
3ecb49375c
Websockets, fixed channel name collision, added back in multi-stream per channel support
2025-03-05 17:04:43 -05:00
dekzter
5467041606
reverted latest changes, re-added back in logic for proper profile lock as well as determining available profiles - no mutli-stream channel support yet
2025-03-05 08:33:24 -05:00
dekzter
3cca3a22f6
fixed lock identifier to applly only to profile and index, not channel and stream
2025-03-04 11:00:39 -05:00
dekzter
3e3f4c85a1
multi stream support
2025-03-02 15:06:47 -05:00
kappa118
d58f33fe31
updated core settings, use default stream profile
2025-03-01 10:18:59 -05:00
Dispatcharr
ace441fb56
Pre-Alpha v?
...
Lost count:
Added/Fixed bulk adding from stream
Added/Fixed Auto assign channel numbers
Added command to kill processes
Changed to a persistant lock using redis
2025-03-01 08:52:32 -06:00
Dispatcharr
b1dcf159a2
Merge pull request #9 from Dispatcharr/m3u-profiles
...
M3U profiles
2025-02-28 20:42:02 -06:00
Dispatcharr
84c93d87eb
Logo URLs
...
Added ability to choose url via logo
Added ability to upload image*
*You can upload but it doesn't set the url to the uploaded image yet.
2025-02-28 18:34:43 -06:00
kappa118
ec93c28583
more logging, reverted some changed logic
2025-02-28 15:05:36 -05:00
kappa118
6ae80f4368
m3u profiles, style changes, etc
2025-02-28 14:33:54 -05:00
kappa118
0355ae0c1b
Fixed wrong field name for channel query
2025-02-27 15:48:44 -05:00
Dispatcharr
d89bf35c0d
Pre-Alpha v4
...
Added settings page
Added EPG functionality
2025-02-24 15:04:03 -06:00
Dispatcharr
1fb7a0c9eb
Alpha v3
...
Added user agents
Added Stream Profiles
Added new API calls
2025-02-21 15:31:59 -06:00