收起左侧

运营商IPTV组播转单播,生成M3U,用于飞牛看直播

22
回复
7515
查看
[ 复制链接 ]

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-12 21:24:31 显示全部楼层 阅读模式

本方案只是提供思路与方向,编辑时出于自身隐私考虑复用了当时教程上的图片,就当是技术的搬运工了,也并非自己原创。

另外环境是浙江电信IPTV

好现在开始方案内容:

1.方案思路,是将电信套餐带的IPTV,从组播转换至单播在内网或特定服务提供到外网服务

2.大致过程,抓包-分析账号密码,分析直播源,通过udxy转换到内网播放

3.我实现的平台,openwrt,当然如果会操作带iptv功能的路由器基本都能这么干

现在开始实际操作

此文主要记录使用旁路op做iptv服务器提供组播服务

一、 环境条件:

  1. all in one ,PVE虚拟化底层,爱快做主路由op作为旁路由科学上网,额外再虚拟了一个OP做iptv服务器使用,fnos做nas跑docker版jellyfin。当然想要科学上网和iptv一起也是可以的,就是设置起来比较麻烦,还要弄个负载平衡。

2.加了一张USB网卡做IPTV接口(当然想用VLAN的小伙伴增加一个VLAN设置就行)vmbr4就是增加的USB网卡

image.png

二、 数据获取
此次主要需要获取的数据有以下几个,iptv的机顶盒mac ,组播地址,dhcp+协议的账号明文和加密的密码。

  1. 抓包及获取组播表
    使用的设备:Wireshark软件、笔记本或者台式机、IPTV盒子、Hub交换机(某宝搜5口镜像交换机)如下图所示。也可以用两块有线网卡做桥接抓包。
    image.png
  2. 设备的连接
  1. 首先IPTV盒子通电,用HDMI连接到电视上,然后网口接Hub交换机的3、4、5这三个口的任意一个口。
  2. 笔记本通电开机,笔记本电脑的网口接Hub镜像交换机的2号口,笔记本电脑的IP地址为自动获取。
  3. Hub镜像交换机通电,光猫的iTV端口接Hub镜像交换机的1号口。
    如下图所示
    image.png
  1. 抓包流程
  1. 电脑打开Wireshark 软件,选择抓包的网络连接,这里我们选择本地网卡,因为我们本地网卡连接了Hub的2号接口,所以我们选本地连接。

  2. Wireshark开始抓包,同时打开IPTV盒子并等待IPTV盒子进入系统,随便选择几个频道观看一下,然后在Wireshark中停止抓包。

  3. 停止抓包后,把抓取到的数据保存到本地。在Wireshark 上面的菜单栏中选择『文件』→『保存』,就保存为一个后缀为“pcapng”格式的本地文件了。
    image.png

    image.png

    image.png

  1. 抓包数据分析
  1. 用Wireshark打开刚才的“pcapng ”文件,然后在软件工具栏下面有个“过滤器工具栏”,在文本框中输入“http”,软件会过滤出http的协议内容。
    image.png
  2. 出来“http”协议的内容后别急,电脑上按下CTRL+F键,会在第一步中的“过滤器工具栏”下方出现一个查找框,在下图的左数第二个红框中下拉选择“字符串”,在左数第三个红框用输入我们要查找的关键字“channel”。
    image.png
  3. 进行关键字“channel”查找后,软件就自动搜索出“channel”相关的数据流了。
  4. 在软件右侧的“info”这一列,找到有关“HTTP/1.1 200 OK (text/html)”字样的数据行,随便哪一条都行,用鼠标选中它这一行数据,在菜单栏中选择『文件』→『导出对象』→『HTTP』。
    image.png
  5. 这时候会弹出一个对话框,里面有很多文件,往下拉,在“文件名”一列中找到有“fgetchannellistHWCTC.jsp”这样字样的文件,此处盗用他人图片仅作参考
    image.png
  6. 把这个“getchannellistHWCTC.jsp”文件保存到本地并用记事本打开,往下拉再往下拉,就会看到频道列表了。
    image.png
  1. 从抓包信息获取鉴权信息欺骗iptv组播服务器
    image.png

包抓到了,我们来看下dhcp discover请求里,包含了option12跟60两个关键的信息,也就是说浙江电信iptv只认证盒子序列号跟**密码,当然了,mac是也是必须的,我们先把盒子的mac保存下来备用。
image.png

option12这个数据,明文,盒子的序列号,复制出来备用
image.png

再来看一下option60,也就是包含了iptv**密码的数据,想都不用想了,肯定是加密的
image.png

其中hex的3c表示的是option60,3d表示的是长度,所以我们只要从00开始,把这个数据保存好备用,格式:0000if39.....两位一个长度,我这里长度是61,所以一共有122个字符串,大家别漏了。保存好
三、 Op安装及设置

  1. PVE下安装op这个详细见其他教程,此处不写了。
  2. 配置op,首先先只设置一张lan的网卡,USB网卡先不设置
  3. 进入op,设置网关为爱快的ip,DNS设置一个(后期这两个都要删除的,但是如果先不设置则插件需要本地上传不能联网安装),进SSH安装几个插件:
  1. opkg update
  2. opkg install igmpproxy udpxy tcpdump luci-app-udpxy
  1. 添加接口,首先关闭op,在PVE下增加一张网卡给op,并设置好mac地址和机顶盒一致(或者进入系统后也可以改mac地址)
    image.png
  2. 重启op后进入op删除WAN和wan6,添加IPTV端口,使用新增的网卡eth1,由于浙江电信是IPOE,也就是DHCP+的鉴权模式,所以IPTV我选择用DHCP客户端,网络设置。也可以在iptv设置里修改mac地址。此处需要删除lan端口的DNS和网关,留为空白。也可以在配置端口里修改这两项
    image.png
  3. 编辑配置端口:
  1. 配置igmpproxy:
    ssh命令vi /etc/config/igmpproxy,接口名称和上面图片里显示的对应
    image.png
  2. UDPXY配置
    Ssh命令vi /etc/config/udpxy
    image.png

其中4000这个端口号根据自己喜好来就行
3) 防火墙配置
SSH命令 vi /etc/config/firewall
添加以下三项,第一项是有的,直接改接口名称,红字部分注意
config rule
option name 'Allow-IGMP'
option src 'eth1'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'

config rule
option name 'Allow-UDP-udpxy'
option src 'eth1'
option proto 'udp'
option dest_ip '224.0.0.0/4'
option target 'ACCEPT'

config rule
option name 'Allow-UDP-igmpproxy'
option src 'eth1'
option proto 'udp'
option dest_ip '224.0.0.0/4'
option dest 'br-lan'
option family 'ipv4'
option target 'ACCEPT'

  1. Lan口igmp_snooping配置
    SSH命令 vi /etc/config/network的lan下面增加
    option igmp_snooping ‘1’

现在就可以通过http://192.168.x.x:4000/status来查看udpxy的运行状态了
image.png

  1. 其它设置
    a) udpxy启动:/etc/init.d/udpxy start
    b) 开机启动:/etc/init.d/udpxy enable
    c) 重启所有接口:/etc/init.d/network restart
    d) 重启某个接口:ifdown lan 或者 ifup lan
  1. 配置网口
  1. 先删除op lan内的DNS和网关,关闭DHCP。可以vi /etc/config/network 找到lan项目删除对应内容即可。IpV6禁用:
    image.png

    image.png

  2. Webui内udpxy配置

此处端口可以自己定义和之前文本修改4000是同一个,重点是bind IP必须要填写 WAN口名称必须对应。
image.png

image.png

  1. 设置iptv明文和加密文获取点播回放等功能
  1. 重设IPTV口的mac地址,直接把机顶盒的mac地址填入,也可以在PVE虚拟化的时候网卡设置里吧mac地址填入。则这边就不用改了。
    image.png
  2. .修改/etc/config/network中的IPTV参数
    image.png

其中option hostname 'XXXXX'填入我们抓包抓到的option12的明文信息,也就是机顶盒的序列号信息
option sendopts '0x3c:00001f39.....'这个需要讲一下,因为option60是加密信息,我们抓包抓到的是16进制的信息,所以我们只能把抓到的信息原模原样发回去,所以用sendopts来发送,具体的用法可以自行查看udhcpc的用法说明。后面的0x3c,0x3c表示的是十六进制,也就是十进制的60,也就是我们发送option60信息。后面的00001f39.....就是上面抓包我让你们保存的option60的信息。
3) 修改dhcp客户端服务的脚本:
我们找到/lib/netifd/proto/dhcp.sh,找到下面这行​{vendorid:+-V "vendorid"}
image.png

改成这样 -V ''
image.png

然后我们重启一下IPTV接口,见证奇迹的时刻来临了,我们成功拿到了电信IPTV的IP。
四、 组播服务器配合jellyfin播放设置

  1. 组播文件m3u提取
  1. 使用notepad++正则替换处理生成m3u文件类似下图
    image.png

其中地址应该为http://192.168.x.x:4000/udp/组播分析地址

原始教程里我用的是jellyfin 思路一样就是在飞牛APP里添加M3U的播放库就可以了,jellyfin的好处是还能录播
2) 打开jellyfin,配置中心-控制台-电视直播-调谐器设备边上+号点开
image.png

  1. 选m3u tuner,然后在文件或网址处打开预先导入jellyfin硬盘的处理过的m3u文件
    image.png
  2. 根据情况添加电视指南数据提供方
    image.png

自此结束,大家可以愉快的随时随地通过jellyfin观看电视直播了

收藏
送赞 5
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

7

主题

101

回帖

0

牛值

fnOS系统内测组

fnOS1.0上线纪念勋章飞牛百度网盘玩家AMD适配纪念勋章

2026-6-13 08:32:56 显示全部楼层

好麻烦,听说爱快路由器就可以直接转播

永远相信美好的事情即将发生

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-13 11:12:03 楼主 显示全部楼层
爱快也得有iptv账号密码,另外主路同时做的话要么设置跳跃要么设置分流,也麻烦的
爱快设置还是挺简单的,选一个网口绑定成WAN2,模式选自动获取地址,把机顶盒抓包的数据填好,再在组播管理里面把WAN2口转发出去就好了  详情 回复
2026-6-15 13:58

20

主题

66

回帖

0

牛值

初出茅庐

2026-6-15 13:58:35 显示全部楼层
arkclover 发表于 2026-6-13 11:12
爱快也得有iptv账号密码,另外主路同时做的话要么设置跳跃要么设置分流,也麻烦的 ...

爱快设置还是挺简单的,选一个网口绑定成WAN2,模式选自动获取地址,把机顶盒抓包的数据填好,再在组播管理里面把WAN2口转发出去就好了

0

主题

3

回帖

0

牛值

江湖小虾

2026-6-15 14:19:34 显示全部楼层

是把iptv数据用udpxy转发,openwrt,fnos,群晖,啥都可以的,docker装udpxy就可以了。对我来说难点是单线复用,最后还是跟楼主一样,加一个网卡解决。

8

主题

27

回帖

0

牛值

初出茅庐

2026-6-15 17:33:42 显示全部楼层

udp好像在飞牛影视最新的不行

5

主题

131

回帖

0

牛值

初出茅庐

2026-6-15 23:37:34 显示全部楼层
都是浙江电信,我想询问以下,我如果不想单独做个openwrt,目前我的openwrt已经有双线,电信+移动,我想是不是可以利用vlan,在现在的openwrt里单独做个iptv的,还是必须单独在虚拟一个openwrt?我如果全部使用vlan,该怎么设定呢?
可以用VLAN,光猫这边你要看iptv的vlan号 我记得好像是41,另外主路由复用的话,做好跳跃  详情 回复
2026-6-18 17:58

7

主题

55

回帖

0

牛值

初出茅庐

2026-6-16 21:23:46 显示全部楼层

如何抓取源 有教程吗?可以自动化吗?我爸妈住14楼,网络是ac+ap 用的tplink的iptv网线复用,如何抓取,我住11楼,也是ac+ap,宽带是2条分开的!有没有办法自动抓取 然后推送到nas

仔细看全教程,第一步就是抓源,同时找到IPTV的账号和密码  详情 回复
2026-6-18 18:00

7

主题

27

回帖

0

牛值

社区鸿蒙内测组

2026-6-17 01:40:36 显示全部楼层

好像必须加一个网口,我想使用VLAN 折腾3天没搞定 最后还是增加一个网口,拨号上网一个,iptv一个

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-18 17:58:42 楼主 显示全部楼层
moneycwq 发表于 2026-6-15 23:37
都是浙江电信,我想询问以下,我如果不想单独做个openwrt,目前我的openwrt已经有双线,电信+移动,我想是 ...

可以用VLAN,光猫这边你要看iptv的vlan号 我记得好像是41,另外主路由复用的话,做好跳跃
那我就详细回忆一下,首先要进光猫的超级管理员账号,找到网口配置这里,浙江电信vlan41是上网,43是IPTV,在界面中对于你路由接的光猫口要同时选中VLAN41和VLAN43.然后进openwrt里分别设置vlan41的wan口设置为PPPOE  详情 回复
2026-6-26 23:21
能不能详细说说,不太懂啊  详情 回复
2026-6-19 01:51

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-18 18:00:08 楼主 显示全部楼层
fanyan1026 发表于 2026-6-16 21:23
如何抓取源 有教程吗?可以自动化吗?我爸妈住14楼,网络是ac+ap 用的tplink的iptv网线复用,如何抓取,我 ...

仔细看全教程,第一步就是抓源,同时找到IPTV的账号和密码

5

主题

131

回帖

0

牛值

初出茅庐

2026-6-19 01:51:42 显示全部楼层
arkclover 发表于 2026-6-18 17:58
可以用VLAN,光猫这边你要看iptv的vlan号 我记得好像是41,另外主路由复用的话,做好跳跃 ...

能不能详细说说,不太懂啊
等周末我再详细去翻翻当时的单线复用教程吧,好久了忘记了  详情 回复
2026-6-22 22:27
2026-6-20 01:39:03 显示全部楼层

飞牛不支持udp

1

主题

288

回帖

0

牛值

小有名气

2026-6-22 15:47:32 显示全部楼层

软路由加块网卡,对接光猫IPTV口拿取IPTV内部的地址, 装软件go2rts,对接当地的IPTV播放地址

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-22 22:27:54 楼主 显示全部楼层
moneycwq 发表于 2026-6-19 01:51
能不能详细说说,不太懂啊

等周末我再详细去翻翻当时的单线复用教程吧,好久了忘记了

0

主题

1

回帖

0

牛值

系统先锋体验团🛩️

2026-6-26 01:15:24 显示全部楼层
能不能简单一点的呀
除非你能拿到IPTV的账号密码,浙江是DHCP+鉴权模式,抓包已经是必须要做的动作。  详情 回复
2026-6-26 23:22

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-26 23:21:10 楼主 显示全部楼层
arkclover 发表于 2026-6-18 17:58
可以用VLAN,光猫这边你要看iptv的vlan号 我记得好像是41,另外主路由复用的话,做好跳跃 ...

那我就详细回忆一下,首先要进光猫的超级管理员账号,找到网口配置这里,浙江电信vlan41是上网,43是IPTV,在界面中对于你路由接的光猫口要同时选中VLAN41和VLAN43.然后进openwrt里分别设置vlan41的wan口设置为PPPOE上网(如果已做桥接的话,没有就DHCP就行),设置一个vlan43的IPTV口。IPTV口的上网设置按我教程,抓包,解析option12和60的内容进行设置。基本上就可以了。然后设置使用网关跃点调到100吧

11

主题

21

回帖

0

牛值

初出茅庐

2026-6-26 23:22:43 楼主 显示全部楼层
放牛老妖 发表于 2026-6-26 01:15
能不能简单一点的呀

除非你能拿到IPTV的账号密码,浙江是DHCP+鉴权模式,抓包已经是必须要做的动作。

0

主题

7

回帖

0

牛值

江湖小虾

2026-6-27 23:03:24 显示全部楼层

好复杂,我这么弄的,我飞牛单网口,能WIFI,光猫桥接,路由器拨号,飞牛网口接光猫TV口,WIFI连接路由器并设为默认,然后网上搜了本地宽带的IPTV的组播地址,然后飞牛安装rtp2http,搜的组播地址加上飞牛网口地址和rtp2http端口,然后扔rtp2http里就能播放了,我这边安徽电信

11

主题

29

回帖

0

牛值

初出茅庐

2026-6-28 23:43:58 显示全部楼层
太麻烦了,之前我光猫就换了个人的,配置这个还需要配置id之类的

4

主题

11

回帖

0

牛值

江湖小虾

2026-6-30 08:11:47 显示全部楼层

看个电视太复杂了

3

主题

20

回帖

0

牛值

江湖小虾

2026-7-3 10:39:07 显示全部楼层

图片.png

option61

option60

option12
都要填好。op-iptv插件 有这些参数。 参数获取还是包里面有。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

3

回帖

0

牛值

江湖小虾

2026-7-6 17:37:08 显示全部楼层

没有iptv盒子,也没开通电信IPTV服务,只有一个问天7200pro+的路由器可以实现吗?

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则