自建IPTV源部署说明

背景

每到过年回家,IPTV 的使用总是让人头疼,去年能用的 IPTV 源,今年大多失效了。不过,最近发现了一个有趣的 docker 项目 ——ALLINONE(作者是肥羊),通过它可以自建 IPTV 源。自建完成后,配合派大星直播 APP 就能观看直播。你既可以参考 [allinone 使用说明] 自行部署,也可以按照下面的详细步骤操作。

自建IPTV源之后,可以配合派大星直播APP观看直播。

派大星直播APP配合直播源搞定IPTV

准备材料

  1. 设备:一台能联网且可运行 docker 的设备,内网服务器、openwrt 软路由等都可以。我自己用的是刷了 istoreos 系统的 H28K 设备进行部署。
  2. 软件:需要安装 telegram,它在获取相关参数时会用到。

操作说明

一,生成ALLINONE的部署命令并部署

这一步的关键是获取 Userid 和 Token 参数。
  1. 生成 AES 密钥:在ALLINONE 部署指令生成器页面,根据自身情况选择系统、架构、路由模式以及是否启用 TV 模式,然后点击生成 AES 密钥。比如系统选 Linux,allinone 架构(仅对二进制部署生效,Docker 部署随便选)选 arm64,路由模式除旁路由部署外选主路由模式,TV 模式根据服务器流量情况决定是否启用。
  2. 获取 Userid 和 Token:前往 ALLINONE 鉴权机器人获取根据 AES 密钥生成的 Userid 和 Token 。在机器人聊天框中,使用命令/generate,并输入刚刚生成的 32 位 AES 密钥,之后会得到 Userid 和专属 Token ,点击内容区域自动复制。
  3. 生成部署命令:回到 ALLINONE 部署指令生成器页面,将获取的 Userid 和 Token 填入对应输入框,点击生成命令,复制生成的 docker 运行命令。命令例如:
docker run -d --restart always --privileged=true -p 35455:35455 --name allinone youshandefeiyang/allinone -tv=true -aesKey=xyfb6fjojf9v4jeqp929lmjb5z1ose83 -userid=获取的userid -token=获取的token

 

  1. 部署 ALLINONE docker:进入设备(如 H28K)的终端界面,执行上述复制的 docker 运行命令。
  2. 获得 M3U:访问http://你的IP:35455/tv.m3u(如果是 H28K,就是http://192.168.100.1:35455/tv.m3u),这就是 M3U 直播源地址。若 IPTV 软件支持 M3U 格式,可直接使用;若只支持 txt 格式,则需进行格式转换。

二,部署自动更新

为了确保 docker 能自动更新,保持直播源的有效性,需要配置 watchtower 自动监听 allinone 镜像更新。在终端执行以下命令:

docker run -d --name watchtower --restart=always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower allinone  --cleanup --interval 3600

其中,interval 3600表示每 3600 秒(即 1 小时)查询一次 docker 是否有更新,这一步很重要,因为直播源经常需要维护。

 

三,直播源格式转换

如果你直播APP需要txt格式的源地址,那么可以部署直播源格式化工具。

  1. 部署直播源格式化工具:在设备(如 H28K)中部署 docker,执行命令:
docker run -d --restart=unless-stopped --pull=always -v /etc/allinone_format:/app/config -p 35456:35456 --name allinone_format yuexuangu/allinone_format:latest

部署完成后,访问配置页面http://内网IP:35456/(对于 H28K 是http://192.168.100.1:35456)。
2. 转换直播源地址:在配置页面填写之前获取的 M3U 地址,保存后查看订阅源。填写时要注意格式要求:不能为空,必须是 http 或 https 协议,不能使用本服务的端口(35456),支持带反向代理参数。
3. 获取订阅源:在配置页面查看订阅源,就能得到 txt 格式的订阅源,将其配置到派大星 APP 中即可使用。

派大星直播APP配合直播源搞定IPTV

 

后记

完成上述操作后,总共会创建三个 docker 容器,分别是allinone_formatallinonewatchtower,可在相关的 Docker 管理界面查看容器状态、网络、端口等信息。

THE END