Commit Graph
456 Commits
Author SHA1 Message Date
euzuandGitHub 5dd7f2dc91 Connection Admission (#710)
* Connection admission
* Fetch assets with version
* Dockerfile udate
2026-04-10 14:56:57 +02:00
euzuandGitHub 02ac40f592 Feature/provider url selection strategy (#712)
* Input provider url selection strategy
* CVD friendly theme
* Fix: HLS Stream session info  duration and total trasferred data
2026-04-10 11:32:56 +02:00
euzuandGitHub f4a9f41377 fix provider:// scheme (#711)
fix: provider:// scheme
2026-04-09 22:06:01 +02:00
euzuandGitHub 6a13ba067f Fix: log level change and Api-User category selection (#707)
* Fix: log level change
* Fix: Api-User category selection
2026-04-07 12:19:42 +02:00
euzuandGitHub 31a48bc1f3 Feature/structured errors landing page (#705)
- structured errors
- landing page
- fix: table header background
2026-04-06 10:20:52 +02:00
euzuandGitHub 222a480d6b Feature/soft limits (#701)
- Soft User limits
- Stream history fixes
- No content explanations
- User disconnect reasons
2026-04-03 20:11:06 +02:00
euzuandGitHub 9ce3e7a313 Feature/download (#700)
- Download manager
- Stream history fixes
- Stream history docs updated
2026-04-03 16:23:15 +02:00
euzuandGitHub 6c32deb4c3 Stream History (#667)
Stream history qos
2026-04-02 20:03:49 +02:00
euzu 82a13eda4c Fix: User bouquet editor empty lists on missing playlist 2026-04-01 19:35:14 +02:00
euzuandGitHub c82169542f Fix/hls rewrite css fixes (#685)
* hls uri rewrite fixed
* source editor canvas pan delete icon fix
* css-fixes
* added epg smart match form to input
* staged input fix
* Disable wasm compression
2026-03-31 14:28:43 +02:00
euzuandGitHub b86686269c Feature/source editor (#683)
- Fixed ios css problems
- Client timeout tightened
- Login screen theme selector
- Networks stats
- Source editor mobile view with touch support, pand and zoom pinch
2026-03-30 18:42:23 +02:00
euzuandGitHub 282e4acfda - Fixed ios css problems (#682)
- Fixed ios css problems
- Client timeout tightened
2026-03-30 12:41:34 +02:00
euzuandGitHub bb82798457 Fix/local series episodes (#681)
* Local and provider series uuid generation fixed.
* fixed some local media issues
2026-03-29 15:13:00 +02:00
euzuandGitHub 3b6c32dd07 series episode resolve and epg view image proxy (#680)
- Improved EPG channel icon URL handling with proper resource path rewriting
- Enhanced series episode relationship tracking in playlist persistence to ensure accurate virtual ID mapping
2026-03-28 23:34:45 +01:00
euzuandGitHub 783c73275e theme refactor, added new themes (#679)
- Theme refactor, added new themes
- Fixed user session cleanup 3h problem
- Fixed sequence sorting with order none
2026-03-28 21:57:13 +01:00
euzuandGitHub 6fcfca1d4a While "max_connections: 0" was correctly allocated as unlimited, the session reservation could still lock that same provider for other sessions. This caused the path to erroneously fall into the generic "exhausted" handling later on. (#677)
While "max_connections: 0" was correctly allocated as unlimited, the session reservation could still lock that same provider for other sessions. This caused the path to erroneously fall into the generic "exhausted" handling later on. (#677)
2026-03-28 17:29:24 +01:00
euzuandGitHub 67485d1d60 - Flags added, when geoip is activated the country flag is displayed … (#675)
- Flags added, when geoip is activated the country flag is displayed in stream view
- Fixed stream tabel mobile view
2026-03-28 14:52:17 +01:00
euzuandGitHub 7ebf810836 refactored stream table (#674)
* refactored stream table
2026-03-27 23:25:26 +01:00
euzuandGitHub 2cbff3d3a1 Fix: Copy url in frontend does not resolve provider:// (#673)
* Fix: Copy url in frontend does not resolve provider://
* Fix: Filter editor on demand validation
* Fix: redirect to login screen if auto logout happens
2026-03-27 20:05:50 +01:00
euzuandGitHub 9d35a9cbbe Sorce ordinal by category and channel index (#672)
* Sorce ordinal by category and channel index
* Parsing UserApiRequest from request body or query
* CSS stylings
* media tools refactoring
* xtream info parsing now number/string fields
2026-03-27 15:23:39 +01:00
euzuandGitHub 69e7ae8680 Feature/local media (#671)
* local library default extensions
* series info generation
* local library series episodes
2026-03-26 23:32:22 +01:00
euzuandGitHub bd98921fe1 Fix/logging local library schduled targets (#670)
* Reverted wrongly merged logging changes
* Metadata Classifier respects now configured content type
* Fixed hot reload scheduled target mix up
* logging post request
* Series Episode classifier fallback handling
2026-03-26 12:27:47 +01:00
jojo141185andGitHub 0a763247ff docs: major overhaul and structural refactoring of Tuliprox documentation #2 (#668)
* docs: overhaul introduction and architecture guide

- Rewrite index.md into a comprehensive Operator Manual
- Add detailed explanation of the System Architecture (Rust/WASM)
- Document core unique features: Session Holding, Grace Periods, and Shared Streams
- Add Metadata Enrichment details (TMDB, PTT, and FFprobe)
- Implement Mermaid sequence diagram for Network Flow Architecture
- Update documentation map with new link structure

* docs: refactor deployment guides into installation and build manuals

- Split deployment.md into installation.md and build-and-deploy.md
- Add comprehensive Docker Compose examples and volume explanations
- Document image variants (scratch vs. alpine) for DevSecOps best practices
- Expand on cross-compilation (MUSL, ARM, Windows) and WASM toolchains
- Add documentation for the "Docker Container Templates" ecosystem (Traefik, Gluetun, CrowdSec)
- Update CLI argument reference table
2026-03-25 22:31:21 +01:00
euzuandGitHub a32a503e20 Fix: local media path (#669)
* Fix: local media path
* Fix: xmltv api post request
2026-03-25 20:43:41 +01:00
euzuandGitHub 2fccbb66e5 Fix/scheduled updates logger initialization zombie connections (#664)
* fix: Scheduler preserve forced_targets across config reloads.
hot reload could cause loosing scheduler task targets.

warn logs for:
- process_source: warns when all inputs are disabled for given targets
- process_sources: warns when no sources were processed at all

* Fix: Logger initialization

* Fix: TCP USER TIMEOUT for linux. If a client disrupts the connection, the tcp layer will hold it approx for 5-15 minutes. With this setting we can close in 30 seconds under linux
2026-03-24 23:24:57 +01:00
euzuandGitHub 65b774dee3 XC Api post reuqest support (#661)
* XC Api post reuqest support
2026-03-22 19:55:14 +01:00
euzuandGitHub 9aec9594aa Fix/ws protocol version stream measure hls entry stream table (#660)
* sidebar scrollable
* fixed metering values for stream table
* Using native linux approach for sysinfo
* fixed stream table hls display and actie connections
* shared stream reconnect bug fix
* foxed some rabbitai findings
* Fixed hls stream table prune
2026-03-22 13:19:01 +01:00
euzuandGitHub a05b0536f5 Feature/stream meter (#659)
* Connection lock for shared stream fixed
* stream meter
2026-03-21 05:29:59 +01:00
euzuandGitHub 66915a306d Feature/rbac (#656)
* RBAC implementation
* Schedules config edit mode
2026-03-20 15:31:19 +01:00
euzuandGitHub dab98b8d39 fixed connection exhausted because of user priority handling (#655)
* fixed connection exhausted because of user priority handling
2026-03-19 16:51:18 +01:00
euzuandGitHub e367f1fe7c - Fix: resolve task database problem (#654)
- Fix: resolve task  database problem
- Fix: m3u parsing when staged input delivers virtual id
- provider id extraction from url refactored
- some optimizations for hashutils
2026-03-19 12:49:45 +01:00
euzuandGitHub 6909fa0f25 Fix/stream upstream error status (#653)
* stream upstream error diagnostics
* fixed config view forms because of yew hook changes
2026-03-18 19:20:36 +01:00
26f45700bf Fixed episode redirect extension (#652)
* Fixed episode redirect extension

* episode handling for redirect

* coderabbitai fixes

---------

Co-authored-by: euzu <euzu@proton.me>
2026-03-18 11:09:56 +01:00
euzuandGitHub bdf466c1a4 Fix/resolve probe custom aut error status code (#650)
* Added CACHEDIR.TAG file  for backup programs to skip cache dir.
* Fixed unneccassary task rescheduling
* Default custom auth failed http status response
2026-03-17 14:02:46 +01:00
euzuandGitHub 7df1c81683 Fixed some probe resolve problems (#647)
Fixed some probe resolve problems
2026-03-15 23:59:13 +01:00
euzuandGitHub f0459e7e14 Fix/hls connect m3u parsing probe resolve (#646)
* Fix HLS session handling and disable retry for adaptive segment requests
* Resolve / probe vod task uses last modified date
* Resolve expiration date in input form
* fixed m3u parsing
* fixed wasm opt for frontend build
2026-03-15 23:32:09 +01:00
euzuandGitHub 392bcbfdc2 Fix/resolve probe tasks (#644)
* Fixed issues with probe and resolve tasks
* hls and catchup session fixes
* fixed problem with grace and shared stream
- added fix for missing episode title
2026-03-15 08:32:18 +01:00
euzuandGitHub a429ee7256 Feature/stream table (#643)
* keep user table info in frontend when switched to custom video stream
* Fixed problems caused by yew upgrade because of UseStateHandle and UseReducerHandle PartialEq change.
* reformatted
2026-03-13 19:19:41 +01:00
euzuandeuzu 31438c64b2 Feature/optimizations (#642)
* - Refactored Shared-Stream hot path from Arc<Bytes> to Bytes (leveraging internal reference counting).
- Switched Metadata Trigger deduplication from Arc<Mutex<HashSet<_>>> to Arc<DashSet<_>> to reduce lock contention.
- Eliminated expensive key cloning in the InputMetadataUpdatesCompleted handler.
- Changed active_target_inputs to HashSet<Arc<str>> to avoid per-event to_string() allocations.
- Implemented bounded Cleanup-Queue (switched from unbounded to mpsc::channel(4096)) with a dedicated overflow path (try_send + async flush) to prevent uncontrolled memory growth.
- Optimized by_provider storage by switching from Vec<(addr, alloc_id)> to HashSet<(addr, alloc_id)>, reducing removal complexity from $O(n)$ to $O(1)$ average.
- Optimized ActiveConnectionInfo data layout by reordering fields (large fields first) to minimize padding and improve cache efficiency.

* Improve shared-stream reliability and align docs

- make shared connection registration fallible with rollback on failure

- guard shared broadcaster startup behind successful subscription

- optimize shared stream/provider key maps to Arc<str>

- add Tokio macros feature for runtime and dev dependencies

- harden build_resources.sh with fail-fast ffmpeg error handling

- clarify StreamError display messages with variant context

- sync README stream/custom-response sections with current behavior

* low_priority_preempted stream
* Keep custom TS timestamps monotonic across loops
- advance timestamp offset by stream duration on buffer wrap
- avoid resetting PTS/DTS to zero each cycle
- prevents players from treating looped custom streams as ended/corrupt
* low_priority_preemption custom video stream fix
* inc_version uses now main toml file
* Fixed some coderabbit issues
2026-03-13 15:17:20 +01:00
euzuandeuzu dc1e2d2168 Feature/build optimization (#640)
* Optimized build
* timeout secs for custom video response
* init custom video timeout on mode switch
* terminate immediately when custom video buffer is missing
* add provisioning missing-custom timeout regression test
* add missing-custom termination tests for all custom modes
* fix ts continuity handling for discontinuity and adaptation-only packets
* fix ts loop duration estimation to use min/max timestamps
* harden pes timestamp patching and normalize pid cc sequence
* Resource ffmpeg creation without B-Frames and short GOPs
* Discontinuity patch for transport stream buffer
* grace hold stream is now default true
* streaming fixes
2026-03-13 15:17:20 +01:00
euzuandGitHub e83cee401f Feature/user priority (#639)
* user connection priority over all aliases
* active client stream priority preemption
* Fixed paths override in read config
* Added custom video stream timeout settings
* Scheduler fix
2026-03-11 12:25:54 +01:00
knylbyteandGitHub c2fdf50642 Feature/dns resolver (#638)
* fix: log resolved provider URLs across stream flows

* fix: split request and provider-key stream logging

* fix: avoid consuming dns rotation in log preview

* test: cover https dns log preview rotation
2026-03-10 13:49:52 +01:00
euzuandGitHub f47d1ee2c3 Api User Priority (#637)
Added  Api User Priority
2026-03-09 17:12:46 +01:00
euzuandGitHub 497a75e0bb Feature/resolve probe fairness (#636)
* Added Resolve - Probe fairness to avoid probe starvation
* Added Probe setting to setup wizard
* Playlist sort order fix
2026-03-08 14:53:05 +01:00
euzuandGitHub 1dd090d9ec - Staged Input source selection (#635)
* Staged Input source selection
- batch input validation fix
* episode source ordinal fix
* playlist filter streaming
* Input validation fixed
2026-03-07 16:44:27 +01:00
euzuandGitHub 737d04d08b Feature/staged input and path improvements (#632)
* No template file not found error message
* Setup wizard improvmenets
* path improvements
* staged input fix
* path improvements
* Provider dns resolved ips now writing to a file instead of source.yml
* Playlist update hard kill after 1h
* matadata update tmdb fix
* Web UI fixes
* GeoIp update schedule
* batch:// prefix  for aliases
2026-03-06 17:29:42 +01:00
knylbyteandGitHub c5632d0c98 fix: log resolved request URLs instead of provider scheme (#631)
* fix: log resolved request URLs instead of provider scheme
* fix: resolve provider log URLs only when sanitization is enabled
* fix: trigger provider failover on http 407
* fix: documentation for provider failover trigger
* moved resolve url into debug statement to avoid building it when log level i not debug
2026-03-06 11:37:20 +01:00
euzuandGitHub 36dcd0ff12 rewrite resource urls for webui (#629)
* rewrite resource urls for webui
* fix for dbviewer
* added metadata update new field
2026-03-05 00:04:53 +01:00
knylbyteandGitHub 08db389f5e bugfix/dns resolver - web ui and resolved list (#626)
* fix: preserve provider dns.resolved order by provider URL sequence
* fix: preserve provider dns data on web ui source saves
* fix: keep provider source edits and dns resolved on ui save
* fix: preserve provider URLs during panel-api provisioning
* fix: prevent lost updates with config revision checks
* fix: honor disabled dns and track config context in input form
2026-03-03 19:35:31 +01:00
euzuandGitHub 765f8f72bc Feature/metadata update (#625)
- Metadata Updater fixes
- Input Form Provider Config
2026-03-02 19:56:22 +01:00