# 📺 iPTV ### 把分散的直播源,变成一套真正属于你的频道系统 自托管 · 模块化 · 可视化 · NAS 友好 [![GitHub Stars](https://img.shields.io/github/stars/akiralereal/iptv?style=for-the-badge&logo=github&color=181717)](https://github.com/akiralereal/iptv/stargazers) [![Docker Pulls](https://img.shields.io/docker/pulls/akiralereal/iptv?style=for-the-badge&logo=docker&logoColor=white&color=2496ED)](https://hub.docker.com/r/akiralereal/iptv) [![License](https://img.shields.io/github/license/akiralereal/iptv?style=for-the-badge&color=22C55E)](LICENSE) [![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-EA4AAA?logo=githubsponsors&logoColor=white&style=for-the-badge)](https://github.com/sponsors/akiralereal) [![Telegram 公告频道](https://img.shields.io/badge/Telegram-Channel-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/iFansClub) [![Telegram 用户交流群](https://img.shields.io/badge/Telegram-Group-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/iFansClubChat) ### [🐳 Docker 部署教程](#-快速开始) · [前往 Docker Hub →](https://hub.docker.com/r/akiralereal/iptv) 推荐通过 Docker 在 NAS / 服务器上部署,镜像:`akiralereal/iptv:latest` **当前版本:v4.53.1** · [产品预览](#-产品预览) · [频道覆盖](#-频道覆盖) · [内容来源](#-内容来源与抓取能力) · [功能说明](#-功能全景) · [更新日志](CHANGELOG.md)
iPTV 是一个面向家庭影音与 NAS 用户的**模块化 IPTV 直播源管理与分发系统**。它内置央视频、咪咕、B站、抖音、虎牙、斗鱼及多地区广电等抓取模块,也能接入需要网页解析的内置源、维护者筛选的公开独立源、自定义直连地址和 M3U/TXT 订阅;所有来源统一完成聚合、去重、编排,再输出干净的播放列表与 EPG 节目单。 项目更新和社区公告请订阅 [Telegram 公告频道(@iFansClub)](https://t.me/iFansClub);使用问题、反馈和心得交流,欢迎加入 [Telegram 用户交流群(@iFansClubChat)](https://t.me/iFansClubChat)。Bug 反馈和功能建议也可以提交 [GitHub Issue](https://github.com/akiralereal/iptv/issues)。 > [!IMPORTANT] > 本项目是自托管的软件工具。除项目自制的使用公告短片外,不托管第三方音视频节目;仓库及运行时可能整理互联网上公开可访问的播放地址与频道元数据,但“公开可访问”**不代表内容属于公有领域,也不代表已获得复制、转播或商业使用授权**。请仅在获得合法授权的范围内使用;如你是权利人并认为相关条目侵权,请按[版权与侵权处理](#-版权与侵权处理)提交下架通知。 ## 🖼️ 产品预览

网页播放实况 · 在管理台直接预览频道

管理台内置播放器预览 Love Nature 4K 频道

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

我的频道:频道分组、央视频频道列表与订阅地址

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

源管理:内置抓取模块分类、按地区展开的免账号模块、启用状态与频道数量

## ✨ 为什么选择 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、全国主要卫视频道 | | **地方频道** | 北京、天津、重庆、四川(含成都及区县、绵阳、泸州、遂宁、内江、达州、巴中、甘孜、阿坝、广元、宜宾、凉山、雅安、乐山、眉山、资阳)、贵州、安徽、广东(含广州、深圳、梅州)、广西、福建(含泉州、晋江、石狮、德化、莆田、宁德)、江西、甘肃、青海(含西宁、格尔木、海东)、新疆、西藏、云南、吉林、黑龙江、内蒙古、宁夏、海南、河北、山西、陕西、湖北、辽宁(大连)、浙江(含杭州、宁波、嘉兴、台州天台、绍兴、东阳、衢江、江山)、江苏(含南京、苏州、无锡、扬州、南通、盐城)、山东(含青岛;16 个地市的区县台按地市分组,默认关闭)、河南、上海、湖南等省市卫视与地面频道,以及广电云平台上 20 个省区市的市县台(只显示正在推流的),并持续接入更多地区 | | **景观直播** | 央视网「直播中国」当前在线信号,以及吉林风景、美丽河北、Live 南京、青岛城市直播、上海慢直播等景观频道,以及市县台模块里许昌、桐庐、乌镇、宣恩等地的 97 路慢直播;数量随平台在线状态动态变化 | | **体育赛事** | 体育频道、赛事直播,以及昨天 / 今天 / 明天的动态赛事频道;广东体育官方公开赛事按“广东体育 · 赛事名称”显示在「广东」分组并同时出现在「体育」分组,数量随开播与结束变化 | | **亚太与国际** | 精选列表提供 15 个经实验台验证的固定直连频道;独立模块另提供 YTN、NHK World 两个需要动态解析的公开频道,以及香港卫视、澳门莲花卫视两路官网直播;另有「海外频道」模块的 33 个海外免费频道、「澳门」模块的澳广视自办 6 套电视,默认关闭,需要时在后台打开 | | **高校与场馆** | 25 个机构与平台官网公开的活动直播与录像:大学讲座与校园活动、博物馆讲堂、文化馆演出与村晚、音乐会与剧院导赏、论坛演讲、白玉兰与金爵颁奖典礼、拍卖预展、智慧高教课堂、1905/微博/芒果活动;节目名带 `[直播]` 或 `[回放]`,按机构分组,**默认关闭**,需要时在后台按机构打开,详见下文 [高校与场馆](#-高校与场馆) | | **百视通** | 默认开启,64 路可选;默认只加入多彩文体4K、都市剧场、动漫秀场、乐游、法治天地、东方财经、生活时尚七路,单独归入「百视通」;其他频道按需勾选。百视通按地区下发频道,有的地区拿不到其中几路,会自动跳过。多彩文体4K 本次实际流为 1080p | | **综合内容** | 影视、文旅、教育、少儿、娱乐时尚等分类频道 | 播放列表首位默认提供项目自有的「公告」分组,内含三条自制短片:“欢迎使用 iPTV for iFansClub.com”展示使用方式、版权提醒和侵权联系说明;“央视频会员频道登录教程”演示 Docker / NAS 用户如何从浏览器复制 Cookie 把央视频登录态导入 iPTV;“「来源于网络」频道添加教程”演示如何在后台「🌐 源管理 → 👤 自定义源」用「🌏 添加「来源于网络」列表」卡片一键订阅仓库 `from-the-web/from-the-web.m3u` 里的网络第三方源。三者都不引用任何第三方节目素材。不想在电视上显示可以在后台「我的频道」逐条隐藏(随时可在「已隐藏」里恢复);只要显示,该分组就固定在第一位,不支持删除、移动、排序或重命名。 ### 🎓 高校与场馆 想在电视上看大学讲座、博物馆讲堂、文化馆演出或颁奖典礼,可以打开「高校与场馆」:iPTV 从 25 个机构与平台的官网收录它们公开的活动直播和录像。这类内容不是电视频道,**默认关闭**,需要的到后台「🌐 源管理 → 内置抓取模块 → 高校与场馆」按机构打开,播放器重新拉一次订阅,就会多出以机构命名的分组。 新增「国家智慧教育·高教课堂」「1905电影活动」「微博官方活动」「芒果活动」四个独立开关。首批验证 19 条回放:高教三门课程六讲、1905 六场、微博四场、芒果三场,包含《绽放》《金吾不禁》片场探班及长时颁奖活动。播放前重新检查官方公开权限;智慧高教只收录已验收六讲,中小学登录课程暂未接入。 | 类别 | 机构 | 内容 | | --- | --- | --- | | **高校** | 西安交通大学、吉林大学、复旦大学、北京师范大学、华中科技大学 | 公开讲座、校园活动、会议典礼与晚会录像,校园影像与毕业短片 | | **博物馆与图书馆** | 国家博物馆、上海图书馆、中国数字科技馆 | 国博讲堂、公开讲座与美育课、科普活动 | | **文化馆** | 国家公共文化云,上海市群众艺术馆,浙江、广东、湖南省文化馆 | 群众文艺演出、村晚、音乐会与比赛,部分有直播 | | **音乐与剧院** | 中央音乐学院、广州大剧院、易北爱乐音乐厅(德国汉堡) | 国乐演奏会、云剧院歌谣夜与艺术导赏、NDR/ARD 长篇音乐会 | | **论坛** | 中关村论坛、上海论坛 | 会场录像、嘉宾演讲 | | **颁奖典礼** | 上海电视节白玉兰奖、上海国际电影节金爵奖 | 历届颁奖典礼全程回顾 | | **拍卖** | 富艺斯 | 预展和拍后回顾短片,没有整场拍卖 | | **高教课堂** | 国家智慧教育·高教课堂 | 教创赛第五届三个学科六讲课堂实录 | | **影视与明星活动** | 1905电影活动、微博官方活动、芒果活动 | 首批十三场完整回放,含两场片场探班、颁奖活动、歌唱节目见面会和剧组互动 | - 节目名前标 `[直播]` 或 `[回放]`:官方正在直播的活动才标 `[直播]`,开播前的预告不出现;`[回放]` 是官方录像,可以拖动进度,不是电视频道那种按时间回看。 - 每家只取官方目录里当前的几条(多数 3 条),每小时随官网更新,不是机构的全部视频。 - 只收官网公开、免登录的内容;要登录、付费、试看、DRM 加密和宗教内容不收。活动和录像没有台标和节目单。 - 画面经部署的机器转发,会占用服务器带宽,能不能看取决于部署机器访问这些官网的网络;富艺斯、易北爱乐还要能访问境外网站。 - 湖南省文化馆部分回放和上海论坛的演讲录像是 HEVC 编码,播放器要支持 HEVC。 各家的官方入口和收录范围见 [机构模块说明](extractors/institution/README.md)。佳士得模块因部署端回放可用性不足已移除,升级后自动清理其旧模块配置与抓取缓存。 ## 🧩 内容来源与抓取能力 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站支持扫码登录以使用本人账号可访问的画质,抖音、虎牙、斗鱼支持匿名公开直播。抖音默认从「聊天」「生活」两个分类轮选 20 个、FLV 播放,分类和数量可在源管理里改,也可切换为公开网页「全部」页原始顺序(首批约 15 个)或 HLS;频道归入「抖音」,排在「B站」之后 | | **百视通** | 福建百视通官方目录中的 64 路已验证频道;默认选择七路现有来源未覆盖的专业台 | 模块默认开启,在「源管理 → 百视通」选频道或关闭;官方目录按地区下发,这台服务器拿到的目录里没有的频道自动跳过;每次刷新清单都复查当前播放地址,短效地址到期或提前失效时重新获取;只转发清单,视频分片直连官方 CDN,也支持全代理订阅。官方台标随目录同步,默认七路中的五路接入官方今明节目单;地区、运营商与平台策略仍可能影响可用性 | | **电视与赛事平台** | 咪咕、体育赛事 | 自动整理频道与节目单,并按账号权限、设备兼容性和平台接口状态选择可用画质;需要登录的能力仅使用部署者本人提供的凭据 | | **广东体育官方赛事** | 官方「广东体育频道plus」「广东体育频道」当前公开在播的赛事,归入 **广东**,同时出现在 **体育**(赛事名带少儿、卡通、动漫的改放「少儿」,带教育、科教的改放「教育」) | **无需登录、无需配置**;从广东体育官方 H5 动态发现赛事,播放时复核官方状态并读取 HLS;本机只中继清单,视频分片由播放器直连官方 CDN(不看来源头、不带签名),也可用 `?relay=2` 全代理。每场赛事独立标识,开播加入、结束移除;源管理有独立开关。广东体育电视频道仍由荔枝网模块提供 | | **凤凰卫视** | **凤凰资讯、凤凰中文、凤凰香港**,归入 **香港** | 仅三个电视直播频道;游客 480p,登录普通凤凰秀账号可获取 **720p / 25 帧,无需付费会员**。后台支持导入 Token / Cookie 并持久保存,播放时取新签名,原始 HTTP-FLV 由本机转发。原先在内置精选列表里的三条第三方凤凰线路已移到「来源于网络」列表,订阅后与本模块三台并列作备用线路,不合并、不顶替;播放器按名聚合时本模块源排在前面 | | **香港卫视** | 香港卫视一路电视直播,归入 **香港** | **无需登录、无需配置**;播放时先问源站当前在播的是哪一路,再换这一路的 HLS 入口。服务端把入口清单拍平成媒体清单后只中继清单,媒体分片由播放器直连上游 CDN。实测为 1280×720、H.264/AAC;节目单取自官网节目单接口(今明两天) | | **澳门(澳广视)** | 澳广视自办的 6 套电视:澳视澳门、澳视葡文、澳门体育、澳门资讯、澳门综艺、澳门-Macau,归入 **澳门** | **无需登录、无需配置**;播放时向官网的路由接口取当前网络可用的 CDN(缓存五分钟),播放器直连官方 CDN;官网与视频**只对大陆以外开放**,部署服务的机器(查 CDN)和播放设备(取视频)都要能连到大陆以外;**默认关闭**,需要时在后台打开;台标与节目单取自官网 | | **澳门莲花卫视** | 澳门莲花卫视一路电视直播,归入 **澳门** | **无需登录、无需配置**;播放时从官网直播页的播放器配置读出当前带签名的 HLS 入口,入口在本机缓存五分钟、签名失效立即重读官网,每次播放都检查实时清单。服务端只中继清单,带独立签名的媒体分片由播放器直连上游 CDN,需要时也可用 `?relay=2` 全代理;台标与节目单取自官网 | | **北京广播电视台** | 北京卫视、BRTV 文艺 / 纪实科教 / 影视 / 财经 / 体育休闲 / i生活 / 新闻、卡酷少儿,以及北京时间当前公开活动或慢直播 | 公开直播免登录并自动排除失效项目;9 个电视频道需在后台导入本人北京时间 Cookie。凭据仅用于取流接口,不写入订阅、不发送到媒体 CDN;清单和分片由本机补齐防盗链请求头并代理 | | **重庆广电** | 源站当前公开的 CQTV新闻 | **无需登录、无需配置**;频道表自动同步,播放时匿名换取短效 HLS,清单、AES 密钥和媒体分片由本机全代理 | | **四川广电** | 四川卫视、新闻、经济、文化旅游、影视文艺、妇女儿童、四川乡村、康巴卫视、四川卫视 4K 超高清 SDR,以及源站当前公开活动直播 | 活动直播有则显示、无则隐藏且无需登录;9 个固定电视台需使用部署者本人的四川源站登录态。后台提供书签工具读取源站 Token,服务端播放时动态换取短效地址,清单、密钥和媒体分片均补齐源站防盗链请求头并全代理 | | **成都广电** | 成都新闻综合、经济资讯、都市生活、影视文艺、公共、少儿、蓉城先锋及 20 路区县电视,共 27 路,归入 **四川** | **无需登录、无需配置**;播放时从看度官方 App 接口获取签名地址,主频道优先高清,默认 302 跳转、播放器直连,不转码、不常驻浏览器。龙泉旧源不可用,暂不收录。新闻综合、公共带今明两天的央视网官方节目单,其余暂无;24 路使用官网新版图床的频道台标,3 路由内置台标包补齐(含资料库出处),不提供回看 | | **四川市州** | 成都以外 **18 个市州、25 路**官方电视频道,归入 **四川** | **无需登录、无需配置**;播放时解析各台官网及官方 App 公开入口,动态续签并复用合法 CDN 会话。遂宁、达州、凉山、资阳七路全代理,其余十八路中继清单、分片直连;台标均有内置备份,凉山两套及攀枝花新闻综合带今明官方节目单,其余暂无 EPG,均不提供回看。详见 [四川市州模块](extractors/sichuan-cities/README.md) | | **江西广电** | 江西卫视、都市、经济生活、公共农业、少儿、新闻、移动电视、陶瓷共 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 | | **山西广电** | 山西卫视、黄河电视台、经济与科技、影视、社会与法治、文体生活 6 路省级频道,以及太原、朔州、忻州、阳泉、吕梁、晋中、长治、晋城、临汾、运城 10 路地市频道,共 16 路,统一归入 **山西** | **无需登录、无需配置**;省级频道的播放路径按官网播放器算法由「频道码 + 当天日期」算出,只认当天、零点即换,播放时按上海时区重算;地市频道播放前向官网签名接口换取短效地址。两家 CDN 都不校验来源与播放器标识,本机只中继清单,媒体分片由播放器直连官方 CDN,也可用全代理订阅。实测 16 路均为 1280×720、H.264 / AAC-LC,25 帧;节目单取自官网逐台节目单接口(今明两天),省级 6 路与太原、晋中、临汾有,另外 7 个地市台官方为空 | | **陕西广电** | 陕西卫视、新闻资讯、都市青春、银龄、秦腔、体育休闲、农林卫视、移动电视共 8 路,统一归入 **陕西** | **无需登录、无需配置**;播放时现解官网看电视页下发的加密频道目录取当前地址——地址不带签名,但官网会整批换名、旧名立即失效,所以不写进播放列表;CDN 不校验来源与播放器标识,本机只中继清单,媒体分片由播放器直连官方 CDN(仅 HTTP),也可用全代理订阅。实测 8 路均为 720×404、H.264 / AAC-LC,25 帧(官网只有这一档);8 路都有官网当天节目单 | | **西藏广电** | 西藏卫视、藏语卫视、影视文化共 3 路,统一归入 **西藏** | **无需登录、无需配置**;播放时从「珠峰云」App 的频道接口取当前带签名的 HLS 地址(签名只验清单,签发一小时后仍有效),频道表五分钟复用一次,清单被拒时立即重取。CDN 不校验来源与播放器标识、分片不带签名,本机只中继清单,媒体分片由播放器直连官方 CDN,也可用全代理订阅。实测 3 路均为 1920×1080、H.264 / AAC-LC,25 帧;官方没有节目单,西藏卫视与央视频同名,开着央视频时共用其节目单 | | **天津广电** | 天津卫视、天津新闻、天津文艺、天津影视、天津都市、天津体育、天津教育 7 路,统一归入 **天津** | **无需登录、无需配置**;按津云 App 的 WiseTV 协议在播放时签发短效地址(App 内置应用参数,可用环境变量覆盖),签发接口每次在腾讯、网宿、百度三家 CDN 间轮换。网宿的播放会话绑定取清单那一方的播放器标识,播放器直连分片会被拒,所以清单与分片都经本机全代理;播放中直接轮询官方媒体清单,跨过 10 分钟的签名有效期也不断流、不换 CDN。台标用津云 App 的频道图标。实测 7 路均为 1280×720、H.264 High / AAC-LC,25 帧;节目单取自津云官方接口(今天、明天) | | **青海广电** | 青海卫视、青海经济生活、青海都市、安多卫视、格尔木新闻综合、海东综合频道共 6 路,归入 **青海** | **无需登录、无需配置**;四路省台取自长云网和青海藏语台官网,播放时换签、只中继清单,分片由播放器直连;格尔木与海东取自官方 App,每天更新官方长效签名地址,清单与分片均由播放器直连,无需额外请求头。两路同时保留在精选 `IPTV.m3u`,模块启用时自动去重。实测六路均为 1920×1080、H.264 / AAC,25 帧;省台官网、接口与 CDN 仅大陆可访问,新增两路未做海外测试。青海卫视节目单取自央视网,其余没有可用的官方节目单 | | **宁夏广电** | 宁夏卫视、宁夏公共、宁夏文旅共 3 路,归入 **宁夏** | **无需登录、无需配置**;黄河云公开的官方直播入口,地址固定、不带签名,上游不校验来源也不挑播放器标识,播放器直连官方 CDN,本机不转发媒体;节目单取自黄河云官方接口(只有当天) | | **嘉兴广电** | 嘉兴新闻综合、文化影视、公共频道共 3 路,归入 **浙江** | **无需登录、无需配置**;频道入口来自嘉兴在线「看电视」页,播放时按频道向趣看的公开播放接口换取签名 HLS,本机只中继实时清单,媒体分片由播放器直连上游 CDN,清单与分片都限定在该频道的官方域名和路径;也可用 `?relay=2` 全代理 | | **台州(天台和合)** | 天台县和合频道 1 路,归入 **浙江** | **无需登录、无需配置**;入口来自和合天台 App,播放时向趣看公开接口获取签名 HLS,本机中继实时清单,视频分片直连官方 CDN,也可用 `?relay=2` 全代理;实测 1080p;台标取自官方频道卡正中的风车标,由内置台标库提供,暂无可用官方节目单 | | **绍兴广电** | 绍兴新闻综合、绍兴公共、绍兴文化影视共 3 路,归入 **浙江** | **无需登录、无需配置**;来自绍兴网官方直播页,每次播放从官方频道及播控接口自动发现地址;域名、路径、签名或 CDN 跳转变化时重新验证实时 HLS 和 TS 分片,详情旧源失效时从官网目录重新识别频道,本机中继清单、分片直连官方 CDN,也可用 `?relay=2` 全代理;三路均为 720p,带各自官方台标和今明两天的官方节目单。保留官网实际下发的 HTTP(S) 地址,不关闭 TLS 校验;加密、分段 MP4 或独立音轨等媒体结构变化会明确提示需要适配 | | **浙江地方台** | 东阳新闻综合、衢江综合、江山电视一套共 3 路,归入 **浙江** | **无需登录、无需配置**;从各台官方趣看托管播放器取流,每次播放核对频道身份、发布状态和当前播控后取得新签名;清单与视频分片由部署机器转发。东阳 720p,衢江、江山 1080p,均为 H.264/AAC;内置台标备份,官方节目表目前为占位或空表 | | **杭州广电** | 杭州综合、西湖明珠、杭州生活、杭州影视、杭州青少体育共 5 路,归入 **浙江** | **无需登录、无需配置**;播放时向葫芦网(杭州文广集团官网)的频道接口取 2 小时有效的签名地址,本机缓存到过期前半小时,签名被拒时立即重签。官方 CDN 的清单和分片都只认官网来源头,所以清单与分片由本机带来源头全代理;只放行该频道在官方 CDN 上的路径。台标取自官方频道接口。实测 5 路均为 1280×720、H.264 / AAC-LC,25 帧;官网节目表只有整点「精彩节目」占位,暂无节目单;频道接口只对大陆网络开放,部署在大陆以外(含香港)时取不到 | | **宁波广电** | 宁波新闻综合、经济生活、都市文体、影视剧共 4 路,归入 **浙江** | **无需登录、无需配置**;按宁波广电网直播页播放器的流程(直播页 → 播放器配置 → 频道资料 → 官方签名接口)取 1 小时有效的签名地址,频道资料缓存 6 小时、签名缓存到过期前 15 分钟,签名被拒时立即重签。CDN 不看来源头,本机只中继清单,媒体分片由播放器直连官方 CDN;也可用 `?relay=2` 全代理(后台网页播放时自动走全代理)。实测 4 路均为 1280×720、H.264 / AAC-LC,25 帧;官网节目单是每周的图片,暂无节目单;签名接口只对大陆网络开放,部署在大陆以外(含香港)时取不到 | | **梅州广电** | 梅州客家生活 1 路,归入 **广东** | **无需登录、无需配置**;梅州市广播电视台自有域名下的公开 HLS,地址固定、不带签名,播放器直连上游 CDN,本机不转发媒体 | | **泉州广电** | 泉州新闻综合、泉州闽南语共 2 路,归入 **福建** | **无需登录、无需配置**;播放时向官网公开接口换取短期签名 HLS,两个签名接口都触发人机验证时改从官网另一个域名的播放页取地址;上游 CDN 拒绝部分播放器标识,清单与分片由本机以浏览器标识全代理;节目单取自官网播放页 | | **晋江、石狮** | 晋江电视台、石狮新闻综合共 2 路,归入 **福建** | **无需登录、无需配置**;晋江市、石狮市融媒体中心官网直播用的 HLS,地址固定、不带签名,播放器直连官方 CDN;石狮节目单取自官网直播页,晋江官方目前只有占位 | | **山东市县** | 闪电新闻融媒平台上山东 16 个地市的区县融媒体中心与部分市台,共 224 路(如长清、章丘、东营、潍坊、寿光、曲阜、泰山、威海),按地市分成「山东-济南」…「山东-菏泽」16 个分组,排在「山东」后面;**默认关闭**,在「源管理」打开,不需要的地市整组隐藏即可 | **无需登录、无需配置**;每两小时向官方接口查一次各台状态,只显示主清单取得到的台,停推的台暂不出现、恢复后自动回来;播放时跳转到官方当前地址,播放器直连官方 CDN,本机不转发清单和分片(`?relay=1` 兼容模式下清单由本机取,要求部署机与播放器同一出口);台标用官方接口给的频道或电视台台标;节目单取自官方接口(目前只有崂山频道排了当天的),不提供回看 | | **市县台** | 广电云平台托管的 20 个省区市、126 路市县级电视台(如大庆、黄石、柳州、孝感、慈溪、贵阳、阿克苏、义乌)按省归入对应分组,另有 97 路各地慢直播放在「慢直播」分组,只显示正在推流的;按省拆成 20 个模块「市县台·山东」…,**默认关闭**,在源管理对应省面板里打开 | **无需登录、无需配置**;每小时查一次各台推流状态,停推的台暂不出现、恢复后自动回来。播放时在官方平台挂一个在线会话取地址(两条 WebSocket 保活,没人看一分半后自动断开),清单经本机中继、分片直连官方 CDN;28 路电视台带官方节目单,不提供回看 | | **莆田广电** | 莆田新闻综合、莆田文旅生活、仙游电视台共 3 路,归入 **福建** | **无需登录、无需配置**;频道入口来自「莆田TV」App 与官网共用的频道接口,播放时取签名 HLS(约 2 小时 45 分有效,本机缓存到过期前半小时),本机只中继实时清单,媒体分片由播放器直连官方 CDN,清单与分片都限定在该频道的官方路径;节目单取自莆田TV 官方接口(一套、二套,仙游官方只有占位);也可用 `?relay=2` 全代理 | | **宁德广电** | 宁德新闻综合、宁德文化旅游共 2 路,归入 **福建** | **无需登录、无需配置**;每轮刷新向宁德台官方直播接口要一次 HLS 地址,地址固定、不带签名,播放器直连官方 CDN;2026-10 复测海外也能播;官方节目单只有占位,暂无节目单 | | **无锡广电** | 无锡新闻综合、娱乐、都市资讯、生活、经济共 5 路,归入 **江苏** | **无需登录、无需配置**;频道入口来自无锡博报 App 的直播分享页,播放时取签名 HLS(约 2 小时有效,本机缓存到过期前半小时),本机只中继实时清单,媒体分片由播放器直连官方 CDN,清单与分片都限定在该频道的官方路径;节目单取自无锡博报官方接口;分享页只对大陆和香港开放,部署在其他海外地区时取不到;也可用 `?relay=2` 全代理 | | **盐城广电** | 盐城电视一套、盐城电视二套共 2 路,归入 **江苏** | **无需登录、无需配置**;直接使用盐城网官方电视直播页的频道与节目接口,每次播放获取当前签名地址;本机代理清单与分片并保留官网请求头,两套均为 720p,带官方台标与今明两天节目单,无回看 | | **南通广电** | 南通新闻综合、南通社教、南通公共共 3 路,归入 **江苏** | **无需登录、无需配置**;从江海明珠网官方目录获取频道与台标,播放时核对当前节目和播出垫片,清单与分片由本机代理,不转码。电视剧、动画、录播及其他未开放时段提示不可播,频道仍保留;三套接入官方当天节目单,共用官网“南通 NEWS”台标并提供内置备份,无回看 | | **扬州广电** | 扬州新闻、扬州民生,以及江都、邗江两个区台共 4 路,归入 **江苏** | **无需登录、无需配置**;扬州发布 App 直播用的 HLS,地址固定、不校验签名,播放器直连官方 CDN;节目单取自扬州发布官方接口 | | **青岛广电** | 青岛新闻综合、生活服务、影视、都市、教育共 5 路(QTV-1 到 QTV-5),归入 **山东** | **无需登录、无需配置**;官网直播页的固定地址,分片带官网播放器自用的加密封装,普通播放器直连播不了,播放时由本机代理边下边解、整段转发(与广西同一做法),能不能看取决于部署机器的网络;节目单取自官网播放页接口(只有当天);台标用官网台标并收进内置库;五四广场等城市景观在「青岛景观」模块 | | **安徽广电** | 安徽卫视、经济生活、影视、公共、农业科教、综艺体育、国际频道共 7 路 | **无需登录、无需配置**;播放时读取「安徽视讯」官方频道详情中的当前域名与流 ID,再解出 App 密钥生成两小时签名;旧源失败后重新取配置,频道引用不变。清单实时刷新,清单与分片按 CDN 要求全代理(旧 live 使用 Chrome,新 seclive 使用 ijkplayer)。2026-10-25 新域名 HTTPS 证书主机名不匹配,仅在该错误发生时兼容同域 HTTP,不关闭证书校验 | | **新疆广电** | 新疆卫视、维吾尔语新闻综合、哈萨克语新闻综合、汉语综艺、维吾尔语影视、体育健康、少儿共 7 路 | **无需登录、无需配置**;播放时从丝路视听网当前 Nuxt 包静态解析当天公开签名配置,再调用源站接口签发约一小时有效的 HLS。服务端中继实时清单,媒体分片默认由播放器直连上游 CDN,也可用全代理订阅。某一路被源站重新标记禁播时只跳过那一路,其余照常 | | **吉林广电** | 6 路省级频道、9 路地方台和 13 路慢直播,共 28 路 | **无需登录、无需配置**;常规电视归入「吉林」,慢直播归入「吉林风景」。省级频道和季节性景观在播放时从源站加密接口获取短效 HLS,固定地方台和固定景观使用已验证的 HTTPS 入口;清单、密钥和媒体分片均由本机全代理 | | **内蒙古广电** | 内蒙古卫视、蒙古语卫视等 8 路自治区频道,以及 12 路盟市频道,共 20 路 | **无需登录、无需配置**;20 路全部归入唯一的「内蒙古」分组。播放时按奔腾融媒源站公开协议调用加密频道接口获取动态地址,并为清单、密钥和媒体分片补齐防盗链请求头后由本机全代理 | | **亚洲与国际直播** | **6 个公开频道:YTN、NHK World、CNA、France 24 English / Français、World Poker Tour**;另有 **11 个固定直连频道**位于精选列表的独立标记区块 | YTN、NHK World 在播放时从平台接口获取当前 HLS,并由本机代理清单、密钥与媒体;CNA、France 24 English / Français、World Poker Tour 由本机转发一次主清单、把最高档挪到最前,视频由播放器直连官方 CDN,网速不够照常降档(France 24 官方只有 1080p、360p 两条单独的清单,模块拼成一份);NHK 主清单同样最高档在前。固定频道使用实验台验证过的原始 HLS 地址,不经过该解析模块,避免重复和额外转发开销 | | **海外频道** | **42 个海外免费频道**:体育 13(Sky Racing、FUEL TV、beIN Sports Xtra、FIFA+ 等)、娱乐时尚 12、文旅 7(含 NASA+、Gusto TV)、国际 9(NEWS1、France 24 Español、Thai PBS、Bloomberg TV 亚太 / 欧洲 / 美国、DW English、TRT World、Al Jazeera English)、韩国 1(Arirang),并入对应的现有分组、排在组尾 | 实验台验证过的固定直链,播放器直连各平台 CDN,无需登录;官方主清单把低档排在前面的 13 台(Thai PBS、DW English、TRT World、NASA+、Gusto TV、Arirang、FUEL TV、MTRSPT1、Terra Mater WILD、Wipeout Xtra、MovieSphere、FIFA+、Qello Concerts)由本机转发一次主清单、把最高档挪到最前(France 24 Español 官方只有两条单档清单,由本机拼成 1080p 在前的主清单),视频仍由播放器直连,本机取不到主清单时退回直连;在大陆常卡顿或连不上(Bloomberg、DW 在大陆连不上),**默认关闭**,在模块卡片上打开即可;服务端只给地址,能不能看取决于播放设备的网络(播放设备挂了代理,服务部署在大陆也能看);频道表是仓库里的 `IPTV-overseas.m3u`,和精选列表一样每 6 小时从仓库更新、无需升级镜像;暂无节目单 | | **广电抓取** | 北京、天津、重庆、四川(含成都及区县、绵阳、泸州、遂宁、内江、达州、巴中、甘孜、阿坝、广元、宜宾、凉山、雅安、乐山、眉山、资阳)、贵州、安徽、大连、广东、广西、福建、江西、甘肃、青海、新疆、西藏、云南、吉林、黑龙江、内蒙古、海南、河北、山西、陕西、湖北、河南、湖南、江苏、南京、青岛、山东、上海、深圳、浙江、杭州、宁波、嘉兴、台州天台、绍兴、东阳、衢江、江山、梅州、泉州、晋江、石狮、莆田、宁德、无锡、扬州、南通、盐城、宁夏等 | 从各广电源站、公开接口或客户端公开直播能力获取当前地址;短效签名、防盗链、加密清单和 CDN 代理按模块分别处理 | | **景观直播** | 央视网「直播中国」、吉林风景、美丽河北、Live 南京、上海与青岛城市景观等 | 按源站当前在线状态动态收录;离线、下架或源站调整时会自动减少,不以固定频道数承诺可用性 | | **内置网页抓取源** | 如纬来体育等需要从公开页面解析当前地址的单频道源 | 内置抓取规则与定时刷新;每个源可配**多个入口地址**,主站打不开或抓不到时自动换备用地址重试,清单本身通过远程配置更新(改仓库文件即生效,无需升级镜像)。每个源均可单独关闭 | | **精选公开独立源** | 体育、国际、港台、文旅、宠物、娱乐时尚,以及苏州台、德化台等 | 项目维护的「精选频道」列表,收集公开可访问且经可用性检查的独立播放地址,并提供远程更新与本地快照兜底;**可访问性检查不等同于版权授权审查** | | **用户自有来源** | M3U8 直链、网页提取、M3U/M3U8/TXT 订阅 | 完全由部署者自行添加、排序、分组和控制在哪些配置档中显示,适合接入自有设备、合法订阅或已获授权的直播源 | | **高校与场馆** | 西安交大、吉林大学、复旦、北师大、华科大、国博、各文化馆、广州大剧院、央音、易北爱乐、论坛、白玉兰与金爵、富艺斯等 25 个机构与平台 | 在「源管理 → 内置抓取模块 → 高校与场馆」(海外之后)按机构开关,**默认全部关闭**;直接读取官方公开目录,播放时重新取址,媒体经本机转发:MP4 支持 Range 拖动,HLS 的子清单、音轨和分片由本机处理。直播和回放共用订阅并分别标记;未开播预告、需要登录/付费/试看或 DRM 的内容不导出。可用性取决于部署机器访问官方站点和 CDN 的网络,富艺斯、易北爱乐还需能访问境外 | > [!NOTE] > 所有内置抓取模块、内置网页抓取源和精选频道都能在「🌐 源管理」中独立关闭,也可用「批量开关」一次勾好要保留的抓取模块,并整体开关内置单频道源 / 精选频道;新部署需要完全空白的频道管理器时可使用 `mblank=true`。平台名称及商标仅用于说明兼容性,本项目不隶属于、也不代表上述平台或内容权利人。 江门综合因官方直播 CDN 持续返回 502,于 2026-10-27 暂时移除。升级后不再出现在「广东」分组,旧配置与频道缓存会自动清理;解析模块与台标保留,供官方恢复后重新接入。 沈阳新闻综合、沈阳经济、沈阳公共的官方分享入口也已返回 WAF 405,现与此前停用的辽宁省台一起从北斗融媒模块中移除;升级或导入旧备份时会清理该模块的配置与缓存。大连新闻综合、生活、文体仍由独立「大连」模块提供,归入「辽宁」分组。调查历史见 [辽宁直播调查](beidou-research.md)。
当前版本更新内容 #### v4.53.1 更新内容 本次为「**百视通改为默认开启、按地区跳过缺失频道**」版本:「百视通」模块改为默认开启,升级后订阅里会多出「百视通」分组;百视通按地区下发频道,有的地区拿到的官方目录里没有多彩文体4K 等几个台,以前缺一个台整个模块就抓取失败、七个台都出不来,现在只跳过缺的那几路,其余照常播放。升级镜像后重启即生效,现有配置与订阅无需改动;没动过百视通开关的,升级后会自动打开,不需要的到「源管理 → 百视通」关掉。 - **「百视通」改为默认开启**:v4.53.0 新增时默认关闭,不进源管理就不知道有这个模块,现改为默认开启。升级后订阅里多出独立的「百视通」分组,默认七路:多彩文体4K、都市剧场、动漫秀场、乐游、法治天地、东方财经、生活时尚,都是现有来源没有的专业台。在 v4.53.0 里手动开关过的保持原样。本机只转发清单,画面由播放器直连官方 CDN;部署在海外的可能连不上百视通的接口,用不到的到「源管理 → 百视通」关掉。 - **百视通按地区跳过缺失的频道**:百视通按服务器所在地区和运营商下发不同的频道目录,有的地区(实测有上海移动的出口)拿到的目录里没有多彩文体4K、动漫秀场、乐游、法治天地,这几路在那边也确实播不了。以前缺一个台,整个模块就报「官方目录未唯一列出频道 219」,七个台一个都不出;现在只跳过缺的几路,其余照常输出,模块详情里用黄字写明跳过了哪些,不进「需要处理的提醒」;选中的频道全都不在目录里才算抓取失败。这类地区的播放地址在另一个官方节点,现在也一并放行,都市剧场、东方财经、生活时尚实测能正常播放。 完整更新历史见 CHANGELOG.md
## 📑 目录 - [🖼️ 产品预览](#-产品预览) - [✨ 为什么选择 iPTV](#-为什么选择-iptv) - [📡 频道覆盖](#-频道覆盖) - [🧩 内容来源与抓取能力](#-内容来源与抓取能力) - [🚀 快速开始](#-快速开始) - [🧭 功能全景](#-功能全景) - [📺 播放器适配](#-播放器适配) - [❓ 常见问题](#-常见问题) - [🔧 配置与进阶](#-配置与进阶) - [更新日志](#更新日志) - [💖 支持项目](#-支持项目) - [📌 项目立场](#-项目立场) - [⚖️ 免责声明](#-免责声明) --- ## 🚀 快速开始 推荐使用 Docker Compose。只需要一个配置文件和一条启动命令,几分钟即可拥有自己的 IPTV 服务。 **Docker 镜像:[`akiralereal/iptv`](https://hub.docker.com/r/akiralereal/iptv)** · [查看版本标签](https://hub.docker.com/r/akiralereal/iptv/tags)。下面使用 `latest` 标签;使用 NAS 图形化容器管理器时,也可直接搜索 `akiralereal/iptv`,按下方配置设置端口和数据目录。 ### 1. 创建配置文件 创建 `docker-compose.yml`: ```yaml services: iptv: image: akiralereal/iptv:latest container_name: iptv init: true # 回收 Chromium 僵尸进程 ports: - "1905:1905" environment: - mport=1905 # 容器监听端口,与 ports 对应 # - mhost= # 可选:外部访问地址(如 http://192.168.1.100:1905) # - mpass= # 可选:访问密码,设置后访问 http://ip:port/密码/... volumes: - ./data:/iptv/data # 数据持久化,不挂载则重建容器 / 升级镜像会丢配置 restart: always ``` ### 2. 启动服务 ```bash docker compose up -d ``` 升级时执行: ```bash docker compose pull && docker compose up -d ``` ### 3. 打开管理后台 部署完即可访问: | 用途 | 地址 | | --- | --- | | M3U 播放列表 | `http://your-ip:1905/interface.m3u`(推荐带 `.m3u` 后缀;裸 `/m3u` 内容相同) | | TXT 播放列表 | `http://your-ip:1905/txt` | | EPG 节目单 | `http://your-ip:1905/playback.xml` | | **管理后台** | `http://your-ip:1905/admin`(设了密码则 `http://your-ip:1905/密码/admin`) | > 🧩 平台账号、画质等内容配置**不用写进 compose**:部署后进后台「**🌐 源管理**」在对应模块卡片里设置(支持扫码登录 / 书签工具),保存即时生效。备份 / 换机迁移用后台「设置 → 备份迁移」一键导出导入(`logos/` 自定义台标需单独拷贝),或直接备份 `./data` 目录。更多环境变量与玩法见[配置与进阶](#-配置与进阶)。 --- ## 🧭 功能全景 四个页面,完成从内容接入到播放分发的整个流程: | 页面 | 能做什么 | | --- | --- | | **📺 我的频道** | 分组、隐藏、排序、重命名与批量管理;按名字搜索频道在哪个分组;按名字长期屏蔽频道、一次隐藏整批同前缀分组;查缺台标;建立多套配置档;复制标准版、兼容版或全代理版订阅地址 | | **🌐 源管理** | 管理抓取模块、内置源与精选频道,可一键批量开关、只留需要的来源;添加网页提取、手动直链或订阅源;检测失效频道并调整多源优先级 | | **⚙️ 设置** | 调整系统参数、频道别名、自动分组规则、EPG 聚合和用户令牌;登录失效、EPG 源失败等需要处理的提醒推送到企业微信(群机器人或自建应用)、飞书、钉钉、Telegram、Bark 或自定义 Webhook;导出或导入完整配置 | | **ℹ️ 关于我们** | 查看当前版本并检查更新 | 修改源后 1-2 秒内自动重新生成播放列表;外部源配置存于数据目录 `external-sources.json`。 ### 数据流一览 ```text B站 / 抖音 / 虎牙 / 斗鱼 / 咪咕 ─┐ 广电与景观抓取模块 ──────────────┤ iPanda 直播模块 ─────────────────┤ 亚洲与国际直播模块 ──────────────┤ 内置网页抓取源 ──────────────────┼─→ iPTV 聚合 / 去重 / 编排 ─→ M3U / TXT / EPG ─→ 电视 · 手机 · 电脑 精选公开独立源 ──────────────────┤ 自定义直链与外部订阅 ────────────┘ ``` --- ## 📺 播放器适配 | 播放器 | 推荐订阅 | | --- | --- | | DIYP / 百川影音 | TXT 订阅:`/txt` | | TiviMate / APTV / Kodi / OK 影视 | 标准 M3U:`/interface.m3u` | | 飞牛影视 | 标准 M3U:`/interface.m3u`,必须保留 `.m3u` 后缀 | | 极空间极影视、部分老电视盒 | 兼容版:`/interface.m3u?relay=1` | | 使用兼容版仍无法播放的设备 | 全代理版:`/interface.m3u?relay=2`,兼容的频道会由服务器转发视频分片 | 三个版本的区别在于播放器取流时经过服务器的部分: | 版本 | 播放清单 | 视频分片 | 服务器带宽 | | --- | --- | --- | --- | | 标准版 `/interface.m3u` | 服务器 302 跳转到官方地址,播放器自己去取 | 播放器直连官方 CDN | 几乎不占 | | 兼容版 `?relay=1` | 服务器取好后直接发给播放器,给不跟随 302 跳转的播放器 | 播放器直连官方 CDN | 很少 | | 全代理版 `?relay=2` | 服务器转发 | 服务器转发 | 视频流量全部经过服务器 | > [!NOTE] > 能使用标准版就无需切换;标准版链路最直接。播放器不跟随跳转时使用兼容版,只有兼容版仍失败时才使用全代理版。 > > 部分内置模块会按平台要求自动为单个频道启用全代理,与所选订阅版本无关。例如央视景观的 CDN 会校验源站请求头,因此即使使用标准订阅,该分组的清单和视频分片也会自动经过 iPTV 服务端;其他可直连频道不受影响。 --- ## ❓ 常见问题
服务部署在香港或海外,或者播放设备挂了代理,哪些频道能看? 模块的默认开关不看网络:大部分模块默认开着,「海外频道」「澳门」默认关着,需要的在后台「🌐 源管理 → 内置抓取模块」最下面的「海外」小节里打开;部署在海外时,用不了的模块也在这里关掉。 能不能播,要看取流时是谁去连官方: 1. **服务端取流**(换签、全代理、中继清单):看部署服务的机器(NAS / VPS)的网络。咪咕、安徽、重庆、贵州、泉州、山东、深圳、青海省台、新疆只对大陆开放;吉林、江苏、无锡对大陆和香港开放,部署在其他海外地区时用不了。其中服务端只换签或只中继清单的,视频还要播放设备能连上。 2. **播放器直连**(服务端只给地址):看播放设备(电视、盒子、手机)的网络。「海外频道」33 台都是这种,在大陆连得上但常卡顿,播放设备挂了代理就流畅;宁夏(只对大陆开放)、黑龙江(大陆和香港)也是这种。 3. **两头都要**:「澳门」播放前服务端要向官网查 CDN,视频再由播放器直连,部署的机器和播放设备都要能连到大陆以外。 4. 央视和卫视在海外靠「央视频」:63 个公开频道里 58 个能播,CCTV5、5+、16 按体育版权不对海外开放。 各模块在海外的实测结果见 [OVERSEAS.md](OVERSEAS.md)。
iPanda 网页端可以选“超清”,为什么这里只有 720p?登录能解锁 1080p 吗? iPanda 网页播放器的清晰度名称与实际分辨率依次是:流畅 `640×360`、标清 `854×480`、高清 `1024×576`、超清 `1280×720`。播放器把 1080p 另称为“蓝光”,但当前 22 路 HLS 均未提供该档;逐路检查最高档视频编码也都是实际 `1280×720`,不是清单虚标。 这些频道的匿名接口已经返回公开可播状态,页面没有启用 VIP 清晰度限制。登录不会为当前 iPanda 直播解锁 1080p;主项目检测到的最高档 720p 正好就是播放器菜单中的“超清”。两个 24 小时总频道提供上述四档,其余 20 路为单档 720p。
北京台为什么只看到慢直播?怎样启用 9 个电视频道? 北京时间的公开活动和慢直播不需要登录,会自动出现;北京卫视、BRTV 各地面频道与卡酷少儿需要本人站点登录态。进入「🌐 源管理 → 北京广播电视台」,按卡片里的入口打开站点并登录;在浏览器开发者工具的 Network(网络)里刷新页面,点开 `getUserInfo` 请求,在 Request Headers 中单击 `Cookie` 的值后按 ⌘C(Windows/Linux 按 Ctrl+C),粘贴回后台保存即可,不需要鼠标右键。也可以用 `mBtimeCookie` 环境变量配置。 模块会先验证 Cookie:有效时加入 9 个电视台,失效时只隐藏电视台并给出提示,免登录直播继续可用。凭据只发给北京时间账号 / 取流接口,不会写进订阅或发送给媒体 CDN。北京时间媒体要求源站防盗链请求头,因此该模块固定由服务端代理 HLS;本地 macOS 会自动沿用系统 HTTPS 代理,Docker / Linux 可按需设置标准 `HTTPS_PROXY` 环境变量。
凤凰卫视怎样开启 720p?需要付费会员吗? 进入「🌐 源管理 → 凤凰卫视」,导入本人凤凰秀账号的 `App.user.token` 后保存即可。支持粘贴 Token 值或包含它的完整 Cookie;模块内提供书签工具和获取步骤,也可用 `mFengshowsToken` 环境变量配置。保存后的凭证随主项目配置持久保留,重启无需重填;失效时重新获取。 2026-09-03 实测:**游客三台均为 854×480;普通账号登录后三台均为 1280×720、25 fps、H.264,无需付费会员**。接口档位叫 `fhd`,实际是 720p。 本模块只提供凤凰资讯、凤凰中文、凤凰香港三路直播,不接入回看、点播、活动直播或栏目目录。三台归入香港分组;其它来源(外部订阅,如「来源于网络」列表)提供的同名凤凰条目不会被顶掉,原样保留作备用线路;播放器按名聚合「源1 / 源2」时本模块源排在前面,即默认源。播放地址实时向上游获取,沿用地区调度,Token 不发送到媒体 CDN 或写入订阅。直播使用 HTTP-FLV,本机仅转发不转码;网页播放器已支持,外部播放器也需支持 HTTP-FLV。
后台有央视频、虎牙、斗鱼,LunaTV 却导入不到?
部分 LunaTV / MoonTV 版本只把 `#EXTINF` 紧接的下一行当播放地址,遇到中间的 `#EXTVLCOPT:network-caching` 缓冲提示会漏掉整个频道(issue #114)。本项目的 M3U 输出已省略仅含缓冲提示的选项块,也兼容升级前的频道缓存。运行包含此修复的版本后,在 LunaTV 管理后台刷新直播源即可,订阅地址无需更换;缓冲时长由播放器自行设置。 B 站直播已与虎牙、斗鱼一样改为播放时解析、由本机中继清单,不再依赖 `#EXTVLCOPT` 请求头。其它来自订阅的直连源若带 `Referer` / `User-Agent`,那是播放所需的请求头,仍会保留;若使用的 LunaTV 版本不能解析并传递这些选项,这类频道需要在客户端侧适配,不能靠删除请求头或切换 `relay=1/2` 修复。
某些播放器点开频道后只有声音、没有画面?
这通常是 **H.265(HEVC)兼容性**问题:部分平台的直播流默认使用 H.265,而播放器无法解码。进入「🌐 源管理」,打开对应模块的配置并取消「启用 H.265 原画」,保存后重新播放。通过环境变量部署时可设 `menableH265=false`;个别频道仍有问题时再设置 `menableHDR=false`。
频道和台标正常,但播放一直转圈?
播放器可能不跟随 302 跳转。进入「我的频道」,点击订阅地址旁的「🩹 兼容版」,将新地址重新添加到播放器即可。兼容版由服务器直出播放清单,视频仍由播放器直连 CDN,不占用服务器的视频转发带宽。
隐藏掉的频道过几天又自己冒出来了?
「隐藏」绑的是频道 ID,而 ID 是按播放地址算的——源换了地址,那条隐藏就失效了。带签名 / 有效期参数的地址(`?expire=…&sign=…`)已经不再影响 ID;换了路径或域名的仍会。想让某个台**以后都别出现**,用「我的频道」里频道旁的「屏蔽」按钮,或右上角「🚫 屏蔽规则」按名字配一条:规则只看名字,源换址、频道每天重建都照样生效,删掉规则即恢复。像「体育-昨天 / 今天 / 明天」这类每天重建的分组,逐条隐藏没有意义,对其中一个分组点「隐藏分组」时会提议把同前缀的一起隐藏,以后新出现的也自动挡掉。
台标或节目单缺了一些,怎么补?
**台标**:用频道自己的官方台标,由本机托管(服务端下载校验后从你自己的服务器提供,坏图自动换下一个来源);官方图取不到、或 m3u 本来就没写台标的,用仓库自己维护的内置台标(`logo-pack/`)兜底,不联网。默认不再引入别人维护的公共台标库,想用的话自己设 `mexternalLogoBase`,规则见 [LOGO.md](LOGO.md)。都没有的会留空(播放器画自己的占位图,不再裂图)。点「我的频道」右上角「🖼 缺台标」可以列出当前档里所有没图的频道,逐个点进详情上传;或直接把 `<频道名>.png` 放进数据目录的 `logos/`,优先级最高。景观、慢直播这类本来就不是台名的,留空即可。 **节目单**:按「咪咕自带 → 各模块从官方接口取 → 外部 EPG 源」的顺序补,前面给了的频道后面不再覆盖。模块自带节目单目前接入了央视频(央视与卫视频道),河南、浙江、江苏、广东、深圳、广西、海南、山西、陕西、天津、上海、山东、河北、大连、南京、湖北、福建(含厦门、福州)、新疆、云南、宁夏、泉州(新闻综合、闽南语)、石狮新闻综合频道、莆田新闻综合与文旅生活、无锡 5 个频道、扬州 4 个频道、南通三套电视、盐城两套电视、青岛 5 个频道、绍兴三套电视、凉山两套及攀枝花新闻综合、市县台里 28 路(大庆、黄石、长沙、阿克苏等)、崂山频道的官方节目单,北京(7 个电视频道)、甘肃卫视、延边卫视、青海卫视、成都新闻综合与成都公共取自央视网,以及凤凰卫视、香港卫视、澳门莲花卫视、澳广视 6 个电视频道、NHK World、YTN;百视通默认七路中的五路也有官方今明节目单(乐游、法治天地官方空表);湖南、内蒙古、甘肃地面频道、吉林(延边卫视以外)、四川、四川市州其余频道、成都其余频道、贵州、重庆、黑龙江、广州、江西、安徽、西藏、青海(青海卫视以外)、嘉兴、杭州、宁波、台州天台、东阳、衢江、江山、梅州、晋江、仙游、宁德、市县台与山东市县其余各台官方暂时没有可用的节目单。咪咕频道(CCTV 各台取自央视网)与多数模块取今明两天;部分省台官方只发当天的节目单,零点后要等下一轮更新才有新一天的。各模块节目单的来源、覆盖与没接上的原因见 [EPG.md](EPG.md)。外部 EPG 源默认不带:先后内置过的 51zmt 已退化到只剩央视卫视,erw 10 月 1 日起停止免费下载。需要更广的覆盖,可在「设置 → EPG 聚合」自己加 XMLTV 源;某个源想压过官方节目单(比如它给的天数更多),勾上「优先于官方节目单」,它当前有节目的频道就改用它,源停更只剩旧数据时自动让回官方。老部署里没改过的内置默认源会被自动删掉;改过名的那条程序不会动,列表里会有一行提示。精选列表里的港台频道、各地景观和 B 站 / 虎牙 / 斗鱼这类没有公共节目单,属于正常。广东体育赛事子频道也按直播间处理,赛事标题直接显示在频道名中,不套用广东体育电视频道的节目单。 「高校与场馆」里的活动和回放不是电视台频道:节目海报不作为台标,也不编造电视节目单。活动日期、开播预告及已播视频目录不充当 EPG;具体机构和节目标题用于识别内容,详情见 [机构模块说明](extractors/institution/README.md)。 **弹幕**:咪咕体育赛事的直播条目带 `danmaku-url`(弹幕来自官网赛事聊天室,不用登录),Ceau 等支持统一弹幕接口直播扩展的播放器会按服务器墙钟每 5 秒拉一次增量;回放条目和固定电视频道没有聊天室,不带。其他播放器忽略这个属性,照常播放。协议与接口见 [DANMAKU.md](DANMAKU.md)。
使用兼容版后仍然无法播放?
再切换到「🚚 全代理版」,即 `/interface.m3u?relay=2`。对明确支持服务端代取的频道,它会把清单地址改为本机同源地址并由服务器转发视频分片,能兼容更多老旧或限制较多的播放器;若上游平台不允许服务端拉取分片,则保留该模块的安全播放模式。视频流经服务器会增加带宽占用,因此能使用标准版或兼容版时,不建议开启全代理版。
央视频会员频道怎样登录?登录后会不会很快失效?
63 个公开频道不需要登录,服务会在真正播放时动态取票、自动续签短效地址,并在主线路异常时切换备用 CDN。 另有 10 个会员频道会一并出现在播放列表中。两种登录方式任选其一: - **服务在有桌面的电脑上跑**:在那台电脑上用 `localhost` 打开后台,进入「🌐 源管理 → 央视频」,点击卡片里的央视频登录按钮,在弹出的窗口完成本人账号登录即可。 - **Docker / NAS 等没有桌面的部署**:在自己电脑的浏览器登录央视频网站,按 F12(Mac 按 ⌥⌘I)打开开发者工具切到 Network,刷新页面,点开任意一个 `yangshipin.cn` 的请求,在 Request Headers 里单击 `Cookie` 的值后按 ⌘C(Windows 按 Ctrl+C)复制,粘贴到「🌐 源管理 → 央视频」卡片的导入框并「导入登录态」。必须从请求头复制:央视频的会话 cookie(vusession、accesstoken 等)是 HttpOnly,网页脚本和书签工具读不到,只有请求头里才有完整的一套。服务端会把这组 cookie 种进自己的浏览器 profile 并让站点 SDK 当场校验,成功后显示昵称与 VIP 状态;「公告」分组里的教程短片演示了全过程。 服务不接收密码;导入的 cookie 只存在央视频专用的 Chromium profile 里,不写进配置文件或备份。站点 SDK 的刷新令牌 48 小时有效、由 SDK 在页面里自动续期,服务端每 6 小时静默拉起一次后台会话让它续一次,家里几天没人看会员频道也不会掉线;站点要求重新验证、账号退出或会员到期后,需重新登录或导入。导入后如果你自己电脑上的登录被踢下线,属于正常现象(同一份令牌被服务端接管),不影响电视端。 会员视频必须经网页播放器解扰后才能被普通 IPTV 客户端正确解码,因此播放期间服务端会运行 Chromium,并在内存中保留最近少量 H.264/AAC fMP4 片段。最多同时保留 3 个会员频道,3 分钟无人请求后释放,换台后切回来不用重新起桥;每路起播前先攒够约 18 秒(至少三个分片)再交给播放器,并催官网播放器立即续拉后续分片;VLC 内核的播放器(Ceau Player、VLC 等)会拿到专门的清单,避免它开播几秒就卡一下。首次自动登录目前只支持有桌面环境的本机运行:Docker/NAS 无法把服务端窗口弹到你的电脑,管理页会明确禁用该按钮。浏览器 profile 等同账号凭据,不包含在 JSON 配置备份中,换机或跨平台部署请重新登录。
央视频频道能回看吗?节目单里点回放怎么还是直播?
不能,央视频模块只做直播。它的频道在订阅里已明确标为 `catchup="none"`,支持该约定的播放器(TiviMate、OTT Navigator、Kodi IPTV Simple 等)不会再给这些频道显示回看入口;节目单本身不受影响。 要回看同一个台,切到播放器里同名频道的咪咕线路(播放器按名聚合「源1 / 源2」时选咪咕那一路),咪咕源的回看链路是现成的。不单独给央视频做回看,是因为央视频回看按频道和时段受版权方限制(如 CCTV13 全时段不提供),做出来体验也是时好时坏。
自己添加的订阅源能回看吗?直接订阅能回放,导入后点回放却还是直播?
能,前提是订阅本身声明了回看模板。导入时会保留订阅里的 `catchup`、`catchup-days`、`catchup-source`,写在频道行上或文件头 `#EXTM3U` 上都认,频道行优先;也认 Kodi 的写法 `catchup-type`、`tvg-rec`、`timeshift`。这些声明清洗后逐个频道写回订阅:别名改写成标准写法,完整网址模板补上 `catchup="default"`,SIPTV 式的 `timeshift="N"` 补上 `catchup="shift"`。声明了模板的频道,播放器按源自己的模板(例如 `?playseek=…`)请求回看,不再套用咪咕的模板。 订阅里没写回看、或只写了天数没给模板的频道,模板照旧继承本项目订阅头的咪咕回看模板(`?playbackbegin=…`)。第三方源一般不认这套参数,点回放仍是直播,这是源本身没有声明模板,不是导入时丢了。含引号、逗号、空白或 `${replace}` 的模板会被丢弃(防止撑破播放列表、把访问密码带给第三方),这类频道同样回退为继承订阅头。 订阅更新后才会带上新声明。默认每次重启都会刷新所有订阅源;关掉了「重启时更新」的源,到「🌐 源管理」里点一次「导入并保存」即可。
服务卡死、硬盘不停读写,日志里反复出现「开始提取」「Navigation timeout」「浏览器会话已启动」?
这是多个无头 Chromium 同时在跑把机器(尤其是内存 ≤2G 的 NAS / 小主机)拖进了交换分区。网页抓取型的源(如纬来体育)、广东台续签、央视景观、湖北台防盗链都需要起一个 Chromium,每个约占 200~400MB;此前它们各自启动、互不知情,且一个当前抓不到的源会在每个 5 分钟检查里都重新起浏览器再试一遍。 现已改为:全进程共用一个启动器,同时存活的 Chromium 不超过 `mbrowserConcurrency`(默认 2,超出的排队,常驻会话空闲时会主动让位);抓取失败按 10 → 20 → 40 分钟指数退避,不再每 5 分钟重试;网页抓取时不下载视频分片、图片、字体,取票会话也拦掉图片、字体(央视景观、湖北台连媒体请求一并拦掉;广东台的页面须保持在线,否则源站会立刻作废刚发的票据),并关闭 Chromium 磁盘缓存,5 分钟无人取票就整个关掉浏览器。若机器内存很小,建议在 compose 里设 `mbrowserConcurrency=1`;不需要网页抓取的可直接在「🌐 源管理」关闭对应的源或模块。反过来,若你经常**同时**观看广东、湖北、央视景观里的多路频道(这三个模块各需要一个常驻浏览器),内存又够(4G 以上),可设 `mbrowserConcurrency=3` 避免它们互相让位、反复重启浏览器。 想在本地几分钟内验证这套机制:`msourceTickSeconds=20 mbackoffBaseMinutes=0.5 node app.js` 可把 5 分钟检查周期与 10 分钟退避基数压缩(仅供测试,生产不要设);`node scripts/verify-browser-launcher.mjs` 会用本机模拟直播页跑一遍并发上限 / 空闲让位 / 分片拦截 / 失败退避。
央视景观需要登录吗?为什么日志显示浏览器会话已启动?
不需要登录。日志中的「央视直播中国浏览器会话已启动」表示服务端启动无界面的 Chromium,执行央视网页播放器并获取临时 HLS 地址,不会打开登录页,也不会保存央视账号或 Cookie。若相邻日志出现「数字频道号 + 由于版权原因,请登录后观看」,该数字频道号属于咪咕,与央视景观无关。 央视 CDN 会同时校验播放清单和视频分片的源站请求头,普通播放器无法自行补齐,因此央视景观固定使用全代理:只有实际观看时才产生流量,单路常见约 1–3 Mbps,多个观看设备会叠加。升级后请重启服务或重新生成播放列表,并在播放器中刷新订阅;若解析失败,服务日志会明确显示「央视直播中国链接请求失败」及具体原因。
内置抓取模块和精选频道是否代表内容已经获得转载授权?
不代表。抓取模块说明的是软件能够与公开页面或接口协作,精选频道的检查目标是确认地址格式和播放可用性;两者都不是对节目版权、地域许可或转播授权的法律审查。公开可访问的地址也可能因权利限制、平台政策或地区差异随时失效。 软件本身按 GPL-3.0 授权,如何使用、修改、分发不受这里限制;受限的是内容:请只接入你已获得授权或本人合法订阅的来源,不要把未获授权的频道拿去公开售卖订阅、重新广播、绕过付费或地域限制,也不要分享他人的账号凭据。对某项来源权利状态有疑问时,可在「🌐 源管理」关闭对应模块或精选频道,并优先使用自己的合法订阅或自有信号。权利人下架流程见[版权与侵权处理](#-版权与侵权处理)。
播放器订阅类型的快速选择请看上方[播放器适配](#-播放器适配);遇到新的兼容性问题,欢迎提交 issue 补充。 --- ## 🔧 配置与进阶 > 🎮 零配置即可使用央视频 63 个公开频道;央视频会员台及其他账号能力可在后台「🌐 源管理」按模块关联本人账号(自动登录 / 扫码 / 书签工具)。管理路径、更新间隔等在「设置」页配置——都不必记环境变量。账号只保存在你自己的部署里,令牌与浏览器 profile 都等同登录态、请勿外传。 ### 环境变量参考 #### 🔹 常用配置(够大多数人用) | 变量名 | 默认值 | 说明 | | --- | --- | --- | | mport | 1905 | 容器监听端口 | | mhost | | 公网 / NAS 访问地址,如 `http://192.168.1.100:1905` | | mpass | | 访问密码(可选),设置后访问 `http://ip:port/密码/...` | | mdataDir | /iptv/data | 数据持久化目录(镜像已默认此值并声明数据卷);建议 `-v ./data:/iptv/data` 绑定宿主机便于备份。老部署挂的 `/migu/data` 继续兼容,无需改动 |
📋 完整配置表(全部环境变量) | 变量名 | 默认值 | 类型 | 介绍 | | --- | --- | --- | --- | | mport | 1905 | number | 本地运行端口号 | | mhost | | string | 公网/自定义访问地址
格式 | | mpass | | string | 访问密码 大小写字母和数字
添加后访问格式 ... | | mdataDir | 镜像内 `/iptv/data`;node 直跑为当前目录 | string | 配置 / 数据持久化目录(**仅环境变量可设**)
旧镜像路径 `/migu/data` 继续兼容:新路径无数据、旧路径有数据时自动沿用旧路径 | | madminPath | admin | string | 管理页面自定义路径,如填 `console` 则用 `/console` 访问后台(`/admin` 失效)
保留字 api/player/favicon.ico 与非法值会回退 admin | | muserId | | string | 咪咕模块的账号 ID(仅需高画质 / 会员内容时配置)
**推荐改在后台模块卡片里配置**(附书签工具一键获取) | | mtoken | | string | 咪咕模块的登录 token(同上) | | mrateType | 3 | number | 咪咕模块画质
2: 标清 (480p)
3: 高清 (720p)
4: 蓝光 (1080p,需VIP)
7: 原画 (1080p+,需VIP)
9: 4K (2160p,需VIP) | | mbiliSessdata | | string | 哔哩哔哩模块的登录态 SESSDATA(不填限「超清」,填了解锁「原画」)
**推荐改在后台模块卡片里扫码登录** | | mBtimeCookie | | string | 北京时间站点登录 Cookie(仅北京 9 个电视频道需要;公开活动 / 慢直播免登录)
**推荐改在后台「源管理 → 北京广播电视台」配置** | | TIANJIN_WISE_AK / TIANJIN_WISE_SK / TIANJIN_WISE_3DES_KEY | 内置 | string | 天津模块的津云 App 应用参数,平台更换参数时覆盖用,平时不用设 | | menableHDR | true | boolean | 是否开启 HDR(vivid/4kvivid)
设 `false` 关闭 | | menableH265 | true | boolean | 是否开启 H.265 原画
有兼容性问题(如只有声音没画面)时设 `false` 关闭 | | menableClientDispatch | false | boolean | 客户端就近取流:**服务器与观看设备不同运营商**导致抓取频道跨网卡顿 / 播不了时设 `true`
同网部署无需开启 | | mupdateInterval | 8 | number | 节目单 / 源更新间隔(小时),不建议过短 | | mexternalLogoBase | 空(不配) | string | 频道**没有可用的自带台标**时,按频道名到公共台标库兜底取图的基址。默认不配:台标库是别人维护的,不替你引入
用 taksssss 台标库就填 `https://gcore.jsdelivr.net/gh/taksssss/tv@main/icon/`(索引会自动带上);换成其它库需保证 `<基址><频道名>.png` 可访问。本地 `logos/` 里的图始终优先 | | mexternalLogoIndex | 跟随 `mexternalLogoBase` | string | 台标库的「频道名 → 图片」索引地址。有索引才知道库里到底有没有这张图:没有就不给这个台标,而不是写一个必定 404 的地址(裂图)
索引每 7 天下载一次并落盘缓存,拉不到时自动退回按名兜底。`mexternalLogoBase` 填的是上面那个 taksssss 地址时自动带上它的索引,其它库默认关闭(别人的清单对不上你的库);留空同样关闭 | | menableLogoCache | true | boolean | 台标本机托管:每轮更新把要用的台标下载到数据目录 `logo-cache/`,逐张确认是图片后由本机提供,播放器不再直连各台图床与台标库;源自带的台标坏了(404、不是图片)自动换下一个来源。设 `false` 退回直接写原台标地址 | | mrefreshToken | true | boolean | 是否每月自动续期平台 token
**可能导致封号**,可设 `false` 关闭 | | mblank | false | boolean | 空白模式总开关,设 `true` 后下面三项内容开关**默认翻转为关**
细粒度开关显式设值时优先于本项 | | menableMigu | true | boolean | 是否启用咪咕抓取模块(CCTV/卫视 + 体育赛事 + EPG)
设 `false` 后**体育赛事、回看、对应 EPG 不可用** | | menableBuiltInSources | true | boolean | 是否启用内置单频道源(纬来体育 / Red Bull / 4K 卫视 等) | | menableBuiltInSubscriptions | true | boolean | 是否启用内置订阅源(精选频道)
已添加的可在「源管理」删除,删后不复活 | > 除 `mdataDir`/`mport` 外,多数项也可在后台修改(模块项在「🌐 源管理」,平台级项在「设置」页),保存即时生效(端口与更新间隔需重启)。**升级用户**:环境变量与旧配置继续有效,首次启动自动迁移,无需改动。
### 📺 多套配置档(给不同电视各一套) 后台「📺 我的频道」标题行右侧可新建 / 切换配置档,每档独立维护隐藏 / 分组 / 排序 / 重命名,互不影响;每台电视填各自的地址(每档底部可复制),如 `http://你的IP:1905/interface.m3u?profile=woshi`。各档共享同一份底层频道与 EPG,新增电视不增加抓取成本;默认档地址不变、老用户零感知。 ### 🧹 空白部署 / 纯频道管理 只想用自己的源时,用内容开关关掉自带内容(也避免同名分组撞车): | 需求 | 配置 | | --- | --- | | 彻底空白,自己加源 | `mblank=true` | | 空白但保留抓取核心 | `mblank=true` + `menableMigu=true` | | 只去掉自带的额外源 / 订阅 | `menableBuiltInSources=false` + `menableBuiltInSubscriptions=false` | | 只要央视频 + 凤凰卫视 + 咪咕(精简) | 后台「🌐 源管理 → 内置抓取模块」点「批量开关」只勾这三项,步骤见下方「精简示例」 | 也可在后台「🌐 源管理」直接开关各卡片,或在「内置抓取模块」页用「批量开关」一次勾好要保留的模块和内置源,保存即时生效。关闭 `menableMigu` 后体育赛事、回看与对应 EPG 不可用,属预期表现。 #### 精简示例:只留央视频、凤凰卫视、咪咕 只想要这三个来源时(issue #189),不必把模块卡片逐个点关: 1. 进入后台「🌐 源管理 → 内置抓取模块」,点筛选栏最右侧的「批量开关」; 2. 点「全不选」,再勾上「央视频」「凤凰卫视」「咪咕视频」;清单最下面「内置源」一节的「内置单频道源」「内置订阅源(精选频道)」保持不勾; 3. 点「应用」。 一次保存、即时生效,播放列表随即重新生成。关掉的模块只是不再抓取,配置和登录凭证原样保留,以后在「批量开关」或卡片上勾回即可恢复。批量开关只是一次写多张卡片的开关,没有另设白名单,每张卡片仍是它自己的唯一开关。 **全新部署**也可以用环境变量起步:`mblank=true` + `menableMigu=true`,首次启动后只有咪咕开着(两项内置源也是关的),再到「🌐 源管理」打开「央视频」「凤凰卫视」两张卡片即可。注意 `mblank` 只在全新部署(空数据目录)**首次启动**时把模块卡片一次性关掉,之后只决定咪咕和两项内置源的默认值、不再影响模块卡片;已在用的部署想精简,请用上面的「批量开关」。 几点说明: - 「央视频」分组除央视全套、CGTN 外还含全国主要省级卫视。不需要的在「📺 我的频道」逐条隐藏,或用「🚫 屏蔽规则」按名字长期屏蔽(如一条含「卫视」的规则盖住一批;按名屏蔽不分来源,咪咕里名字命中的台也会一起隐藏)。 - 凤凰卫视的三个台归入「香港」分组,想换个名字就在「📺 我的频道」重命名该分组。 - 自己添加的源(包括「来源于网络」列表)属于「自定义源」,不在批量开关里,到「🌐 源管理 → 自定义源」逐个启用或停用。 - 「公告」分组固定在首位,不想看可在「📺 我的频道」逐条隐藏。 - 只想给某一台电视精简、其它电视保持完整:新建一个配置档,在配置档弹窗里点该档的「源」,把这三个以外的来源逐个取消勾选(每次取消即时保存)。这份清单是排除名单,以后新增的模块或源默认也会出现在这一档,需要时再取消;它只改变这一档显示什么,其它模块照常抓取,不省服务器资源。 ### 📡 公网地址 (mhost) 反向代理 / 域名访问 / 对外分享时填写(如 `http://yourdomain.com:1905`),仅内网使用留空即可。系统自动按访问来源选择播放列表里的地址:内网访问用内网地址,反代访问(带 `X-Forwarded-For`)用配置的公网地址;填 `http(s)://` 完整地址时不会强制补端口。 ### 🔐 访问密码 (mpass) 设置后所有服务都要在 URL 带密码路径:`http://ip:port/密码/interface.m3u`、`http://ip:port/密码/admin` 等,播放列表内的频道链接自动注入密码路径,未授权访问返回 403。 ### 🔧 本地运行(不用 Docker) 需要 Node.js 20+(推荐 22 LTS);部分平台的频道需要中国大陆网络环境。 ```bash git clone https://github.com/akiralereal/iptv.git && cd iptv node app.js ``` 环境变量与 Docker 同名同义,例如:`mport=1905 mhost="http://localhost:1905" node app.js`(Windows PowerShell:`$Env:mport=1905; node app.js`)。 --- ## 更新日志 每个版本改了什么见 [CHANGELOG.md](CHANGELOG.md),也可以在 [GitHub Releases](https://github.com/akiralereal/iptv/releases) 查看;最新一版的内容在页面顶部「当前版本更新内容」。 --- ## 💖 支持项目 如果 iPTV 为你的家庭影音体验带来了帮助,欢迎点亮一个 ⭐ Star、分享给朋友,或通过以下方式支持项目继续维护。 > 赞助均为自愿捐赠,不代表任何授权或合作;项目不接受来自商业售卖收益的赞助,详见[项目立场](#-项目立场)。
❤️ GitHub Sponsors ☕ Ko-fi 💰 USDT (TRC20)
GitHub Sponsors Ko-fi USDT TRC20 QR Code
TArpwDgewYSFCYX6XoJ6drwpEU6UGBw5yq

⚠️ 仅支持 TRON (TRC20) 网络,请勿使用其他网络
Only via TRON (TRC20) network
--- ## 📌 项目立场 iPTV 是为个人学习、研究和家庭自用而做的非营利项目,**不是为了卖钱**。 - **不支持、不参与任何商业售卖。** 包括把本项目或其修改版连同频道源预装进电视盒子、电视棒等设备出售,或以本项目为基础售卖订阅、账号或"包年直播"服务。频道与节目内容有各自的权利人,未经授权预装售卖可能构成侵权甚至违法,相关责任由售卖者自行承担。 - **不接受售卖方的赞助。** 对来自上述商业售卖收益的赞助,项目会婉拒;已收到的任何赞助都是自愿、无条件的捐赠,不代表项目认可、授权或参与赞助者的任何产品或经营行为。 - **不得冒用项目名义宣传。** 请勿使用「iPTV」项目名称、仓库链接、台标或作者身份,暗示商品或服务获得了「官方授权」「官方合作」或「官方版本」。 - **与开源许可的关系。** 本节是项目维护者的立场声明,不是对 [GPL-3.0](#-开源许可) 的附加限制;代码层面的权利义务以 GPL-3.0 为准,第三方内容的使用边界见下方[免责声明](#-免责声明)。 --- ## ⚖️ 免责声明 > [!WARNING] > - 本仓库代码按 [GPL-3.0](#-开源许可) 授权,许可证之外**不附加任何使用限制**:GPL 允许出于任何目的使用、修改与再分发(含商业用途),条件只有遵守 GPL 条款。以下各条针对的是经本软件接触到的第三方内容、数据与账号的权利,属于法律与合规提示,**不是对软件本身的附加许可条件**。 > - 不得将未获权利人授权的第三方频道与节目内容用于**售卖订阅、公开转播、商业运营或其他未经授权的用途**;这一限制来自内容权利人与所在地法律,与软件许可证无关。 > - 本项目提供的是频道管理、地址解析与代理分发软件;除项目自制的使用公告短片外,项目服务器不托管第三方音视频节目。仓库及运行时可能包含或获取公开可访问的播放地址、频道名称、台标与节目单元数据。公开可访问、技术上可播放或经过可用性检查,均**不等同于内容属于公有领域或已获得复制、传播、转播及商业使用授权**。 > - 音视频内容、频道标识、平台名称和商标的权利归各自平台、制作者及其他权利人所有;文中提及第三方名称仅为说明兼容性,不表示合作、认可、授权或隶属关系。项目的 GPL-3.0 许可只适用于本仓库代码,**不授予任何第三方内容、商标、接口或数据的使用权**。 > - 使用者应自行确认所在地区法律、内容授权范围和各平台用户协议,只接入本人拥有、合法订阅或已获明确授权的来源。不得利用本项目未经授权绕过登录、付费、DRM、地域限制或其他访问控制,不得共享、盗用或转售账号与凭据。 > - 互联网来源可能随时变更、下架或被限制,项目不对其合法性、准确性、持续可用性或适销性作任何保证。部署者对其添加、启用、公开访问和转发的来源承担全部责任;如无法确认权利状态,请关闭对应模块或使用 `mblank=true` 从空白配置开始。 ### 📮 版权与侵权处理 如果你是内容权利人或其合法代理人,并认为本仓库收录的某个地址、频道元数据或抓取规则侵犯了你的合法权益,请通过 [GitHub Issue](https://github.com/akiralereal/iptv/issues/new) 提交通知,标题注明「版权 / 侵权」,并尽量提供: 1. 权利人及联系人身份、有效联系方式,以及代理关系说明(如适用); 2. 涉嫌侵权的具体作品、频道、URL、仓库文件或模块名称; 3. 权利归属或授权范围的必要证明; 4. 希望采取的处理方式,以及你确认通知内容真实准确的声明。 项目维护者收到信息完整、能够明确定位的通知后,会在合理时间内核验,并视情况移除地址、停用抓取规则或采取其他必要措施。请勿在公开 Issue 中提交身份证件、账号密码、Cookie、Token 等敏感信息;需要补充非公开材料时,可先在 Issue 中留下不含敏感信息的联系方式。 ## 📄 开源许可 本仓库代码以 **GNU General Public License v3.0**(SPDX 标识 `GPL-3.0-only`)授权,全文见 [LICENSE](LICENSE)。Copyright © 2026 Akira Le。 这意味着: - **可以**出于任何目的使用、运行、研究和修改本软件,也可以再分发,包括商业用途;许可证之外不附加任何使用限制。 - **分发修改版或衍生作品时**(包括以 Docker 镜像等形式分发),须同样以 GPL-3.0 授权并提供对应源代码,保留原有版权与许可声明,并注明所做修改。只在自己的服务器上运行修改版而不对外分发,不触发此义务。 - **许可证只覆盖本仓库的代码。** 通过本软件整理或获取的播放地址、频道名称、台标、节目单以及音视频内容,权利归各自权利人所有,GPL-3.0 不授予它们的任何使用权;相关合规提示见[免责声明](#-免责声明),那些提示是法律与内容权利层面的说明,不是对本软件的附加许可条件。 本项目使用的第三方组件及其许可证: | 组件 | 用途 | 许可证 | |---|---|---| | [undici](https://github.com/nodejs/undici) · [node-fetch](https://github.com/node-fetch/node-fetch) | HTTP 请求 | MIT | | [puppeteer](https://github.com/puppeteer/puppeteer) | 无界面浏览器,供需要执行网页脚本的抓取模块使用 | Apache-2.0 | | [qrcode](https://github.com/soldair/node-qrcode) | 后台扫码登录二维码 | MIT | | [hls.js](https://github.com/video-dev/hls.js) · [mpegts.js](https://github.com/xqq/mpegts.js) | 网页播放器解码 | Apache-2.0 | | [DPlayer](https://github.com/DIYgod/DPlayer) | 网页播放器界面 | MIT | 以上许可证均与 GPL-3.0 兼容。mpegts.js 随仓库一起分发,其许可证文本见 [web/vendor/mpegts-LICENSE.txt](web/vendor/mpegts-LICENSE.txt);其余组件由 npm 或 CDN 引入,许可证随各自软件包提供。