
声明:本开源项目仅限个人学习测试使用,禁止商用与对外大规模分发,请遵守国家网络相关法律法规。
我以前存过不少 M3U 直播源,刚收藏的时候看着都挺全,过几天再打开,黑屏和失效就开始一个接一个出现。
最麻烦的不是偶尔坏一两个频道,而是整份订阅都依赖别人维护。域名一换、接口一改,电视、手机里原来的链接就一起失效,然后又得重新找源、重新导入。频道越攒越多,真正花时间的反而成了“维护这份列表”。
与其继续攒链接,我更想要一套自己能管理的直播入口。iPTV 的思路和单纯存一份静态 M3U 不一样,它把不同来源拆成模块,由自己部署的服务去管理频道和订阅。
我把它放到家里的 Docker 环境里,先让电视、手机和电脑在局域网里共用一套入口,再解决离开家以后怎么继续访问。对我来说,重点不是“频道数量多”,而是不用隔三差五重新给全家设备换订阅地址。



iPTV是一套模块化自托管私有直播系统,区别于网上直接汇总整理好的静态M3U文件。它的工作逻辑为主动抓取各大平台公开直播资源,将不同来源拆分为独立模块运行。

这种模块化架构带来最核心的优势:单个资源模块接口异常时,仅对应部分频道受影响,其余频道可以正常工作,不会出现整套源批量失效、整体崩溃的情况。

项目原生仅支持局域网内部访问。在家庭WiFi环境下,电脑、电视、手机均可正常使用;离开本地局域网,便无法直接访问服务,该问题可以通过内网穿透工具cpolar解决。

部署前电脑需要安装Docker Desktop,完成安装后确认Docker服务处于正常运行状态。
接着我在windows上面打开终端,ssh进入群晖里面

1.打开Windows PowerShell终端,执行命令,创建项目数据存储目录:
mkdir -p /volume1/docker/akiralereal/data
2.切换至刚刚创建的工作目录:
cd /volume1/docker/akiralereal
3.执行容器启动命令,拉取镜像并运行iPTV服务:
docker run -d --name=iptv --restart=unless-stopped --init -p 1905:1905 -v $(pwd)/data:/iptv/data -e mport=1905 akiralereal/iptv:latest
等待镜像下载与容器初始化完成。部署完成后,在浏览器输入本地地址127.0.0.1:1905/admin,即可进入iPTV的Web管理后台。局域网其他设备访问,将127.0.0.1替换为部署主机的局域网IP即可。

进入Web后台之后,可以对整套直播系统进行完整的管理配置。




将后台复制的M3U链接导入播放器即可播放。电脑端推荐PotPlayer,电视、盒子设备推荐TVBOX。

复制后台生成的 M3U 链接,粘贴到播放器就直接开看!

导入完成后,局域网内所有设备都可以流畅播放高清直播内容。

重要说明:当前服务仅限家庭局域网访问。外出使用移动网络时,无法直接连接本机部署的iPTV服务。想要实现外网访问,传统方式需要申请公网IP,配置路由器端口映射,配置复杂度高,同时存在网络安全隐患。下文将介绍借助cpolar实现外网远程访问的完整方案。
cpolar是一款内网穿透工具,核心作用是将本地运行的服务映射至公网网络,无需公网IP,无需修改路由器配置,即可实现外部网络访问本地服务。

cpolar免费版本提供随机公网域名,但域名每24小时会自动变更。对于iPTV这类长期使用的服务,域名频繁变化会导致M3U订阅链接失效,每次外出使用都需要重新获取链接,使用体验较差。如果需要长期稳定使用,建议升级套餐获取固定二级子域名,域名一经保留不会变动,M3U订阅链接可以长期复用,适配长期观看直播的使用场景。
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

登录cpolar网页管理后台,选择【预留】-【保留二级子域名】;地区选择china top,自定义域名名称,确认保留。

复制生成的二级子域名回到配置界面

进入cpolar本地WebUI,选择隧道管理,点击创建隧道。
iptv-service1905(iPTV服务端口)china top 完成参数填写后点击创建。
在【在线隧道列表】页面,查看隧道生成的公网访问地址。

进入iPTV后台设置页面,把cpolar生成的公网地址填入公网地址输入框,保存系统设置。

配置完成之后,即可通过两套地址访问服务:
你的固定二级子域名/admin你的固定二级子域名/m3u
无论身处何地,只要设备具备网络,导入固定M3U链接,就可以远程使用整套私有iPTV直播系统。固定域名不会随机变更,一次配置之后无需反复修改订阅链接。

iPTV 跑起来以后,我最明显的感受是:直播源终于从“到处找来的链接”变成了一套自己能维护的服务。
家里的电视、手机和电脑可以共用同一套订阅入口,频道调整也不需要每台设备分别处理;再配上固定的公网地址,人在外面时也能继续使用同一套配置。
这类项目最适合解决的,其实就是长期维护问题。频道多只是表面,真正省心的是以后不用因为一条 M3U 链接失效,就把所有设备重新折腾一遍。
本项目仅用于个人学习测试,请遵守相关网络法律法规,不用于商业传播或大规模分发。