IPTV player with EPG support Community-maintained continuation of the original liya/yuki-iptv
π§ͺ Early Testing Phase β Expect Bugs
This fork is in its early stages. Core functionality works, but rough edges exist and things may break between releases. Bug reports are not just tolerated β they are actively helpful. If something doesn't work, please open an issue.
The original upstream repository, liya/yuki-iptv on Codeberg, was archived by its maintainer and is no longer being actively developed. This repository is an independent, unofficial continuation starting from upstream's final commit (72a32225be, archived on 2025-08-27) and is maintained here going forward.
The full original commit history remains readable at the link above for anyone tracing this fork's lineage.
π A note on trust: this project's name has previously been targeted by lookalike forks bundling malicious code. Before installing from anywhere, verify the commit history traces cleanly back to a known source, and prefer release artifacts published directly from this repository over random third-party mirrors.
| Category | Features |
|---|---|
| Playlists | M3U / M3U8 / XSPF, XTream API |
| Streams | UDP multicast, HTTP, HLS (M3U8) |
| Guide | EPG via XMLTV and JTV formats |
| Recording | Stream recording with hotkeys |
| Customization | Per-channel video settings, user agent / Referer override |
| Integration | MPRIS support (media keys, desktop) |
| VOD / Series | Group-based movie/series organisation |
| UI | Channel search, favorites, groups, hide channels, tech info overlay |
β οΈ Disclaimer: yuki-iptv does not provide, host, or bundle any content, playlists, or TV channels. It is a player only. Channels shown in screenshots are for demonstration purposes only.
Packages are built and published via the Open Build Service.
π§ͺ Note: OBS packages are currently in the testing phase. The build may occasionally be broken or behind. Check the build badge at the top of this page before installing.
One-time repository setup:
sudo zypper addrepo \
https://download.opensuse.org/repositories/home:/itachi_re/openSUSE_Tumbleweed/home:itachi_re.repo
sudo zypper refreshInstall:
sudo zypper install yuki-iptvUpdate (after a new release):
sudo zypper refresh && sudo zypper update yuki-iptvRemove repository when no longer needed:
sudo zypper removerepo home_itachi_reAlternatively, install via YaST β Software Repositories β Add β Community Repositories, and search for home:itachi_re.
git clone https://github.com/itachi-re/yuki-iptv.git
cd yuki-iptv
# Install dependencies listed in debian/control first
# At minimum: Python 3, PyQt, mpv
python3 usr/lib/yuki-iptv/yuki-iptv.pyIf the entry point has moved, look under usr/lib/yuki-iptv/ for the current main script.
Dependencies: see debian/control for the authoritative list. usr/lib/yuki-iptv/thirdparty/ vendors mpv.py and xtream.py directly rather than pulling them via pip.
π Multiplatform support is on the roadmap. The long-term goal is to support Windows and macOS in addition to Linux, but that is a significant undertaking and is not close to landing yet.
On the Linux side, packaging for other distributions (Debian/Ubuntu .deb, Arch, Fedora, etc.) is also planned but not yet available. It may be a while β this is a small project maintained in spare time.
In the meantime, running from source works on any Linux distro with Python 3, PyQt, and mpv available. If you'd like to contribute packaging or platform support, pull requests are very welcome.
usr/lib/yuki-iptv/
βββ yuki-iptv.py # Main entry point
βββ yuki_iptv/ # Application modules (GUI, EPG, playlist, XTream, recording, MPRISβ¦)
βββ thirdparty/ # Vendored libs: mpv.py, xtream.py (check individual license headers)
usr/bin/yuki-iptv # Installed launcher script
usr/share/ # Desktop file, icons, assets
po/ # Translation files (.po / .pot)
debian/ # Debian packaging
Use the group VOD for movies:
#EXTM3U
#EXTINF:-1 group-title="VOD",Channel 1
https://example.com
#EXTINF:-1 group-title="VOD SomeGroup",Channel 2
https://example.com
Use SxxExx in an entry's name to have it recognised as a series episode β for example S01E12 for Season 1, Episode 12:
#EXTM3U
#EXTINF:-1 tvg-name="SomeName S04E06 Season Title 1" group-title="SERIES SomeName",
file:///home/user/Videos/SomeName_4/SomeName.S04E06.mp4
Translation files live under po/. To help translate, edit the relevant .po file for your language and open a pull request. If a file for your language doesn't exist yet, generate one from yuki-iptv.pot.
Since this fork is in early testing, bug reports are especially valuable right now.
Please include:
- Your distribution and version (e.g. openSUSE Tumbleweed, snapshot date)
- How you installed (OBS package / from source)
- Steps to reproduce the issue
- Any relevant log output or error messages
β Open an issue
yuki-iptv is free software, licensed under the GNU General Public License v3.0 or later. See COPYING for the full license text.
yuki-iptv is based on Astroncia IPTV, originally licensed GPL-3.0-only. The original yuki-iptv author received permission from Astroncia's author to relicense the code as GPL-3.0-or-later β see LICENSE-NOTICE.txt for that clarification.
Font Awesome icons (Font Awesome Free 5.15.4) are licensed under CC BY 4.0 β see LICENSE-CC-BY-4.0.txt.
This software is distributed WITHOUT ANY WARRANTY; see COPYING for details.
- Originally created and maintained by liya
- Based on Astroncia IPTV
- Continued here by itachi-re since June 2026
Bug reports, fixes, features, and translations are all welcome. Please read CONTRIBUTING.md before opening a pull request.