目前的家庭看iPTV已经处于一个很尴尬的地步,食之无味,弃之可惜。家里不备用一个iPTV吧,某个时间如果需要它就很尴尬,弄了吧,又需要极其麻烦的线路走线,影响电视墙美观,还占用端口,倘若老人房需要再加一台设备,还得加钱加设备。说实话,就电信送的机顶盒是真心的又丑又卡,广告繁多,为此,摆脱设备限制,实现机顶盒所有扩能,并进一步扩展观看方式成了一个伪命题下的刚需。
1. 梳理网络架构
想要实现改造,先需要理清网络架构,当前由于家里还未搬入新房,目前的主路由设备不支持VLAN,所以线路稍微还是有点复杂的。直接看架构图吧。
- 光猫需要改桥接(后文会讲述如何获取超密改桥接,或者直接打电话给10000号远程改桥接)
- 主路由负责拨号。将
光猫
的网络口
接主路由
的wan
。 - 旁路由负责科学,去广告(
主路由
的lan
接旁路由
的lan
);直播信号组播转单拨,单拨地址回看(光猫
的iTV
接旁路由
的另一条lan
)。所以,不使用VLAN的方式,旁路由至少得是双口的机器。
2. 获取机顶盒鉴权以及电视节目地址
理论上来说,四川电信已经不需要抓包鉴权了,直接看机顶盒背面的硬件信息已经可以完美实现鉴权了。但是还是记录下两种鉴权的方式吧。
2.1 抓包鉴权及获取电视节目地址
抓包鉴权有几种方式,比较方便的是用一台openwrt路由器作为交换机,使用tcpdump抓包,但是我这没有多余设备了,如果使用该方式就需要改变现有网络架构,所以还是采取了购买抓包神奇的方式实现,毕竟成本20块钱以内,申请下经费也很好批。这东西长下面这样。
完全不需要插电的小玩意,用起来很方便,直接插网线就行,下面说以下接线方式。
如图所示,抓包的时候有一些小细节,电脑如果接在了靠光猫一侧,获取的包为iTV发出的,接在了机顶盒一侧,获取的包为机顶盒发出的,所以这就导致了没法获取一个完整的响应。根据自身测试,建议还是把电脑接在光猫的iTV口一侧,毕竟我们更需要的是光猫返回的数据,至于机顶盒的请求数据一般在光猫返回的数据里会负载,由于我不打算完全逆向机顶盒运行逻辑,更多的数据也是没必要。
按图示接好所有线路后,电脑打开wireshark启动好监听,监听的网口选择接网线的接口,然后上电机顶盒,等到机顶盒正常运行即可。然后搜索dhcp,主要找dhcp request,找不到也无所谓,考虑其他的跟dhcp返回请求有关的也行,然后查看option12,option61(没有的话直接看请求头,就是找设备的mac),option 60,留存备用。此处我以其他图示意一下。
然后继续找http的内容,这里忘记截图了,主要内容是找响应中有类似如图中的数据。其中igmp开头的为组播地址,rtsp为单拨地址,拷贝下来备用。
到这里,机顶盒完成了它的所有使命,全部所需的数据已经拿到。
2.2 直接看设备鉴权
把你的机顶盒翻个面,后面印刷了该设备的设备名、mac地址,完事。只是相对前面,缺少了直播信息。(需要直播信息请查看上一步)
3. 旁路由模拟机顶盒鉴权
由于我使用的openwrt是ImmortalWrt 23.05.4分支,部分网络上的教程已经和这里的界面不一样了,请慎重参考。
3.1 修改mac地址
如下图操作界面,直接把插光猫itv的网口的mac地址修改为刚才抓包到的mac地址,保存即可。
3.2 新建iptv网口
新建一个网口,如下图:
配置参数(我已经在使用了,所以就用这个图参考)。主机名就是option12的值,否则机顶盒背面的设备编号。
供应商类别是option60的值。默认网关打开,自动获取DNS服务器,跃点大一点最好。
然后保存应用即可,到这里就完成了鉴权,网口会出现以下信息,有ip出现表示鉴权成功。
4. 配置组播转换
根据个人习惯,我选择的组播转换插件为msd,配置全部默认,接口选择iptv即可。
5. 生成组播转单播
根据刚才提到的直播信息,把它提取为一个播放器可以播放的文件,有毅力的人可以手动,没毅力的人让chatgpt给你写个代码吧。分享下我的代码。
|
|
无论采取什么办法,保证生成的直播连接地址类似于http://msd插件所在的ip:msd端口/udp/igmp地址的信息
,样例http://10.0.10.200:7088/udp/239.93.2.58:5140
。
6. 测试播放
将生成的iptv.m3u8
文件使用VLC播放。
将这个文件放进电视的任何地址即可实现播放,基本教程完结。后面则是进阶教程。
7. 回看地址生成
根据刚才提到的直播信息,提取rstp信息即可。
|
|
然后就生成了可回看的地址 ,回看信息使用网上的EPG服务器即可。
9. 地址转发
回看地址生成其实很简单,但是这个ip地址内外是不通的,只能经过iptv的接口过去,所以需要配置静态路由。
目标为iptv回看地址的网段,网关需要自行根据iptv接口的ip和掩码反算,配置好即可。
额外教程:电信光猫超密获取
直接采用https://cloud.tencent.com/developer/article/1921562
1. 普通用户登录
用户名和密码在光猫的背面。登录地址是,192.168.1.1:8080,用户名一般是 useradmin。
2. 进入设备管理
一定要确认进入设备管理界面,这个界面连 USB 都给屏蔽了。
3. 查找 sessionKey
按 F12(或者右键→检查),找到框起来的部分。
4. 构造命令执行
location.assign("/usbbackup.cmd?action=backupeble&set2_sessionKey=set2_sessionKey_304") 然后回车
打开页面后,右键备份配置,点检查,删除 disable,现在可以点击 "备份配置" 正常备份了,点击之后页面会全白,那是正常的。
5. 得到备份文件
U 盘上会生成一个名为 e8_Config_Backup 的文件夹,其下的 ctce8_TEWA-708G.cfg 就是路由器配置文件。
6. 解密文件
如果用记事本打开 ctce8_TEWA-708G.cfg,会是一堆乱码。要使用 xor 或者 router pass view 打开配置文件,查找 TeleComAccount,下面的 Password 内即为超级密码。 xor 下载 https://github.com/jonirrings/xor cmd
内执行xor cfg文件
会在同目录下得到 ctce8_TEWA-708G.cfg.xml 文件。
7.获取超密
打开 ctce8_TEWA-708G.cfg.xml 按 Ctrl+F 查找 telecomadmin 后面带数字的就是超级密码。 账号:telecomadmin 密码:telecomadminxxx
8. 关闭启用周期上报
进入 Web 后台管理界面后,切换到 "网络"-"远程管理" 选项卡,清除勾选 "启用周期上报" 项,这样就彻底阻止了电信对光猫的远程控制功能。