前言
这两天迷上了玩直播源,正巧有一个叫谷豆的 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)
注意
本文不提供具体的步骤图,原因为:服务器没有空间了,传播抓包数据不合适
本文的代码直接复制自恩山论坛,作者不保证其可用性
截至本文写完为止,本文所述直播源皆可用,本文只做学习研究,作者不负责其它后果,请勿违法使用
鸣谢
感谢恩山论坛提供资料查询服务
感谢
感谢,不知道现在谷豆还行不行
感谢,不知道现在谷豆还行不行
感谢,不知道现在谷豆还行不行
看 黃 魸【36me.xyz】偸 啪【36me.xyz】你 慬 的
感谢
感谢。
感谢
谢谢~~~
学习了
学习一下~
谢谢分享谢谢分享
谢谢分享
工作原理 能解释下吗
试试看
谢谢
谢谢
感谢分享
膜拜大佬
谢谢分享
感谢分享
感谢,试试看
谢谢分享
谢谢分享
感谢分享,看还能不能用
谢谢分享
谢谢分享
感谢
感谢分享
感谢分享,不知道还能不能用
谢谢
感谢分享。
厉害
谢谢分享
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=
学习学习
谢谢谢谢