Commit Graph
162 Commits
Author SHA1 Message Date
euzu aa4463b632 fetching tmdb data for series 2025-12-19 15:57:46 +01:00
euzu 0506e8f201 fetching tmdb data for series 2025-12-18 16:15:38 +01:00
euzu 5f9fa8ea56 Merge remote-tracking branch 'github/feature/local_media' into feature/local_media 2025-12-16 20:09:17 +01:00
euzu a571f863bb Integrate local movie file into playlist 2025-12-16 19:59:53 +01:00
euzu 37985c0324 Integrate local movie file into playlist 2025-12-16 16:43:11 +01:00
euzu 8d1378c294 Integrate local movie file into playlist 2025-12-16 16:23:15 +01:00
euzu 96899cf5f9 Local media library 2025-12-15 21:55:48 +01:00
euzu 2946cb1dd5 Local media library 2025-12-15 21:26:12 +01:00
euzu 23d6c90c1d Local media library 2025-12-15 21:10:45 +01:00
euzu 89cea7a7c2 Local media library 2025-12-15 19:26:31 +01:00
euzu 2f32f1ece1 Local media library 2025-12-15 17:54:19 +01:00
euzu 29bedf2202 Merge branch 'feature/source_editor' into feature/local_media 2025-12-14 12:30:53 +01:00
euzu 758585c8c6 memory fix 2025-12-13 20:28:21 +01:00
euzu ba200135ce Merge branch 'feature/source_editor' into feature/local_media 2025-12-13 15:34:51 +01:00
euzu 80b7183d10 replaced serde_json Value with RawValue to reduce memory usage 2025-12-13 15:07:47 +01:00
euzu 60e74f38a9 force reconnect removed 2025-12-13 13:55:35 +01:00
euzu 3e965c0bb7 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 21:31:28 +01:00
euzu e6db1a3c66 Added kick duration for web_ui kick 2025-12-12 20:32:46 +01:00
euzu f3f7d0136d Merge remote-tracking branch 'deadc1de/feature/local-vod-module' into feature/local_media 2025-12-10 09:18:53 +01:00
moeandClaude Sonnet 4.5 d481303e57 feat: Add Local VOD (Video-on-Demand) Module
Implements comprehensive local video file scanning and metadata management:

Core Features:
- Recursive directory scanning with tokio::fs async operations
- Automatic classification (Movies vs TV Series) using regex patterns
- Multi-source metadata resolution (NFO → TMDB → filename parsing)
- JSON-based metadata storage with UUID tracking
- Virtual ID management (incremental, stable across scans)
- TMDB API integration with rate limiting (250ms default)
- NFO file reading/writing (Kodi/Jellyfin/Emby/Plex compatible)
- Incremental scanning (only processes changed files)
- Orphaned entry cleanup

Components Added:
- backend/src/vod/scanner.rs - Async file scanner
- backend/src/vod/classifier.rs - Movie/Series classification
- backend/src/vod/metadata.rs - Metadata models
- backend/src/vod/nfo_reader.rs - NFO parser
- backend/src/vod/tmdb_client.rs - TMDB API client
- backend/src/vod/metadata_storage.rs - JSON storage layer
- backend/src/vod/metadata_resolver.rs - Metadata orchestration
- backend/src/vod/processor.rs - Main processing pipeline

API Endpoints:
- POST /api/v1/vod/scan - Trigger VOD scan
- GET /api/v1/vod/status - Get VOD status
- GET /api/v1/vod/item/:id - Get VOD item by virtual ID

CLI Integration:
- --scan-vod - Scan VOD directories
- --force-vod-rescan - Force full rescan

Configuration:
- config/vod.yml.example - Example configuration
- New InputType::LocalVod in source.yml

Technical Details:
- Uses OnceLock for regex caching (no lazy_static needed)
- Arc-swap pattern for lock-free config updates
- Comprehensive unit tests
- ~3,200 lines of new code
- Zero new dependencies added

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-10 07:51:06 +01:00
euzu b1903096b7 Worked on Filter Input and Filter editor 2025-12-04 16:28:03 +01:00
euzuandGitHub 9c5c79dea5 Merge pull request #463 from euzu/feature/shared_stream_custom_response
Feature/shared stream custom response
2025-12-03 13:03:56 +01:00
euzu b04d3183c4 Source editor features 2025-12-03 12:15:00 +01:00
moe 3680081d0f Fix compilation errors in form implementations
input_form.rs:
- Remove HashMap from generate_form_reducer macro (not supported)
- Add separate use_state for headers management
- Load headers from input in use_effect_with
- Update KeyValueEditor to use headers_state instead of form state
- Set headers in handle_apply_input callback

trakt.rs:
- Add Display trait for TraktContentType enum
- Add FromStr trait for TraktContentType enum
- Enables dropdown functionality for content type selection

These fixes resolve compilation errors related to:
- Unsupported HashMap type in form reducer macro
- Missing trait implementations for enum conversions
2025-12-01 14:16:04 +01:00
knylbyte adb9e70807 feat: prevent duplicate xtream info fetches for mapping aliases 2025-11-30 20:29:00 +01:00
knylbyte d68f6df311 feat: prevent duplicate xtream info fetches for mapping aliases 2025-11-30 19:56:51 +01:00
knylbyte 5a10efe82e feat: added option to create an alias during mapping 2025-11-30 18:35:01 +01:00
root 94e5f1e4c9 Add output form components for source editor
- Implement M3u output form with filename, type inclusion and filter fields
- Implement STRM output form with directory, export style and advanced options
- Implement HDHomeRun output form with device and output type selection
- Add FromStr trait implementations for StrmExportStyle and TargetType enums
- Update output_form.rs to route to new form components
- Update module declarations in mod.rs

This completes the form implementation for all output block types,
allowing users to edit M3u, STRM and HDHomeRun configurations
directly in the source editor UI.
2025-11-30 16:47:29 +01:00
euzu 62694f3a3c - CPU usage
- disable cloudflare header
2025-11-29 19:20:27 +01:00
euzu bdb838e2b0 - CPU usage
- disable cloudfare header
2025-11-29 19:01:42 +01:00
euzu cc45892d3f Refactored connection handling to avoid race conditions 2025-11-26 14:29:19 +01:00
euzu 21006dbf0f Refactored connection handling to avoid race conditions 2025-11-26 14:13:31 +01:00
euzu 6c021fbe2b Refactored connection handling to avoid race conditions 2025-11-26 13:44:11 +01:00
euzu a873848a39 added exp_date for input, alias and csv batch file 2025-11-26 13:19:10 +01:00
euzu a8b2755379 User category selection 2025-11-25 16:30:04 +01:00
euzu 0119abe8bb Added copy to clipboard menu for stream table 2025-11-24 14:29:05 +01:00
euzu ddcd56b1ea Resource rewrite secret key to ensure rewritten url validity
Fixed epg rewrite
2025-11-21 17:09:14 +01:00
euzu d2779a3e30 Some fixes for async handling 2025-11-20 13:00:01 +01:00
euzu 00df136c64 Merge remote-tracking branch 'dark-breakpoint/feature/session-connection-token' into feature/connection_logging_and_non_order 2025-11-20 08:50:10 +01:00
euzu 5db883caf2 Merge remote-tracking branch 'dark-breakpoint/feature/session-connection-token' into feature/connection_logging_and_non_order 2025-11-20 08:50:05 +01:00
DarkBreakpoint 7d3c2fd8be Improve session tracking 2025-11-19 23:00:25 -06:00
DarkBreakpoint 88e92cd4a4 Add order: none handling to playlist sorting 2025-11-19 22:12:53 -06:00
euzu 57545d50b0 Fixed strm filter
Added `movie` as alias for `vod` for type filter. You can use now alternative to `Type = vod` the filter `Type = movie`.
2025-11-13 13:31:55 +01:00
euzu f6ecbaad2f Fixed strm filter
Added `movie` as alias for `vod` for type filter. You can use now alternative to `Type = vod` the filter `Type = movie`.
2025-11-13 13:15:17 +01:00
DarkBreakpoint 153c1377b3 feat: make shared burst buffer size configurable 2025-11-12 15:21:05 -06:00
euzu fa9f80bde9 - Multi Strm outputs with same type is now allowed.
- Added new mapper function `pad(text | number, number, char, optional position: "<" | ">" | "^")`
- Added new mapper function `format`, it is very simple and only supports in text replacement like  `format("Hello {}! Hello {}!", "Bob", "World")`
2025-11-12 00:10:00 +01:00
euzu eba6b7df96 Changes to the PR resource retry config by DarkBreakpoint 2025-11-11 10:00:35 +01:00
DarkBreakpoint 84429af955 feat: make reverse-proxy retries configurable 2025-11-10 20:06:52 -06:00
euzu 55c2bdabba better connection handling 2025-11-10 01:30:23 +01:00
euzu b69ed4921e better connection handling 2025-11-10 01:04:13 +01:00