Skip to content
/ TvX Public

TvX is an open-source IPTV desktop app for Xtream Codes servers. Browse and stream live TV, movies, and series with watch history, favorites, and keyboard-first navigation. Built with Tauri 2, React 19, and TypeScript for a fast, cross-platform experience.

License

Notifications You must be signed in to change notification settings

skizha/TvX

Repository files navigation

TvX

Version Tauri React TypeScript Tailwind CSS Zustand Vite Rust Platform License

A lightweight IPTV client for Xtream Codes compatible servers. Browse live TV, movies, and series from your IPTV provider with a clean, keyboard-friendly interface.

Built with Tauri, React, and TypeScript.

Screenshots

Live TV

Settings

Search

Features

  • Live TV — Browse and stream live channels organized by category
  • Movies — Browse video-on-demand films with poster art, year, and ratings
  • Series — Browse TV shows with season and episode navigation
  • Search — Global search across all content types (works from app store and cached content)
  • Favorites — Save channels, movies, and series across sessions
  • Watch History — Recent plays per server; resume from last position with progress saved as you watch and across sessions
  • Multiple servers — Save several Xtream servers with optional display names; switch or connect from Login or Settings; auto-connect to last-used server on launch
  • Custom Groups — Create your own groups and organize content your way
  • Group Visibility — Show or hide categories per tab to reduce clutter
  • Refresh from Server — Re-fetch all content from your IPTV provider with progress tracking, background operation, and stop/resume support
  • Caching — Content is cached locally for fast browsing; refresh on demand per tab or all at once from Settings
  • Copy Stream URL — Copy the direct stream URL to clipboard for use in external players
  • Keyboard Navigation — Full keyboard support for quick browsing

How to Use

Connecting to a Server

  1. Launch TvX
  2. Enter your Xtream Codes server URL (e.g., http://example.com:8080)
  3. Enter your username and password
  4. Optionally set a Display name to identify this server (e.g. "Home IPTV")
  5. Click Connect

Your credentials are saved locally. You can add more servers in Settings (URL, username, password, display name) and connect to any saved server from the Login page. If you have at least one saved server, TvX can auto-connect to the most recently used one on launch.

Browsing Content

Use the sidebar to switch between Live TV, Movies, Series, and Watch History. Each content tab shows categories from your IPTV provider. On first load or after a refresh, categories are loaded with a progress indicator. Click a category to browse its content.

  • Live TV — Click a channel to copy its stream URL or play it
  • Movies — Click a movie to see details and stream it; sort by name, year, or rating
  • Series — Click a series to see its seasons and episodes
  • Watch History — Lists recent plays for the current server. Use Resume to continue from where you left off; progress is saved as you watch and when you close the player. You can Clear history per server from this page.

Managing Groups

Go to Settings > Group Management > Manage to:

  • Hide categories you don't want to see
  • Create custom groups with your own selection of channels, movies, or series

Refreshing Content

  • Per-tab refresh — Click the blue Refresh button next to the page title on any tab to re-fetch that content type from the server
  • Full refresh — Go to Settings > Data & Cache > Refresh All to clear the entire local cache and re-fetch everything. This runs in the background — you can navigate to other tabs and come back to check progress. Click Stop to cancel at any time
  • Visible only — Check "Only refresh visible groups" to skip hidden categories during a full refresh

Keyboard Shortcuts

Key Action
Arrow keys Navigate
Enter Select / Play
Backspace Go back
F Toggle favorite
S Open search
Escape Close modal / Exit
Space Play / Pause
H Hide current group
Ctrl+H Hide all groups
C Copy stream URL

Building from Source

Prerequisites

Setup

# Clone the repository
git clone https://github.com/skizha/TvX.git
cd TvX

# Install dependencies
npm install

Development

# Run in the browser (hot reload, no Tauri shell)
npm run dev

# Run as a desktop app (Tauri dev mode with hot reload)
npm run tauri dev

Production Build

# Build the desktop app installer
npm run tauri build

The installer will be output to src-tauri/target/release/bundle/.

Tech Stack

Component Technology
Shell Tauri 2
Frontend React 19 + TypeScript
Styling Tailwind CSS 4
State Zustand
Routing React Router 7
Video HLS.js + native HTML5
Build Vite 7

License

This project is licensed under the MIT License.

About

TvX is an open-source IPTV desktop app for Xtream Codes servers. Browse and stream live TV, movies, and series with watch history, favorites, and keyboard-first navigation. Built with Tauri 2, React 19, and TypeScript for a fast, cross-platform experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages