Open-source project
best-fan/iptv-sources avatar
best-fan/iptv-sources

iptv-sources: a daily-refreshed playlist of Chinese live TV streams

中国电视直播源 TV m3u(每日检测更新,有效直播源、长期有效)

905 stars119 forksUnknownLicense varies

At a glance

What is it?
iptv-sources is a repository of M3U8 playlists covering Chinese state, provincial and paid television channels, with a collection pipeline that checks playability, sorts by resolution and de-duplicates, run automatically each night. It suits a reader who wants to understand how such a playlist is built.
Who is it for?
iptv-sources is a good fit for a reader who wants to see how a live television playlist is assembled and kept honest, because the repository documents the collection, validation, sorting and de-duplication steps rather than shipping an opaque file, and the paired status playlists carry the resolution and fluency data that let you judge a source before you use it.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Two playlists for every category, one with status data

The repository is a set of playlists rather than a program, and the organisation is what makes it readable. Every channel category exists twice, once as a plain list and once as a status variant that carries extra information. The eight files at the root follow that pattern exactly, with a complete playlist, a complete playlist with resolution and fluency data, a state channel list, a state channel list with the same extras, a satellite channel list, its status variant, a paid channel list, and its status variant. The naming convention is a prefix of the category, the name, the extension and the word status before the extension. That pairing is the useful design decision, because the plain playlist is small and quick to load while the status one is larger and tells you what you are actually getting.

bash
cn_all.m3u8
cn_all_status.m3u8
cn_cctv.m3u8
cn_cctv_status.m3u8
cn_province.m3u8
cn_province_status.m3u8
cn_pay.m3u8
cn_pay_status.m3u8

The badges at the top of the readme put the scale at 46 or more channels in the complete list, and the category sections give the breakdown, with the state channels covering CCTV-1 through CCTV-17 plus the 4K feed, the satellite channels covering 37 provincial stations such as Beijing, Hunan and Dragon TV, and the paid category listing 45 channels. The readme also links each file twice, once as a direct raw download and once through a proxy host, which matters for users behind a network that blocks the raw content host.

What the collection pipeline actually does

The project is described as a repository for collecting and aggregating IPTV live data, able to pull source data from multiple origins, validate it, and generate standard M3U8 playlist files, and the feature table breaks that down into seven capabilities. Multi-source collection means pulling from several websites and APIs rather than from one feed. Validation is described as automatic playability detection, which covers both whether the stream plays and how quickly it responds. Classification sorts the channels by type, covering state channels, satellite channels and paid channels among others. De-duplication removes repeated sources, resolution sorting orders the channels by video quality, and there is a cross-origin detection step that checks whether a source supports cross-domain access, which is the property that determines whether a browser-based player can play it at all. The final step is generating the M3U8 output in the standard format. The readme describes the collection as running automatically in the early hours of every day so the sources are checked for validity, and the badge row carries a Python 3.8 or newer marker even though the repository itself contains no source code, which points to the collector running elsewhere.

How to use the playlists, and which players are named

The readme describes three ways of using the files. You can download a playlist directly and open it in a player that understands the M3U8 format. You can play online by giving a network-capable player the original link to the file. And there is a recommended player list, which is the practical part for anyone trying this on a specific device. VLC Media Player is the cross-platform option, PotPlayer is named for Windows, IINA for macOS and MX Player for mobile. The distinction between the direct and the proxy link matters here, because the proxy host exists for networks that cannot reach the raw content host, and the same file is offered through both. The readme also asks users to update regularly, with the reasoning that live sources can fail at any time and the playlists need refreshing, which is the single most important operational fact for anyone planning to rely on one of these files.

Where the data comes from, and the credit list

The project is explicit that it aggregates rather than originates, and the readme has a data source acknowledgement section listing the open source projects it draws on. Named among them are a checklist repository, a tv repository, a ChinaIPTV repository, a live repository and a Chinese-IPTV repository, plus the larger international iptv-org project and a source that publishes its own M3U feeds. Listing them is the right thing to do, because the origin of a stream determines both its stability and the terms under which it is offered, and because the individual upstream projects can change their output format without this repository announcing it. The collection step is therefore a pipeline over other people's work rather than a source of its own, and the daily refresh is what keeps the aggregation coherent as those upstream lists change.

The terms, the responsibility and the licence

The readme has a section of caveats, and it is not boilerplate. It asks users to comply with the terms of the relevant websites, to update regularly because live sources can stop working, to use the project for study and research, and to take legal responsibility themselves. That last point is the significant one, and it applies with more force to the paid channel category than to the state and provincial ones, since a pay channel feed is the one most likely to be an unauthorised stream. The licence section says the project is released under the MIT licence and is for study and research only, while the licence field recorded for the repository is not identified, which is a mismatch worth noting if you are thinking about redistributing a file. The readme closes by asking for a star, and carries a star history chart, which is the sort of thing that says more about the audience for the project than the code does. The last push was on 2026-10-21, so the nightly refresh is genuinely running.

Editorial conclusion

iptv-sources is a good fit for a reader who wants to see how a live television playlist is assembled and kept honest, because the repository documents the collection, validation, sorting and de-duplication steps rather than shipping an opaque file, and the paired status playlists carry the resolution and fluency data that let you judge a source before you use it. It is the wrong choice if you want a stable subscription, since the sources are re-verified daily and can expire at any time, and it is the wrong choice if you need channels outside the Chinese market. It is also the wrong choice if you want to rely on the paid channel list, since the project itself asks users to follow the terms of the sites involved, to use it for study and research, and to bear the legal responsibility themselves, which is a warning worth taking seriously. Before using any of the playlists, check the licence and the terms of the services the streams come from, and note the licence field for the repository is not identified even though the documentation describes the project as MIT. The last push was on 2026-10-21.

Frequently asked questions

What is the iptv-sources repository?

It is a repository of M3U8 playlists for Chinese live television, covering state channels, provincial satellite channels and paid channels, with 46 or more channels in the complete list. The playlists are regenerated by an automatic collection run that checks the sources daily and keeps only the ones that still work.

What is the difference between the status playlists and the plain ones?

Each category exists in two forms, a plain playlist and a status variant. The status versions carry the resolution and fluency information for each source, so they are larger but tell you what quality you are getting before you play the stream, while the plain ones are quick to load in any player.

Which players are recommended for the iptv-sources playlists?

VLC Media Player as the cross-platform option, PotPlayer on Windows, IINA on macOS and MX Player on mobile. You can either download a playlist file and open it locally, or point a network-capable player at the link, and each file is offered both as a direct download and through a proxy host for networks that block the raw content host.

How are the sources in iptv-sources validated?

The collection pipeline pulls data from several websites and APIs, tests playability and response time automatically, removes duplicate sources, sorts the results by video resolution, checks whether each source supports cross-origin access, and writes the output in the standard M3U8 format. The whole run happens automatically in the early hours of each day.

What are the legal conditions for using the iptv-sources playlists?

The readme asks users to comply with the terms of the relevant websites, to update the lists regularly because sources can fail at any time, to use the project for study and research only, and to take the legal responsibility themselves. The documentation describes the project as MIT licensed for study and research, while the licence field for the repository is not identified.

Official sources

  1. best-fan/iptv-sources on GitHub
  2. Issues
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/best-fan-iptv-sources.svg)](https://hysenlabs.com/projects/best-fan-iptv-sources)

Was this useful?