iptv is a free, open source media & streaming project written in JavaScript and released under GPL-3.0. It has 737 GitHub stars, 241 forks and 9 open issues, and was last pushed 2 days ago. On this registry it ranks #24 of 27 tracked projects in Media & Streaming, with 5 head-to-head comparisons available. It gained 15 stars over the last 3 tracked days.

What is iptv?

iPTV is a self-hosted, modular IPTV live-source management and distribution system that aggregates more than 800 channels from sources such as 央视频, 咪咕, Bilibili, Huya, Douyu and regional broadcasters, then de-duplicates and re-publishes them as clean M3U/TXT playlists with an EPG guide; it is aimed at NAS owners and home-theatre users who want a channel lineup they control.

What it is

iPTV is a JavaScript application, licensed under GPL-3.0, that runs inside the Node.js ecosystem and is distributed primarily as a Docker image. It sits between upstream content platforms and the player software already installed on a household's televisions, phones and media boxes. Instead of handing a player a static channel table, it maintains a set of independently switchable fetch modules for 央视频, 咪咕, Bilibili, Huya, Douyu, 凤凰卫视, 香港卫视 and 大爱电视, plus configuration for direct M3U8 links, automatic web-page extraction and M3U/M3U8/TXT subscriptions. Each module carries its own refresh, authentication and proxy strategy, and each one's health can be inspected in the source-management screen.

The concrete problem it solves is the fragility of a hand-maintained playlist. A plain M3U file goes stale as soon as an upstream address rotates, a platform starts signing its streams or a page begins checking the Referer header. iPTV replaces that static file with a managed pipeline: it fetches, aggregates, de-duplicates and orders sources, then emits the playlist and EPG that players understand. It also emits several output variants, including a compatibility version and a full-proxy version, so players with unusual requirements can still consume the result.

Key capabilities

  • Default aggregation of 800+ channels, with the 央视频 module providing 63 public high-definition channels plus 10 membership channels reachable through the deployer's own account.
  • An iPanda module with 22 no-login public streams: two 24-hour channels, 18 panda fixed cameras, and two rare-animal feeds from Jiangsu Dafeng and Yunnan Baima Snow Mountain, at up to real 720p.
  • Standard output of M3U, TXT and EPG, in both a compatibility edition and a full-proxy edition.
  • Playlist import through M3U8 direct links, automatic web-page extraction, and M3U/M3U8/TXT subscriptions, including the repository file from-the-web/from-the-web.m3u.
  • A GUI administration backend covering grouping, ordering, renaming, hiding and batch management in 我的频道.
  • Multiple profiles and user tokens, so each television or viewer receives a separate channel combination.
  • Per-source proxy handling: 香港卫视 relays only the flattened manifest while clients pull media segments directly, whereas 大爱电视 is fully proxied because upstream returns 403 to requests lacking the site's Referer headers.

Who uses it and how

  • NAS and home-server operators who deploy the Docker image through Docker Compose and keep the service on their own hardware.
  • Households sharing one deployment across several televisions and viewers, using profiles and tokens to give each screen its own lineup.
  • Users holding their own legitimate platform accounts: 央视频 membership via a session Cookie copied from browser developer tools, Bilibili via QR-code login, and 凤凰卫视 via an imported Token or Cookie for 720p at 25 frames per second.
  • Sports viewers relying on the dynamic 昨天/今天/明天 event channels and the 咪咕 event guide, alongside the general sports channel group.
  • Regional and international viewers: local channels spanning Beijing, Chongqing, Guangdong including Guangzhou and Shenzhen, and many other provinces, plus an Asia-Pacific and international group with 50 verified direct-connect channels and modules for YTN and NHK World.

Getting started

Deployment is recommended through Docker on a NAS or server using the image akiralereal/iptv:latest; the application also runs under Node.js. The current version is v4.15.0, with documentation and links at https://ifansclub.com/.

How it compares

No list of paid products that this project replaces is given in the facts, and no comparable tools are named either. As recorded in this registry, iPTV stands alone rather than being positioned against an alternative.

When to use it — and when not to

A self-hoster must operate the service itself and maintain per-platform credentials, since 央视频, Bilibili and 凤凰卫视 access depends on Cookies, Tokens or QR logins that expire and need renewal, and channel counts shift with platform interface state and regional networking. Anyone wanting a fully hosted service, or without rights to the streams they intend to watch, should not choose it: the README states plainly that the project hosts no third-party audio or video programming and that public accessibility does not imply public-domain status or authorization to rebroadcast. A further constraint is the built-in 公告 group of three self-produced short films, which stays pinned first and can only be hidden, not deleted, moved, reordered or renamed.

project readme (upstream, from github) — read inline

📺 iPTV

把分散的直播源,变成一套真正属于你的频道系统

自托管 · 模块化 · 可视化 · NAS 友好

GitHub Stars Docker Pulls License Sponsor

🐳 Docker 部署教程 · 前往 Docker Hub →

推荐通过 Docker 在 NAS / 服务器上部署,镜像:akiralereal/iptv:latest

当前版本:v4.15.0 · 产品预览 · 频道覆盖 · 内容来源 · 功能说明 · 更新日志

iPTV 是一个面向家庭影音与 NAS 用户的模块化 IPTV 直播源管理与分发系统。它内置央视频、咪咕、B站、虎牙、斗鱼及多地区广电等抓取模块,也能接入需要网页解析的内置源、维护者筛选的公开独立源、自定义直连地址和 M3U/TXT 订阅;所有来源统一完成聚合、去重、编排,再输出干净的播放列表与 EPG 节目单。

[!IMPORTANT] 本项目是自托管的软件工具。除项目自制的使用公告短片外,不托管第三方音视频节目;仓库及运行时可能整理互联网上公开可访问的播放地址与频道元数据,但“公开可访问”不代表内容属于公有领域,也不代表已获得复制、转播或商业使用授权。请仅在获得合法授权的范围内使用;如你是权利人并认为相关条目侵权,请按版权与侵权处理提交下架通知。

🖼️ 产品预览

我的频道 · 所有频道一处编排

我的频道主面板

源管理 · 每个内容来源独立、透明、可控

源管理

播放器实况 · 输出标准订阅,接入常用客户端

实况播放效果

✨ 为什么选择 iPTV

📺 开箱即用 🧩 模块化源管理 🪄 可视化编排
默认聚合 800+ 频道,其中央视频模块提供 63 个公开高清频道及 10 个本人账号可访问的会员频道,另有 B站、虎牙、斗鱼热门直播抓取和经筛选的公开独立源 央视频、咪咕、B站、虎牙、斗鱼及各广电抓取模块都有独立开关、配置和健康状态,按需启用,互不干扰 分组、排序、重命名、隐藏与批量管理,都在浏览器中完成
🔗 自由接入 📡 稳定分发 👨‍👩‍👧‍👦 多端共享
支持 M3U8 直链、网页自动提取,以及 M3U/M3U8/TXT 订阅批量导入 自动生成 M3U、TXT 与 EPG;提供兼容版、全代理版应对特殊播放器 多配置档与用户令牌,让每台电视、每位用户拥有自己的频道组合

[!TIP] 默认配置即可使用免费频道;需要更高画质时,再到「源管理」为对应平台配置你本人合法持有的账号。凭据只保存在自己的部署中。

📡 频道覆盖

默认部署目前可聚合 800+ 频道,并会随着平台模块、赛事内容和精选频道持续扩展。实际数量会因平台接口状态、地区网络和启用的模块而动态变化。

范围 当前覆盖内容
央视频直播 63 个免登录公开频道 + 10 个本人账号可访问的会员频道;公开台覆盖央视全套、CGTN 多语种和全国主要省级卫视,统一归入「央视频」分组
iPanda 直播 22 路免登录公开直播:成都与都江堰 2 个 24 小时总频道、18 个熊猫固定机位,以及江苏大丰麋鹿、云南白马雪山 2 路珍稀动物直播,统一归入「iPanda」分组
央视与卫视 CCTV 系列、CGTN、全国主要卫视频道
地方频道 北京、重庆、四川、贵州、安徽、广东(含广州、深圳)、广西、福建、江西、甘肃、新疆、云南、吉林、黑龙江、内蒙古、宁夏、海南、河北、湖北、辽宁(含沈阳、大连)、南京、青岛、浙江、江苏、山东、河南、上海、湖南等省市卫视与地面频道,并持续接入更多地区
景观直播 央视网「直播中国」当前在线信号,以及吉林风景、美丽河北、Live 南京、青岛城市直播、上海慢直播等景观频道;数量随平台在线状态动态变化
体育赛事 体育频道、赛事直播,以及昨天 / 今天 / 明天的动态赛事频道
亚太与国际 精选列表提供 50 个经实验台验证的固定直连频道;独立模块另提供 YTN、NHK World 两个需要动态解析的公开频道
综合内容 影视、文旅、教育、少儿、娱乐时尚等分类频道

播放列表首位默认提供项目自有的「公告」分组,内含三条自制短片:“欢迎使用 iPTV for iFansClub.com”展示使用方式、版权提醒和侵权联系说明;“央视频会员频道登录教程”演示 Docker / NAS 用户如何从浏览器复制 Cookie 把央视频登录态导入 iPTV;“「来源于网络」频道添加教程”演示如何把仓库 from-the-web/from-the-web.m3u 里的网络第三方源作为订阅自行添加。三者都不引用任何第三方节目素材。不想在电视上显示可以在后台「我的频道」逐条隐藏(随时可在「已隐藏」里恢复);只要显示,该分组就固定在第一位,不支持删除、移动、排序或重命名。

🧩 内容来源与抓取能力

iPTV 的重点不只是一份静态频道表,而是一套可独立开关、可观察状态、可持续刷新的内容接入体系。不同来源采用不同刷新、鉴权与代理策略,平台临时不可达时可在源管理中查看状态或关闭对应模块。

来源类型 已支持的典型内容 工作方式
央视频直播 63 个公开频道 + 10 个需登录/VIP 的频道 公开频道继续匿名动态取票、自动切换备用 CDN;会员频道复用部署者本人在央视频站点的持久登录态,由网页播放器签发并解扰成本机 H.264/AAC fMP4 HLS,解决普通播放器直接拿会员流时“有声无画”。桌面本机可从源管理自动打开登录窗口;Docker / NAS 等没有桌面的部署从自己电脑浏览器的开发者工具里复制整段 Cookie 导入(会话 cookie 是 HttpOnly,书签工具拿不到),服务端之后自动续期
iPanda 直播 成都、都江堰共 20 路熊猫直播,以及江苏大丰麋鹿、云南白马雪山 2 路珍稀动物直播 无需登录、无需配置;18 路固定机位使用支持网页直连的上游 CDN,2 个总频道和 2 路珍稀动物直播在播放时检查公开状态并自动切换上游 CDN,清单与媒体由本机安全代理。最高均为真实 720p,即平台所称“超清”
平台直播抓取 B站、虎牙、斗鱼 可按分类自动收录当前热门直播间,也可手动指定房间;播放时处理短效地址、画质选择和平台要求的请求头。B站支持扫码登录以使用本人账号可访问的画质,虎牙、斗鱼支持匿名公开直播
电视与赛事平台 咪咕、体育赛事 自动整理频道与节目单,并按账号权限、设备兼容性和平台接口状态选择可用画质;需要登录的能力仅使用部署者本人提供的凭据
凤凰卫视 凤凰资讯、凤凰中文、凤凰香港,归入 香港 仅三个电视直播频道;游客 480p,登录普通凤凰秀账号可获取 720p / 25 帧,无需付费会员。后台支持导入 Token / Cookie 并持久保存,播放时取新签名,原始 HTTP-FLV 由本机转发。内置精选列表里的三条第三方凤凰线路同在「香港」,与本模块三台并列保留作备用线路,不合并、不顶替;播放器按名聚合时本模块源排在前面
香港卫视 香港卫视一路电视直播,归入 香港 无需登录、无需配置;播放时先问源站当前在播的是哪一路,再换这一路的 HLS 入口。服务端把入口清单拍平成媒体清单后只中继清单,媒体分片由播放器直连上游 CDN。实测为 1280×720、H.264/AAC;节目单由默认 EPG 源直接覆盖
大爱电视 大爱一台、大爱二台,归入 台湾 无需登录、无需配置;官网移动版直播页写死的两条官方 HLS,长期不变也不带签名,但上游按 Referer 防盗链——清单和分片裸请求一律 403,故一律由本机补齐官网请求头后全代理。实测均为 1280×720、H.264 High / AAC-LC,30 帧、约 3 Mbps
GOOD TV GOODTV(综合台)、GOODTV2(真理台),归入 台湾 无需登录、无需配置;官网播放页写死的两条 CloudFront HLS,没有签名也没有 Referer 门,但上游 WAF 按播放器标识放行(浏览器 / VLC / ExoPlayer 通过,ffmpeg、okhttp 一律 403)。播放器用什么标识不由本项目决定,因此清单与分片统一走本机全代理回源。实测均为 1280×720、H.264 Main / AAC-LC,29.97 帧
北京广播电视台 北京卫视、BRTV 文艺 / 纪实科教 / 影视 / 财经 / 体育休闲 / i生活 / 新闻、卡酷少儿,以及北京时间当前公开活动或慢直播 公开直播免登录并自动排除失效项目;9 个电视频道需在后台导入本人北京时间 Cookie。凭据仅用于取流接口,不写入订阅、不发送到媒体 CDN;清单和分片由本机补齐防盗链请求头并代理
重庆广电 源站当前公开的 CQTV新闻 无需登录、无需配置;频道表自动同步,播放时匿名换取短效 HLS,清单、AES 密钥和媒体分片由本机全代理
四川广电 四川卫视、新闻、经济、文化旅游、影视文艺、妇女儿童、四川乡村、康巴卫视、四川卫视 4K 超高清 SDR,以及源站当前公开活动直播 活动直播有则显示、无则隐藏且无需登录;9 个固定电视台需使用部署者本人的四川源站登录态。后台提供书签工具读取源站 Token,服务端播放时动态换取短效地址,清单、密钥和媒体分片均补齐源站防盗链请求头并全代理
江西广电 江西卫视、都市、经济生活、公共农业、少儿、新闻、移动电视、陶瓷共 8 路 无需登录、无需配置;源站当前公开的是单档 720p,服务端按源站公开算法获取匿名短效 token,并在播放器每次轮询时重新拉取滚动清单;清单、密钥和媒体分片均补齐防盗链请求头并全代理
贵州广电 贵州卫视、公共、影视文艺、大众生活、生态乡村、科教健康、经济、移动电视共 8 路 无需登录、无需配置;播放时从源站公开 API 获取当前短效签名地址,播放器每次轮询重新拉取只有三个 3 秒分片的滚动清单,清单和媒体全代理;家有购物明确不纳入频道表
甘肃广电 甘肃卫视、文化影视、移动电视、少儿、科教、公共应急共 6 路 无需登录、无需配置;播放时从源站公开接口动态获取当前入口,每次轮询重新拉取滚动清单并中继给播放器,视频分片由播放器直连上游 CDN;入口轮换或接口短时抖动会自动重试和兜底
黑龙江广电 黑龙江卫视、都市、新闻法治、文体、少儿、影视、农业科教共 7 路 无需登录、无需配置;极光新闻 App 在用的官方入口,地址固定、不带签名,上游既不校验来源也不挑播放器标识,因此频道直接给直链,由播放器直连官方 CDN,本机不转发媒体。官方业务域名走 4430 端口而非 443。实测 7 路均为 1280×720、H.264 / AAC-LC,25 帧
云南广电 云视网云南卫视、都市、康旅、澜湄国际,以及七彩云端临沧、怒江、昭通共 7 路,统一归入 云南 无需登录、无需配置;省级四路由官网接口按「当前这档节目」签发 DVR 窗口地址,签名按路径签、无法预取,播放时重新换取,节目换档后下一次解析自然接上(分片序号连续,实测跨档不断流);地方三路按七彩云端目录取当前在线机位。两家回源要求不同,省级必须带官网来源头、地方不需要,清单与分片均由本机全代理。省级实测 1280×720 / 25 帧,地方分别为 720p25、1080p50 与 720×416
安徽广电 安徽卫视、经济生活、影视、公共、农业科教、综艺体育、国际频道共 7 路 无需登录、无需配置;按「安徽视讯」App 的公开算法解出鉴权密钥并逐路生成两小时签名,播放器每次轮询都重新拉取滚动清单;上游 CDN 只放行 App 播放器标识,清单与分片均以 App 标识经本机全代理
新疆广电 新疆卫视、维吾尔语新闻综合、哈萨克语新闻综合、体育健康、少儿共 5 路 无需登录、无需配置;播放时从丝路视听网当前 Nuxt 包静态解析当天公开签名配置,再调用源站接口签发约一小时有效的 HLS。服务端中继实时清单,媒体分片默认由播放器直连上游 CDN,也可用全代理订阅;源站标记禁播且实测返回 404 的 XJTV-4、XJTV-5 不纳入频道表
吉林广电 6 路省级频道、9 路地方台和 13 路慢直播,共 28 路 无需登录、无需配置;常规电视归入「吉林」,慢直播归入「吉林风景」。省级频道和季节性景观在播放时从源站加密接口获取短效 HLS,固定地方台和固定景观使用已验证的 HTTPS 入口;清单、密钥和媒体分片均由本机全代理
内蒙古广电 内蒙古卫视、蒙古语卫视等 8 路自治区频道,以及 12 路盟市频道,共 20 路 无需登录、无需配置;20 路全部归入唯一的「内蒙古」分组。播放时按奔腾融媒源站公开协议调用加密频道接口获取动态地址,并为清单、密钥和媒体分片补齐防盗链请求头后由本机全代理
亚洲与国际直播 2 个动态公开频道:YTN、NHK World;另有 50 个固定直连频道位于精选列表的独立标记区块 动态频道由独立零配置模块在播放时从平台接口获取当前 HLS,并由本机代理清单、密钥与媒体;固定频道使用实验台验证过的原始 HLS 地址,不经过该解析模块,避免重复和额外转发开销
广电抓取 北京、重庆、四川、贵州、安徽、大连、广东、广西、福建、江西、甘肃、新疆、云南、吉林、黑龙江、内蒙古、海南、河北、湖北、河南、湖南、江苏、辽宁、南京、青岛、山东、上海、深圳、浙江等 从各广电源站、公开接口或客户端公开直播能力获取当前地址;短效签名、防盗链、加密清单和 CDN 代理按模块分别处理
景观直播 央视网「直播中国」、吉林风景、美丽河北、Live 南京、上海与青岛城市景观等 按源站当前在线状态动态收录;离线、下架或源站调整时会自动减少,不以固定频道数承诺可用性
内置网页抓取源 如纬来体育等需要从公开页面解析当前地址的单频道源 内置抓取规则与定时刷新;每个源可配多个入口地址,主站打不开或抓不到时自动换备用地址重试,清单本身通过远程配置更新(改仓库文件即生效,无需升级镜像)。每个源均可单独关闭
精选公开独立源 体育、国际、亚太、影视、纪实、音乐、娱乐时尚等 项目维护的「精选频道」列表,收集公开可访问且经可用性检查的独立播放地址,并提供远程更新与本地快照兜底;可访问性检查不等同于版权授权审查
用户自有来源 M3U8 直链、网页提取、M3U/M3U8/TXT 订阅 完全由部署者自行添加、排序、分组和控制在哪些配置档中显示,适合接入自有设备、合法订阅或已获授权的直播源

[!NOTE] 所有内置抓取模块、内置网页抓取源和精选频道都能在「🌐 源管理」中独立关闭;需要完全空白的频道管理器时可使用 mblank=true。平台名称及商标仅用于说明兼容性,本项目不隶属于、也不代表上述平台或内容权利人。

当前版本更新内容
v4.15.0 更新内容

本次为「新增香港、台湾与黑龙江、云南共 19 路直播」版本:黑龙江 7 路、云南 7 路各自成组,香港卫视并入「香港」与凤凰三台并列,大爱一台 / 二台与 GOODTV / GOODTV2 并入「台湾」;五家全部免登录、零配置、默认开启,可在源管理逐家关闭。取流方式正好各不相同——黑龙江地址固定且既不校验来源头也不挑播放器标识,频道直接写直链、本机一个字节的媒体都不转发;云南省级要按「当前这档节目」逐次换取带路径签名的 DVR 窗口,既不能预取也不能写死;香港卫视先问源站当前在播的是哪一路再换入口,并把两跳清单拍平成媒体清单;大爱按来源头防盗链、GOOD TV 卡的是播放器标识,两家的清单与分片统一由本机全代理并补齐所需请求头。升级镜像后重启即生效,现有配置与订阅无需改动。

  • 新增黑龙江、云南两省官方直播:黑龙江 7 路归入「黑龙江」,云南 7 路归入「云南」,均免登录、零配置、默认开启,可在源管理单独关闭。两者取流方式正好是两个极端。黑龙江是本项目里少见的「什么都不需要」的源:极光新闻 App 在用的官方入口地址固定、不带签名,清单和分片既不校验来源头也不挑播放器标识(ffmpeg、okhttp 都是 200),所以频道直接写直链、由播放器直连官方 CDN,本机一个字节的媒体都不转发;要留意的只有端口,官方业务域名走的是 4430 而不是 443。云南则要同时接两条链路:省级四路走云视网,官网接口返回的不是一条固定直播地址,而是「当前这档节目」的 DVR 窗口加一对按路径签发的签名——拿本轮签名去请求下一档节目的路径直接 403,既不能预取也不能写死,只能每次播放请求前重新换取;节目换档后下一次解析自然拿到新窗口,实测跨档时分片序号从 141184+604 接到 141794、单调递增不回退,播放器按普通直播清单推进即可(官网播放器自己反倒不换台,它的换档代码是注释掉的,一档放完就停)。地方三路走七彩云端目录,按房间名取当前在线机位;目录里另外 14 个地方台名字当前全部复用同一条 HLS,因此不作为独立频道

readme truncated — read the full docs on github

Frequently asked questions

Is iptv free to use?

iptv is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does iptv do?

开箱即有 800+ 可稳定流畅播放频道的自托管 IPTV 直播源管理与分发系统,聚合了央视频、咪咕、央视、卫视、凤凰卫视、亚太、国际、地方台、体育赛事、B 站直播、斗鱼直播、虎牙直播等,以及自定义抓取源和订阅,并提供 EPG 节目单与聚合功能;另外还自带 GUI 可视化管理后台,支持 Docker Compose 或

What is iptv written in?

iptv is primarily written in JavaScript. Its source is publicly available at https://github.com/akiralereal/iptv, and it has 737 GitHub stars.