前言
这两天迷上了玩直播源,正巧有一个叫谷豆的 app.于是起了抓包看直播源的念头
准备功具
安卓手机一台
小黄鸟安卓抓包工具(httpcanary)
谷豆 app
抓包
因为我打开谷豆 app , 里面只有 cctv1 能看,所以下文就以这个为例
- 打开抓包工具
- 在谷豆里面看自己能看的直播视频,我这边大部分直播视频为: 节目已经回仓,请使用广电网络观看
- 查看抓包数据
通过抓包可以得知
通过该接口可以获取一些参数值,网上有人说这个是正门.注意里面的请求参数值需要修改
http://portal.gcable.cn:8080/PortalServer-App/new/aaa_aut_aut002?ptype=1&plocation=001&puser=13020000001&ptoken=&pversion=030106&pserverAddress=portal.gcable.cn&pserialNumber=&pkv=1&ptn=&DRMtoken=&epgID=&authType=0&secondAuthid=&t=&pid=&cid=300&u=13020000001&p=1&l=001&d=&n=CCTV1HD_1500&v=2&ot=0&pappName=GoodTV&hmac=9c22680532&nonce=6961237614
这个接口的作用和上面的接口作用一致,都是获取参数的,网上有人说这个是侧门。注意里面的参数需要自行修改
http://27.36.116.229:8085/AAA/aaa?t=&pid=&cid=312&u=freeuser&p=10&l=001&d=123456&n=CCTV6HD_7000&v=2
上述两个接口返回的结果一致,都是一个内网的地址
{
"data": {
"authResult": "http://192.168.11.22:9721/aaa?t=&pid=&cid=312&u=freeuser&p=10&l=001&d=123456&n=CCTV6HD_7000&v=2&errorcode=1011&sid=duIU2KkmeqcLNieCp5IK2g==&r=20220215104502&e=20220215114507&nc=kqje97qi5got&a=16&errorReason=819&pd=60&ip=59.63.206.35&auth_message=eyJhY2xfcGxheWJhY2tfbWVzc2FnZSI6IuWwiuaVrOeahOeUqOaIt--8jOaCqOacquiuoui0reivpeWGheWuue-8jOivt-Wwneivlee7keWNoeingueciyIsImVycm9yY29kZV9tZXNzYWdlIjoi5bCK5pWs55qE55So5oi377yM5oKo5pyq6K6i6LSt6K-l5YaF5a6577yM6K-35bCd6K-V57uR5Y2h6KeC55yLIiwiYWNsX3RpbWVzaGlmdF9tZXNzYWdlIjoi5bCK5pWs55qE55So5oi377yM5oKo5pyq6K6i6LSt6K-l5YaF5a6577yM6K-35bCd6K-V57uR5Y2h6KeC55yLIiwiYWNsX2xpdmVfbWVzc2FnZSI6IuWwiuaVrOeahOeUqOaIt--8jOaCqOacquiuoui0reivpeWGheWuue-8jOivt-Wwneivlee7keWNoeingueciyJ9"
},
"errorMessage": "",
"status": "0"
}
通过测试可以得知:
authResult 里面的内网地址就是我们需要的参数值,我们只需要把参数值取过来放到对应的参数里面就可以了
具体的侧门代理源码可以见。正门的登录接口在评论区
# 把这个文件命名为 gdtv.php
<?php
//header('Content-Type:textml;charset=UTF-8');
$id=$_GET["id"];
if($id==null){$id="CCTV1_1500";}
parse_str(token($id));
header('location:[url=http://gslb.gcable.cn:8070/live/'.$id.'.m3u8'.sprintf("?t=%s&d=%s&pid=%s&cid=%s&u=%s&l=%s&sid=%s&r=%s&e=%s&nc=%s&a=%s&v=%s",$t,$d,$pid,$cid,$u,$l,$sid,$r,$e,$nc,$a,$v));]http://gslb.gcable.cn:8070/live/'.$id.'.m3u8'.sprintf("?t=%s&d=%s&pid=%s&cid=%s&u=%s&l=%s&sid=%s&r=%s&e=%s&nc=%s&a=%s&v=%s",$t,$d,$pid,$cid,$u,$l,$sid,$r,$e,$nc,$a,$v));[/url]
exit;
function token($id){
$url = "http://27.36.116.229:8085/AAA/aaa?t=A5ZjU2OThiNjAxMzExMTBkN==&pid=&cid=312&u=freeuser&p=8&l=001&d=b60131110d72d53&n=$id&v=2";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Apache-HttpClient/UNAVAILABLE (java 1.4)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
preg_match('/aaa\?(.*?)"/',$res,$a);
return $a[1];
}
?>
然后把 gdtv.php 放到服务器里面。
使用示例:
http://你的空间地址/gdtv.php?id=CCTV2HD_1500
其中 CCTV2HD_1500 就是在谷豆里面抓取的节目名称(当你抓包某个节目源看到类似 http://gslb.gcable.cn:8070/live/CCTV2HD_1500.m3u8的时候,这个地址里面的 CCTV2HD_1500 就是这里的id)
注意
本文不提供具体的步骤图,原因为:服务器没有空间了,传播抓包数据不合适
本文的代码直接复制自恩山论坛,作者不保证其可用性
截至本文写完为止,本文所述直播源皆可用,本文只做学习研究,作者不负责其它后果,请勿违法使用
鸣谢
感谢恩山论坛提供资料查询服务
谢谢分享
感谢分享
感谢,试试看
谢谢分享
谢谢分享
感谢分享,看还能不能用
谢谢分享
谢谢分享
感谢
感谢分享
感谢分享,不知道还能不能用
谢谢
感谢分享。
厉害
谢谢分享
xuexi yixia
谢谢分享
谢谢分享
楼主厉害了
谢谢分享
谢谢
谢谢
好不容易找,谢谢
have a test
学习学习
多谢分享,学习一下
好东西啊!
侧门失效了
学习看看
学习下先
学习,说明得很详细。
学习下先
必须正门
如果有正门PHP更好了。在线求 896581586@qq.com
学习学习
学习学习
感谢分享 赞一个
登录接口
AAA/loginFromUAP
ptype=1&plocation=001&puser=freeuser&ptoken=&pversion=030104&pserverAddress=portal.gcable.cn&pserialNumber=&pkv=1&ptn=Y29tLnN1bWF2aXNpb24uc2FucGluZy5ndWRvdQ&pappName=GoodTV&LoginType=0&loginparam=[登陆号]&Pwd=[HASH密码]&serialno=&terminalID=&hmac=×tamp=&nonce=
学习学习
谢谢谢谢