readme.md

July 30, 2026 ยท View on GitHub

Extreme InfiniTV logo

Extreme InfiniTV

A cross-platform IPTV player for Xtream Codes and M3U / M3U8 playlists.

Live TV with EPG and catch-up, movies, series, custom playlists, offline downloads, and TV-remote (D-pad) navigation.
Ships on Windows (Microsoft Store + installer), Android phone / tablet / TV (Google Play), macOS, Linux, and the web.

Get Extreme InfiniTV on the Microsoft Store Get Extreme InfiniTV on Google Play Get Extreme InfiniTV from the Snap Store Download Extreme InfiniTV from GitHub Releases

Latest stable release Latest beta release GitHub downloads GitHub stars Supported platforms: Windows, macOS, Linux, Android

Documentation Issues Discussions

Screenshots

Extreme InfiniTV home screen showing Live TV, Movies, and Series tiles with Continue Watching strip

More screenshots (Live TV, EPG, Movies, Series, Android TV, mobile)

Desktop

Live TV channel list with inline EPG showing now/next programmesMovies poster grid with category filteringSeries detail view with seasons and episodes
Full XMLTV schedule grid for the EPG pageSettings page with playlists, display, network, and downloadsFavorites page showing the cross-playlist union of starred items

Android TV (10-foot UI, D-pad focus)

Extreme InfiniTV home screen on Android TVLive TV on Android TV with D-pad focus on the channel listMovies poster grid on Android TV

Phone (portrait, touch)

Extreme InfiniTV home screen on a phone in portraitLive TV on a phone with bottom navigationSeries poster grid on a phone in portrait

Features

  • Any source, one UI. Sign in with Xtream Codes credentials, paste an M3U / M3U8 URL or a direct stream link, or load a playlist file from your device. The app detects the mode automatically.
  • Live TV with category filtering, channel search, channel-number entry, a virtualised list, and inline EPG (now / next / today).
  • Catch-up TV and replay. Replay programmes from your provider's archive and pause or rewind behind live, with a full-programme seekbar.
  • Custom playlists built in a full in-app editor: pull channels from any playlist, reorder and group them, rename, renumber, find and replace, check links, and export as .m3u.
  • Add a stream from any website. Paste a page URL and the app sniffs the network for playable HLS / DASH streams, with quality labels and multi-select.
  • Movies (VOD) and Series library with poster grids, detail dialogs, and season / episode navigation.
  • Full schedule grid on the EPG page, with timezone-aware "all times local" rendering, custom EPG sources, and channel mapping.
  • A player for everything. Three embedded engines (ArtPlayer, Video.js, Shaka) cover HLS, MPEG-TS, MPEG-DASH with ClearKey, and HEVC (with one-click install of the Windows HEVC extension). Picture-in-picture included.
  • Embedded subtitles from MP4 files everywhere and MKV files on desktop, plus audio track switching and automatic audio repair: AC-3 / E-AC-3 / MP2 / DTS transcoded on the fly through a bundled FFmpeg (Windows / Linux).
  • External players. Hand any stream to MPV or VLC on desktop (with window reuse), or to any installed video app on Android.
  • Multiple playlists, switchable from the sidebar without re-entering credentials, each with its own favorites, watchlist, progress, and health panel.
  • TV-first navigation. Spatial focus (D-pad / arrow keys) is wired across the whole app via spatial-navigation-polyfill. Hit targets, focus rings, and reflow tested for 10-foot UI, plus a TV safe-area setting for overscan.
  • 16 languages including RTL (Arabic, Urdu), translated before first paint so there's no flash of English.
  • Light and dark themes with seven accent colors, both first-class. Honours prefers-color-scheme, prefers-reduced-motion, and prefers-contrast.
  • Adjustable font scale (Default / Medium / Large / X-Large) plus a responsive root size that scales the whole UI on 4K and 8K displays.
  • Self-updating desktop builds (Windows NSIS and Linux AppImage) via the Tauri updater, signed with minisign and served from GitHub Releases, with stable and beta channels and a "What's new" dialog after each update.
  • Backup and restore. Export playlists, preferences, and settings as one file and import them on another device.
  • Offline-friendly persistence. Credentials and preferences live in the OS app-data dir on Tauri builds, with a localStorage / cookie fallback on the web build.
  • No tracking, no ads, no telemetry. The app collects nothing about you or your viewing habits.

Install

PlatformHowUpdates
Windows (Microsoft Store)apps.microsoft.comMicrosoft Store
Windows (sideload)NSIS .exe (or .msi) from ReleasesIn-app auto-updater
macOS (Apple Silicon + Intel)Universal .dmg from ReleasesUpdate check in-app, download from Releases
Linux (Snap, most distros)sudo snap install extreme-infinitv or Snap StoreSnap Store
Linux (Debian / Ubuntu / Mint).deb from ReleasesManual
Linux (Fedora / openSUSE / RHEL).rpm from ReleasesManual
Linux (any distro, portable).AppImage from ReleasesIn-app auto-updater
Raspberry Pi 4 / 5 (64-bit OS)sudo snap install extreme-infinitv, or arm64 .deb / .AppImage from ReleasesSnap Store / in-app (AppImage)
Android phone / tabletGoogle PlayPlay Store
Android TVSame APK, sideload via ADB or use Play Store on supported devicesPlay Store
Web previewBuild with pnpm build and serve dist/ (no auto-update, no native features)Manual

via winget

The Microsoft Store listing is federated through winget, so you can install without opening the Store:

winget install --id 9NN162Z0WXSR --source msstore

macOS: "Extreme InfiniTV.app" cannot be opened

The macOS build is not yet notarized by Apple, so Gatekeeper blocks it on first launch with a message like "Apple could not verify Extreme InfiniTV.app is free of malware". After dragging the app from the .dmg into /Applications, remove the quarantine flag from a Terminal:

xattr -dr com.apple.quarantine "/Applications/Extreme InfiniTV.app"

Then open the app normally. You only need to do this once per install.

Develop

Requirements: pnpm (the package manager is pinned in package.json), Node 20+, the Rust toolchain (only for tauri commands), Java 21 and Android Studio for tauri:android. mise.toml pins the toolchain versions if you use mise.

pnpm install
pnpm dev                  # Astro + Svelte at http://localhost:4321
pnpm tauri dev            # Native desktop shell (auto-spawns pnpm dev)
pnpm tauri:android        # Android dev shell

On Windows and Linux, pnpm tauri dev / pnpm tauri build first download and checksum-verify a trimmed FFmpeg sidecar into src-tauri/binaries/ (run pnpm fetch-ffmpeg to do it manually). The first Tauri build therefore needs network access.

To test the dev server on another device on the LAN (phone, TV), set XTREAM_HMR_HOST to your machine's LAN IP so Vite advertises the right HMR host:

XTREAM_HMR_HOST=192.168.1.50 pnpm dev

Tests run with Vitest (pnpm test); ~28 suites in tests/ cover the parsers, serializers, catch-up math, codec hints, custom playlists, backup, and the playback proxies. Lint with ESLint flat config (pnpm lint / pnpm lint:fix); no Prettier. TypeScript is in strict mode (tsconfig.json extends astro/tsconfigs/strict); the @/* alias maps to src/*.

Credits

Copyright (c) 2025 Ludovico Ferrara.

License

Extreme InfiniTV is released under the GNU General Public License v3.0 or later. You are free to use, study, share, and modify it; any distributed fork or derivative must remain under the same license and ship its source.

The Windows and Linux desktop builds bundle a trimmed FFmpeg binary (LGPL v2.1) for the automatic audio fix. The full notice, source pointer, and build recipe are in the app under Settings > About > Open-source licenses.