Commit Graph
166 Commits
Author SHA1 Message Date
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 ba200135ce Merge branch 'feature/source_editor' into feature/local_media 2025-12-13 15:34:51 +01:00
euzu 4281cbc90d kick debug log added 2025-12-13 11:32:55 +01:00
euzu 3e965c0bb7 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 21:31:28 +01:00
euzu efc23c2b21 Added kick duration for web_ui kick 2025-12-12 21:16:52 +01:00
euzu e6db1a3c66 Added kick duration for web_ui kick 2025-12-12 20:32:46 +01:00
euzu b84e2ca96f Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 17:05:29 +01:00
euzu afc0fe4ea8 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 17:05:12 +01:00
euzu a789f1386d Merge branch 'develop' into feature/source_editor 2025-12-12 16:57:52 +01:00
euzu ee0441877d xtream and m3u parsing with streaming 2025-12-12 15:33:41 +01:00
euzu a522d2863b write operations optimized for less memory usage 2025-12-11 19:50:31 +01:00
euzu 1193fc2265 write operations optimized for less memory usage 2025-12-11 19:27:56 +01:00
euzu ab8e6c0d53 write operations optimized for less memory usage 2025-12-11 14:32:04 +01:00
euzu 55191d6c84 vod resolve refactored
Arc<Client> is now Client
2025-12-11 09:54:28 +01:00
euzu a5cafb1b78 Merge remote-tracking branch 'deadc1de/feature/local-vod-module' into feature/local_media 2025-12-10 10:48:24 +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
euzu 0ee5f94dde little fixes 2025-12-10 08:00:45 +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
knylbyte 757036c1b2 feat: debug output adjusted 2025-12-07 19:29:18 +01:00
knylbyte 8d18a2fd16 feat: added debug logging for stream id resolution 2025-12-07 17:23:44 +01:00
euzu ee05a9e02e Atomic ordering changedFixed race conditions on user access 2025-11-30 12:53:47 +01:00
euzu f3c8383a44 Fixed race conditions on user access 2025-11-30 11:52:58 +01:00
euzu bdb838e2b0 - CPU usage
- disable cloudfare header
2025-11-29 19:01:42 +01:00
euzu b6fb3e7d58 Short epg served from local epg file if exists. 2025-11-25 20:33:02 +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 72fef10b86 Xtream Codes Batch provider accounts are now checked for expiration. 2025-11-22 11:07:50 +01:00
euzu 4e6c5209d8 Xtream Codes Batch provider accounts are now checked for expiration. 2025-11-22 10:55:46 +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 f60e30644c Epg resource rewrite 2025-11-21 12:57:36 +01:00
euzu b691105510 Epg resource rewrite 2025-11-21 12:42:44 +01:00
euzu dd4f3beb56 Epg resource rewrite 2025-11-21 12:28:56 +01:00
euzu 98dc80dd75 SyncIOBridge caused tokio panic 2025-11-21 01:35:04 +01:00
euzu 020f52c5d2 fixed some async file operations 2025-11-20 14:22:26 +01:00
euzu 3d36cc0617 fixed some async file operations 2025-11-20 13:54:34 +01:00
euzu a14253519e fixed some async file operations 2025-11-20 13:40:04 +01:00
euzu d2779a3e30 Some fixes for async handling 2025-11-20 13:00:01 +01:00
euzu 8ca88a4711 Merge remote-tracking branch 'dark-breakpoint/feature/async-cleanup' into feature/connection_logging_and_non_order_and_session_connection_token 2025-11-20 10:34:46 +01:00
euzu d63270edd9 Merge remote-tracking branch 'dark-breakpoint/feature/async-cleanup' into feature/connection_logging_and_non_order_and_session_connection_token 2025-11-20 10:34:41 +01:00
DarkBreakpoint 0876ebc43b async Config 2025-11-19 15:13:33 -06:00
DarkBreakpoint 3715bb0d90 Video download async cleanup 2025-11-19 14:41:57 -06:00
DarkBreakpoint ecd8e5657f async cleanup 2025-11-19 14:13:54 -06:00
euzu 66bba7b96b Merge remote-tracking branch 'dark-breakpoint/async-file-copy' into feature/async_playlist_persistence 2025-11-14 16:32:24 +01:00
euzu c6203190e0 File Lock fix 2025-11-14 09:49:48 +01: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
euzu 716ce7a1f0 Web ui direct login when web auth disabled 2025-11-07 20:03:22 +01:00
euzu 94dee697c7 Merge branch 'develop' into fix/web_ui_direct_login_when_auth_disabled 2025-11-07 19:47:02 +01:00
euzu 1000b2e7fc Fixed custom share response 2025-11-06 15:05:09 +01:00