Michael and Claude Fable 5
60d3f42901
feat: security hardening, streaming overhaul, design polish, tests
...
Security:
- Replace unsalted SHA-256 password hashing with bcrypt (lazy rehash on login)
- Add authenticated /api/xtream-api gateway: Xtream credentials are injected
server-side and never sent to the frontend; /api/playlists no longer
returns passwords
- Redact credentials from all logs (login body, proxy/FFmpeg/scheduler URLs)
- Add auth to recordings, EPG, season-passes and streaming routes
(HttpOnly session cookie for hls.js; loopback bypass for local FFmpeg)
- Lock player postMessage to same-origin in both directions
- Vendor and pin hls.js 1.6.7 / mpegts.js 1.7.3 (drop CDN @latest)
- Fix rate limiter (client IP was never resolved), add login rate limit,
restrict CORS, add CSP Report-Only, block private-IP SSRF targets,
fix path traversal in recording log retrieval, chmod 777 -> 770
- Remove dead HiveService (seeded admin/admin into IndexedDB with SHA-256)
- Fix authMiddleware not populating 'user' context (getPlaylist ignored the
logged-in user; admin purge always returned 403)
Streaming:
- New FfmpegSessionManager: process registry, idle reaper (4 min live /
15 min VOD), orphan cleanup at startup, clean SIGTERM shutdown,
fast-fail with stderr instead of 30 s timeout
- Quality selection (source/high/medium/low) for live and VOD; source mode
streams with -c:v copy (zero transcoding); selector wired into the player
- Concurrent recordings (MAX_CONCURRENT_RECORDINGS, default 2); conflicts
retry on the next tick instead of silently failing
- Lower live latency (HLS window 20 -> 10 segments, liveSync 10 -> 3)
- Fix recording log lookup (.mp4 vs .mkv mismatch)
Design:
- Replace hardcoded colors with AppColors tokens (12 files)
- web/theme.css syncs HTML players with the Flutter palette
- DPAD/keyboard navigation (arrow-key focus, player shortcuts)
- Tooltips on player icon buttons, Semantics on content cards
- Remove 7 dead widgets broken since the Stitch merge
Quality:
- bin/test/: 21 unit tests (bcrypt, redaction, traversal, SSRF, recording
conflicts) plus a quality-selector widget test
- GitHub Actions CI (analyze + test + build web)
- Archive stale status docs into docs/archive/
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-10 10:07:18 +02:00
Michael
e4301077b0
feat: implement HLS live streaming and VOD transcoding handler with FFmpeg and NVIDIA GPU support
2026-04-01 21:14:33 +02:00
Michael
fa6ae90d8d
feat: add mobile-optimized IPTV player with HLS and MpegTS support
2026-03-29 10:19:36 +02:00
Michael
c57273be2c
feat: Implement GPU-accelerated live HLS streaming with FFmpeg, including iOS optimizations and IPTV redirect resolution.
2026-03-09 14:10:13 +01:00
Michael
50a6998c09
feat: add EPG TV guide, season passes (auto-recording) and unified recordings/EPG tab with 3 sub-tabs
2026-03-09 08:21:48 +01:00
Michael
4c2e3ce600
feat: add stop recording button and POST /api/recordings/stop/<id> endpoint to kill FFmpeg process
2026-03-08 23:53:32 +01:00
Michael
7e0837374e
refactor(recordings): eliminate Router/mount, expose direct handler methods to avoid shelf_router path collision
2026-03-08 22:10:59 +01:00
Michael
d91be43f27
fix(backend): move GET /recordings/logs/<id> to main router to avoid shelf_router collision with DELETE /<id>
2026-03-08 21:42:53 +01:00
Michael
2180572b92
feat: implement live tv recording system
2026-03-08 08:40:55 +01:00
Michael
755367018a
feat: Implement core server application with API routing, streaming, and static content serving.
2026-01-07 11:29:00 +01:00
Michael
1dd77bd87a
feat: implement core server with API routing, middleware, and static file serving
2026-01-07 11:24:26 +01:00
Michael
a149bf266c
chore: add detailed login logging and update startup message
2026-01-07 10:39:06 +01:00
Michael
38572fa747
fix(auth): move auth check inside proxy handler after path filtering
2026-01-07 09:32:51 +01:00
Michael
d1933f7500
merge: resolve Dockerfile conflict (kept optimization + nvenc support)
2026-01-07 08:44:50 +01:00
Michael
8df9a37baa
feat: security overhaul (proxy ssrf fix, streaming sanitization, docker optimization)
2026-01-07 08:43:33 +01:00
Michael
71630d75e8
feat: Install FFmpeg with NVIDIA NVENC/NVDEC support via apt-get instead of a static build.
2026-01-03 10:26:17 +01:00
Michael
ce82b9e824
feat: Implement API handlers for live and VOD streaming and create database module.
2026-01-01 20:13:56 +01:00
Michael
01d522613f
fix: add Dart-pure PlaylistConfig for server and fix imports
2025-12-16 20:20:24 +01:00
Michael
57b7acbead
feat: Implement streaming handlers for live MPEG-TS proxy and VOD HLS transcoding via FFmpeg, and add a release build script.
2025-12-16 07:39:33 +01:00
Michael
07ffb1b75f
feat: Introduce backend server with live TV proxy, VOD HLS transcoding, and IPTV streaming settings UI.
2025-12-15 16:49:48 +01:00
Michael
2c0725590e
feat: Add initial IPTV player with web-based playback and streaming API.
2025-12-15 13:01:24 +01:00
Michael
2ca8f5e969
feat: introduce server with API, HLS streaming, Xtream proxy, and player UI
2025-12-14 22:32:15 +01:00
Michael
5b0ae63290
feat: Add Xtream Codes API service for managing playlists, streams, and channels, including caching and proxy handling.
2025-12-14 09:13:53 +01:00
Michael
61e0fa2435
feat: Add IPTV settings tab for managing category filters, streaming options, appearance, and admin access, and introduce a new server entry point.
2025-12-08 22:02:41 +01:00
Michael
689eb4adbc
feat: Introduce a new Dart server application providing API, static assets, streaming, proxying, and a cleanup service.
2025-12-08 21:57:04 +01:00
Michael
f5f70f73a6
feat: Implement initial server with API, streaming, Xtream proxy, and static file serving.
2025-12-08 21:47:10 +01:00
Michael
63846c090a
feat: implement IPTV settings management with streaming and display preferences
2025-12-08 21:40:46 +01:00
Michael
5069e92bb7
feat: Implement core server infrastructure with API routing, static file serving, and security middleware.
2025-12-08 21:14:17 +01:00
Michael
e95fdb534a
feat: add new UI tabs for movies and series, including mobile-specific versions with search and pagination.
2025-12-08 20:43:41 +01:00
Michael
1e3e490e26
feat: Add initial server implementation with API routing, security middleware, and a file cleanup service.
2025-12-07 22:49:29 +01:00
Michael
4a829d316b
feat: Add mobile settings tab UI with user profile, appearance, and streaming options
2025-12-07 15:44:22 +01:00
Michael
47eaf50e0c
feat: implement core server with API routing, static file serving, Xtream proxy, FFmpeg streaming, and security middleware.
2025-12-07 15:34:36 +01:00
Michael
b244f1f807
feat: introduce core server with API, media streaming, Xtream proxy, and player UI
2025-12-07 15:29:00 +01:00
Michael
7372f51b19
feat: add initial Dart server with API routing, authentication, streaming, and static file serving.
2025-12-07 15:21:29 +01:00
Michael
5ca08a50b5
feat: add security middleware for security headers, honeypot, and rate limiting to the server.
2025-12-07 10:39:46 +01:00
Michael
28d4bef661
feat: Initialize core database with user, playlist, and session management, and establish initial server and user API handler files.
2025-12-07 00:34:40 +01:00
Michael
4786ded67d
feat: Implement server with API routing, static file serving, Xtream proxy, and streaming capabilities.
2025-12-06 19:13:10 +01:00
Michael
2c581bc8e5
feat: Implement core backend server with API, Xtream proxy, and streaming capabilities, and introduce IPTV player screen.
2025-12-06 17:48:50 +01:00
Michael
2517ac777a
feat: add Xtream API data models, IPTV player screen, and server entry point
2025-12-06 17:39:05 +01:00
Michael
77dde5d7fd
feat: add initial server infrastructure with API, static file serving, Xtream proxy, and streaming capabilities.
2025-12-06 17:28:25 +01:00
Michael
d6b42512b6
feat: add initial Dart server implementation with API routing, Xtream proxy, static file serving, and streaming support.
2025-12-06 16:48:57 +01:00
Michael
5be7c0c3ff
feat: implement IPTV player screen with FFmpeg transcoding for live streams, playback position tracking, and dedicated settings
2025-12-06 16:43:19 +01:00
Michael
33239ca11e
feat: Implement Xtream API data models and live TV tab for IPTV functionality, including application icons.
2025-12-06 16:23:21 +01:00
Michael
ec6108b747
feat: Implement core server logic including API routing, static file serving, Xtream proxy, and streaming capabilities.
2025-12-06 15:38:17 +01:00
Michael
ebbf9217fc
feat: add LiveTVTab widget for displaying categorized live TV channels with pagination.
2025-12-06 15:28:05 +01:00
Michael
5671afbd26
feat: Add IPTV player screen with FFmpeg transcoding, resume playback, and dedicated movie/series tabs.
2025-12-06 14:10:52 +01:00
Michael
b9371bf368
feat: add core server with REST API, Xtream proxy, streaming, and watch history provider
2025-12-06 13:40:48 +01:00
Michael
85471b5312
feat: implement core server with API (auth, playlists), static assets, Xtream proxy, media streaming, and icons
2025-12-06 13:10:58 +01:00
Michael
8d86891794
feat: Implement core server with API routing, static file serving, Xtream proxy, and authentication.
2025-12-06 12:12:18 +01:00
Michael
39dabfa7b5
feat: add Dart server for API, Xtream proxy, and FFmpeg streaming, updating Dockerfile for ffmpeg support.
2025-12-06 11:49:39 +01:00