Commit Graph
466 Commits
Author SHA1 Message Date
euzuandGitHub eb2a017fa3 Network access restriction for api user (#728)
* Network access restriction for api user
* Fixed strm provider:// url bug
2026-04-23 21:15:59 +02:00
euzuandGitHub 5f2d2c8b50 Feature/stream display (#725)
* Added User comment to stream display
*Added EPG to stream display
* Added Stream display hide fields config
* fixed live/vod session ttl bug
2026-04-22 17:58:33 +02:00
knylbyteandGitHub 81ca391ac4 feat: add per-user output clusters (#722)
add per-user output clusters
2026-04-21 19:45:53 +02:00
euzuandGitHub 48eb5a8478 Connection admission state machine (#723)
Connection admission state machine
2026-04-21 15:21:51 +02:00
euzuandGitHub 7e20f92707 Stream session handling and template preparation (#721)
- Stream Session handling fixed
- Complex Template preparation and validation fixed.
2026-04-17 21:04:45 +02:00
euzuandGitHub 9eef3b24e0 Feature/filter resolve probe (#720)
* Filter for resolve
* Filter for probe
2026-04-17 11:57:43 +02:00
euzuandGitHub ba16a66c2b Feature/stream history (#718)
* stream history refactoring
* tag develop after build
2026-04-16 14:40:38 +02:00
euzuandGitHub edc0ceb05e Fix: Vod session handling (#717)
* Fix: Vod session handling
* Review fixes
2026-04-13 12:26:44 +02:00
euzuandGitHub ea17f4ac09 Added new connectoin admission rules (#715)
* Added new connectoin admission rules
- evict_user_lastest
- evict_user_oldest
2026-04-11 23:27:43 +02:00
euzuandGitHub 4b68baadaa Fix/playlist explorer (#714)
* Refactored Playlist and Epg Explorer
2026-04-10 20:36:24 +02:00
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