Repository navigation
Streaming
- Live DASH plays again. The relay now keeps usable
UTCTimingclock sources and forwards the manifestDateheader, and the player no longer treats dash.js clock, subtitle or buffer-pruning errors as fatal. Before, every live DASH stream stopped with "cannot decode". - Clearer failures. Relay errors now reach the player with their real status, so policy blocks (403), oversized playlists (413) and unsupported formats (415) are named instead of showing as a lost connection.
- Long and on-demand playlists keep working. Segments are no longer dropped five minutes after their playlist loaded, and long DVR windows no longer hit the old 8,192-address limit.
- Faster, single-connection start. The relay hands its probe connection to the player, so providers that allow one connection and one-time stream addresses work.
- Better stream detection. MPEG-TS is recognised even when a live stream starts mid-packet, and a
.m3u8address that actually serves TS plays as TS. - More HLS streams play. A multivariant playlist with one off-host or plain-HTTP variant keeps its other variants instead of failing. Identity
SAMPLE-AESkeys are relayed.$in an HLS address no longer breaks playback. - Automatic recovery. Desktop and Android reconnect a stream that was playing and then dropped, up to three times in two minutes. Android also rejoins the live edge after falling behind the live window.
- Android buffers 1.5 s before starting playback, which cuts rebuffering on Wi-Fi.
Build and CI
- Every push now builds a debug Android APK (aarch64), so the Media3 player plugin is compiled before release time.
- GitHub Actions are pinned to their latest releases (
actions/setup-javav6.1.0). The verify workflow can be run manually and caches npm downloads.
Installing
Verify a download with its .sigstore.json bundle first (see the README).
-
macOS (universal): the app is ad-hoc signed and not notarized. After dragging IPTV to Applications, run this once before the first launch and after every update:
xattr -cr /Applications/IPTV.app
-
Windows: the installers are not Authenticode-signed; SmartScreen asks for confirmation.
-
Android / Fire TV: packages named
unsignedcannot be installed without the repository's signing secrets.
This is verified source, not a certified release. See docs/VERIFICATION.md for what was and was not tested.