Awesome
IPTVnator - IPTV Player Application
<p align="center"> <img src="https://raw.githubusercontent.com/4gray/iptvnator/electron/src/assets/icons/favicon.256x256.png" alt="IPTVnator icon" title="Free IPTV player application" /> </p> <p align="center"> <a href="https://github.com/4gray/iptvnator/releases"><img src="https://img.shields.io/github/release/4gray/iptvnator.svg?style=for-the-badge&logo=github" alt="Release"></a> <img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/4gray/iptvnator/ci.yaml?style=for-the-badge"> <a href="https://github.com/4gray/iptvnator/releases"><img src="https://img.shields.io/github/downloads/4gray/iptvnator/total?style=for-the-badge&logo=github" alt="Releases"></a> <a href="https://codecov.io/gh/4gray/iptvnator"><img alt="Codecov" src="https://img.shields.io/codecov/c/github/4gray/iptvnator?style=for-the-badge"></a> <a href="https://t.me/iptvnator"><img src="https://img.shields.io/badge/telegram-iptvnator-blue?logo=telegram&style=for-the-badge" alt="Telegram"></a> </p><a href="https://t.me/iptvnator">Telegram channel for discussions</a>
IPTVnator is a video player application that provides support for the playback of IPTV playlists (m3u, m3u8). The application allows to import playlists by using remote URLs or per file upload from the file system. Additionally there is a support of EPG information XMLTV-based which can be provided by URL.
The application is a cross-platform and open source project based on Electron and Angular.
⚠️ Note: IPTVnator doesn't provide any playlists or other digital content. The channels and pictures in the screenshots are for demonstration purposes only.
Features
- M3u and M3u8 playlists support 📺
- Xtream Code (XC) and Stalker portal (STB) support
- External player support - mvp, VLC
- Add playlists from file system or from remote URL 📂
- Playlists auto-update feature on app startup
- Search for channels 🔍
- EPG support (TV Guide) with detailed info
- TV archive/catchup/timeshift
- Group-based channels list
- Save channels as favorites
- Global favorites aggregated from all playlists
- HTML video player with hls.js support or Video.js based player
- Internalization, currently 8 languages are supported (en, ru, de, ko, es, zh, fr, it)
- Set custom "User Agent" header for a playlist
- Light and Dark theme
- Version for self-hosted docker is available
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.
IPTVnator is also available as a snap package:
$ sudo snap install iptvnator
Also available as an Arch PKG, iptvnator-bin, in the AUR (using your favourite AUR-helper, .e.g. yay
)
$ yay -S iptvnator-bin
<a href="https://github.com/sponsors/4gray" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-green.png" alt="Buy Me A Coffee" width="185"></a>
How to build
Requirements: node.js with npm.
-
Clone this repository and install all project dependencies with:
$ npm install
-
To build the application on your local machine use one of the following commands:
# linux $ npm run electron:build:linux
#mac $ npm run electron:build:mac
# windows $ npm run electron:build:windows
This command will produce the distributable assets in the release
folder based on the configuration from electron-builder which is stored in electron-builder.json
and package.json
. Check the API description of electron-builder and adapt the configuration if you need some special configuration for you environment.
Note: Don’t expect that you can build app for all platforms on one platform. Read details
Development
The first thing to do is to install all the necessary dependencies:
$ npm install
To develop an application in PWA and Electron mode, you need to run the application with a command:
$ npm run start
The Electron version of the application will open in a separate window, and the PWA version will be available in the browser at http://localhost:4200.
If you want to run only the angular app without electron, in this case you can use the command:
$ npm run ng:serve
Disclaimer
IPTVnator doesn't provide any playlists or other digital content.
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END -->