4gray a987e10a59 feat: Implement global favorites list component with drag-and-drop support
- Added `GlobalFavoritesListComponent` to display and manage favorite channels.
- Integrated drag-and-drop functionality for reordering favorite channels.
- Created HTML and SCSS files for the global favorites list layout and styling.
- Implemented logic to handle empty states and search functionality within the favorites list.

feat: Enhance unified collection page with live and grid tabs

- Developed `UnifiedCollectionPageComponent` to manage different content types (live, movies, series).
- Added `UnifiedGridTabComponent` and `UnifiedLiveTabComponent` for displaying content in grid and live formats.
- Implemented loading states and empty states for better user experience.
- Integrated EPG (Electronic Program Guide) functionality for live channels.

style: Refactor styles for unified collection components

- Updated SCSS styles for `UnifiedGridTabComponent` and `UnifiedLiveTabComponent` to improve layout and responsiveness.
- Added skeleton loading states for better visual feedback during data fetching.

fix: Improve scrolling behavior in category view component

- Adjusted scrolling logic in `CategoryViewComponent` to ensure selected categories are centered in the view.

Entire-Checkpoint: 0e4488af6c76
2026-03-25 19:20:59 +01:00
2026-02-19 23:08:36 +01:00
2026-02-19 23:08:36 +01:00
2019-10-06 17:34:49 +02:00
2023-01-23 22:42:23 +01:00
2023-03-11 21:01:25 +01:00
2020-09-27 20:33:37 +02:00
2025-10-07 18:02:13 +02:00
2025-10-07 18:02:13 +02:00
2021-02-07 00:19:57 +01:00
2022-01-03 21:45:09 +01:00
2020-09-27 20:33:37 +02:00
2026-02-19 23:08:36 +01:00
2020-09-27 20:33:37 +02:00

IPTVnator - IPTV Player Application

IPTVnator icon

Release GitHub Workflow Status Releases Codecov Telegram Bluesky

🌐 Website | Telegram channel for discussions | Buy me a coffee | GitHub Sponsors

IPTVnator is a video player application that provides support for IPTV playlist playback (m3u, m3u8). The application allows users to import playlists using remote URLs or by uploading files from the local file system. Additionally, it supports EPG information in XMLTV format which can be provided via URL.

The application is a cross-platform, open-source project built with Electron and Angular.

⚠️ Note: IPTVnator does not provide any playlists or other digital content. The channels and pictures in the screenshots are for demonstration purposes only.

IPTVnator: Channels list, player and epg list

Features

  • M3u and M3u8 playlist support 📺
  • Xtream Code (XC) and Stalker portal (STB) support
  • External player support - MPV, VLC
  • Add playlists from the file system or remote URLs 📂
  • Automatic playlist updates on application startup
  • Channel search functionality 🔍
  • EPG support (TV Guide) with detailed information
  • TV archive/catchup/timeshift functionality
  • Group-based channel list
  • Favorite channels management
  • Global favorites aggregated from all playlists
  • HTML video player with HLS.js support or Video.js-based player
  • Internationalization with support for 16 languages:
    • Arabic
    • Moroccan arabic
    • English
    • Russian
    • German
    • Korean
    • Spanish
    • Chinese
    • Traditional chinese
    • French
    • Italian
    • Turkish
    • Japanese
    • Dutch
    • Belarusian
    • Polish
  • Custom "User Agent" header configuration for playlists
  • Light and Dark themes
  • Docker version available for self-hosting

Screenshots:

Welcome screen: Playlists overview Main player interface with channels sidebar and video player
Welcome screen: Playlists overview Sidebar with channel and video player
Welcome screen: Add playlist via file upload Welcome screen: Add playlist via URL
Welcome screen: Add playlist via file upload Welcome screen: Add playlist via URL
EPG Sidebar: TV guide on the right side General application settings
EPG: TV guide on the right side General app settings
Playlist settings
Playlist settings

Note: First version of the application which was developed as a PWA is available in an extra git branch.

Download

Download the latest version of the application for macOS, Windows, and Linux from the release page.

Alternatively, you can install the application using one of the following package managers:

Homebrew

$ brew install iptvnator

Snap

$ sudo snap install iptvnator

Arch

Also available as an Arch PKG, iptvnator-bin, in the AUR (using your favourite AUR-helper, .e.g. yay)

$ yay -S iptvnator-bin

Gentoo

You can install IPTVnator from the gentoo-zh overlay

sudo eselect repository enable gentoo-zh
sudo emerge --sync gentoo-zh
sudo emerge iptvnator-bin

Get it from the Snap Store

Buy Me A Coffee

Troubleshooting

macOS: "App is damaged and can't be opened"

Due to Apple's Gatekeeper security and code signing requirements, you may need to remove the quarantine flag from the downloaded application:

xattr -c /Applications/IPTVnator.app

Alternatively, if the app is located in a different directory:

xattr -c ~/Downloads/IPTVnator.app

Linux: chrome-sandbox Issues

If you encounter the following error when launching IPTVnator:

The SUID sandbox helper binary was found, but is not configured correctly.
Rather than run without sandboxing I'm aborting now.
You need to make sure that chrome-sandbox is owned by root and has mode 4755.

Solution 1: Fix chrome-sandbox permissions (Recommended for .deb/.rpm installations)

Navigate to the IPTVnator installation directory and run:

sudo chown root:root chrome-sandbox
sudo chmod 4755 chrome-sandbox

Solution 2: Launch with --no-sandbox flag

Edit the desktop launcher file to add the --no-sandbox flag:

  1. Find your desktop file location:

    • Ubuntu/Debian: ~/.local/share/applications/iptvnator.desktop
    • System-wide: /usr/share/applications/iptvnator.desktop
  2. Edit the file and modify the Exec line:

    Exec=iptvnator --no-sandbox %U
    
  3. Save the file and relaunch the application from your application menu.

Alternatively, you can launch IPTVnator from the terminal with the flag:

iptvnator --no-sandbox

How to Build and Develop

Requirements:

  • Node.js with pnpm (via Corepack)
  1. Clone this repository and install project dependencies:

    $ corepack enable
    $ pnpm install
    
  2. Start the application:

    $ pnpm run serve:backend
    

This will open the Electron app in a separate window, while the Angular dev server will run at http://localhost:4200.

To run only the Angular app without Electron, use:

$ pnpm run serve:frontend

Disclaimer

IPTVnator doesn't provide any playlists or other digital content.

All Contributors

Languages
TypeScript 81.4%
JavaScript 8.9%
HTML 3.3%
SCSS 2.8%
Astro 1.3%
Other 2.1%