SmartTV Media Hub / TV Service Toolkit 1.8.0 — TEST REPORT
Date: 2026-07-13

COMPONENTS
- Backend: backend-1.8.0-iptv-restore-torrserve-clients
- Orsay Widget: 1.4.0 (internal ver 4.0)
- TV Service Toolkit / Deploy Utility sources: 1.8.0

PASSED STATIC TESTS
- Python server.py compilation: PASS.
- Bash syntax: installer, rollback, diagnostics: PASS.
- Backend Admin inline JavaScript syntax via Node: PASS.
- Orsay app.js/config.js syntax via Node: PASS.
- config.xml and .csproj/XAML XML parsing: PASS.
- backend config.json parsing: PASS.
- Orsay ZIP integrity: PASS; config.xml is at ZIP root; no directory entries; MS-DOS/FAT origin.
- VPS tar.gz integrity and file layout: PASS.
- Secret scan for previously exposed camera password, public IP, camera IP and embedded RTSP credentials: PASS.

PASSED BACKEND RUNTIME TESTS
- /api/health returns backend-1.8.0-iptv-restore-torrserve-clients.
- /api/media/config returns tvMode=mpegts and strictDirect=false.
- /api/admin/torrserve/clients starts and returns an empty valid list when TorrServe has no clients.
- TorrServe block/unblock state API tested with firewall/native enforcement disabled in an isolated temporary root: PASS.
- Blocked IP state persists in data/torrserve/client-state.json: PASS.

PASSED IPTV INTEGRATION TEST
- Generated local H.264/AAC HLS test stream.
- Backend MPEG-TS endpoint produced a valid MPEG-TS file.
- ffprobe confirmed output codecs remained H.264 and AAC.
- FFmpeg command uses -c:v copy and -c:a copy: no TV stream transcoding.
- Removed -reconnect_at_eof 1, which previously caused HLS playlist EOF reconnect loops before segment playback.

NOT EXECUTED IN THIS ENVIRONMENT
- Physical Samsung UE46F8000 installation and native-player playback.
- Windows .NET publish/installer build: .NET SDK is not installed in the build environment.
- Real TorrServe client socket observation on the user's server.
- Real iptables/ip6tables and Docker DOCKER-USER enforcement on the user's VPS.
- Native TorrServer bip.txt reload behavior for the user's exact TorrServer build.

KNOWN OPERATIONAL LIMITATIONS
- Client rows represent IP addresses, not authenticated people.
- NAT can combine several people into one IP row.
- Reverse proxying can hide client IPs.
- Backend Admin still requires external access protection until built-in authentication is completed.
