# IPTVnator - IPTV Player Application
Telegram channel for discussions
**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.

## 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 8 languages (English, Russian, German, Korean, Spanish, Chinese, French, Italian)
- 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: Add playlist via file upload | Welcome screen: Add playlist via URL |
|  |  |
| EPG Sidebar: TV guide on the right side | General application 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](https://github.com/4gray/iptvnator/releases).
**IPTVnator** is also available as a snap package:
```
$ sudo snap install iptvnator
```
Also available as an Arch PKG, [iptvnator-bin](https://aur.archlinux.org/packages/iptvnator-bin/), in the AUR (using your favourite AUR-helper, .e.g. `yay`)
```
$ yay -S iptvnator-bin
```
[](https://snapcraft.io/iptvnator)
## How to Build
Requirements: Node.js with npm
1. Clone this repository and install project dependencies:
```
$ npm install
```
2. Build the application for your platform using one of the following commands:
```
# Linux
$ npm run electron:build:linux
```
```
# macOS
$ npm run electron:build:mac
```
```
# Windows
$ npm run electron:build:windows
```
These commands will generate distributable assets in the `release` folder based on the electron-builder configuration stored in `electron-builder.json` and `package.json`. For custom configurations, please refer to the [electron-builder API documentation](https://www.electron.build/).
*Note: Cross-platform building may not be supported. [Read more](https://www.electron.build/multi-platform-build)*
## Development
First, install all required dependencies:
```
$ npm install
```
To develop the application in both PWA and Electron modes, run:
```
$ npm run start
```
This will open the Electron version in a separate window, while the PWA version will be available at http://localhost:4200.
To run only the Angular app without Electron, use:
```
$ npm run serve
```
## Disclaimer
IPTVnator doesn't provide any playlists or other digital content.
[](#contributors)