3 Commits

Author SHA1 Message Date
71ba63ffe3 Fix @handle URL resolution using --flat-playlist
- Updated extract_channel_id() to use --flat-playlist instead of --playlist-items 0
- Append /videos to URLs to ensure playlist metadata is available
- Extract playlist_channel_id and playlist_channel from flat-playlist output
- Increased timeout to 15 seconds for network fetch
- All URL formats now working: direct IDs, /channel/ URLs, @handle URLs

Tested and verified in Docker container.
2026-05-08 19:29:48 -04:00
3726cb5775 Add channel URL lookup and auto-detection
- Accept YouTube URLs in any format (@handle, /c/, /user/, /channel/)
- Auto-extract channel ID from URLs using yt-dlp
- Auto-detect channel name from URL (optional field)
- Support direct channel ID input (backwards compatible)
- Prevent duplicate channels
- Updated UI with better instructions and examples
- Improved user experience - just paste channel URL
2026-05-08 19:19:41 -04:00
b3f378a8ef Add web UI for configuration and management
- Flask-based web interface on port 8080
- Dashboard with channel statistics and sync status
- Channel management (add/remove channels via UI)
- Settings page for all configuration options
- Cookie file upload interface
- Real-time log viewer
- Manual sync trigger from web UI
- Updated Dockerfile to include Flask and web assets
- Updated Unraid template with WebUI port
- Updated README with web UI documentation
2026-05-08 19:00:36 -04:00