找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 11335|回复: 226

[iptv信源 资源分享或寻求] 【广东台】【荔枝网】源分析解码。。。。。。。。

 火... [复制链接]
发表于 2023-11-10 09:34 | 显示全部楼层 |阅读模式
购买主题 已有 5 人购买  本主题需向作者支付 2 币恩山币 才能浏览
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2023-11-10 09:37 | 显示全部楼层



接上面的代码:

如果打不开时,就要调整下面源码更换参数了。




  1. <div>    // 以下缓存类来自互联网,请确保cache目录存在以及读写权限 //


  2. <div>        $bstrURL = "https://gdtv-api.gdtv.cn/api/tv/v2/tvChannel/$id?tvChannelPk=$id&node=".base64_encode($wsnode);
  3.         $sign = base64_encode(hash_hmac("SHA256","GET\n$bstrURL\n$ts\n","dfkcY1c3sfuw0Cii9DWjOUO3iQy2hqlDxyvDXd1oVMxwYAJSgeB6phO8eW1dfuwX",true));

  4.         $opt_headers = [
  5.             "access-control-request-headers: content-type,x-itouchtv-ca-key,x-itouchtv-ca-signature,x-itouchtv-ca-timestamp,x-itouchtv-client,x-itouchtv-device-id",
  6.             "access-control-request-method: GET",
  7.             "origin: https://www.gdtv.cn",
  8.             "referer: https://www.gdtv.cn",
  9.             "user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36",
  10.             
  11.         ];


  12.         $ch = curl_init();
  13.         curl_setopt($ch, CURLOPT_URL, $bstrURL);<span style="white-space:pre">        </span> <span style="white-space:pre">        </span>
  14.         curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "OPTIONS");<span style="white-space:pre">        </span>
  15.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  16.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  17.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  18.         curl_setopt($ch, CURLOPT_HTTPHEADER,$opt_headers);
  19.         $data = curl_exec($ch);
  20.         curl_close($ch);

  21.         array_pop($headers);
  22.         $headers[] = "x-itouchtv-ca-signature: $sign";
  23.         
  24.         $ch = curl_init();
  25.         curl_setopt($ch, CURLOPT_URL, $bstrURL);<span style="white-space:pre">        </span> <span style="white-space:pre">        </span>
  26.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  27.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  28.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  29.         curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  30.         $data = curl_exec($ch);
  31.         
  32.         curl_close($ch);
  33.         $json = json_decode($data);
  34.         $playURL = json_decode($json->playUrl)->hd;
  35.         $cache->put("gdtv_".$id."_cache",$playURL);
  36.         fclose($sock); // 取串完成再关闭wss
  37.     }
  38.     // m3u8清单有referer校验。
  39.     $ch = curl_init();
  40.     curl_setopt($ch, CURLOPT_URL, $playURL);<span style="white-space:pre">        </span> <span style="white-space:pre">        </span>
  41.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  42.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  43.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  44.     curl_setopt($ch, CURLOPT_HTTPHEADER,["Referer: https://www.gdtv.cn","origin: https://www.gdtv.cn"]);
  45.     $data = curl_exec($ch);
  46.     curl_close($ch);

  47.     header("Content-Type: application/vnd.apple.mpegURL");
  48.     header("Content-Disposition: filename=$id.m3u8");
  49.     echo $data;

  50.    
  51.     function genSecKey()
  52.     {
  53.         return base64_encode(substr(md5(mt_rand(1,999)),0,16));
  54.     }

  55.     function encode($data)
  56.     {

  57.         $len = strlen($data);
  58.         $head[0] = 129;
  59.         $mask = [];
  60.         for ($j = 0; $j < 4; $j ++)
  61.         {
  62.             $mask[] = mt_rand(1, 128);
  63.         }
  64.         $split = str_split(sprintf('%016b', $len), 8);
  65.         $head[1] = 254;
  66.         $head[2] = bindec($split[0]);
  67.         $head[3] = bindec($split[1]);
  68.         $head = array_merge($head, $mask);
  69.         foreach ($head as $k => $v)
  70.         {
  71.             $head[$k] = chr($v);
  72.         }
  73.         $mask_data = '';
  74.         for ($j = 0; $j < $len; $j ++)
  75.         {
  76.             $mask_data .= chr(ord($data[$j]) ^ $mask[$j % 4]);

  77.         }
  78.         return implode('', $head).$mask_data;

  79.     }
  80.     function createNewGUID()
  81.     {
  82.         if (function_exists('com_create_guid') === true)
  83.         {
  84.             return trim(com_create_guid(), '{}');
  85.         }
  86.         return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
  87.     }


  88.     // 以下缓存类来自互联网,请确保cache目录存在以及读写权限 //
  89.     class Cache {

  90.         private $cache_path;
  91.         private $cache_expire;
  92.         public function __construct($exp_time=3600,$path="cache/"){
  93.             $this->cache_expire=$exp_time;
  94.             $this->cache_path=$path;
  95.         }

  96.         private function fileName($key){  return $this->cache_path.md5($key); }
  97.         public function put($key, $data){

  98.             $values = serialize($data);
  99.             $filename = $this->fileName($key);   
  100.             $file = fopen($filename, 'w');
  101.             if ($file){

  102.                 fwrite($file, $values);
  103.                 fclose($file);
  104.             }
  105.             else return false;
  106.         }

  107.         public function get($key){

  108.             $filename = $this->fileName($key);

  109.             if (!file_exists($filename) || !is_readable($filename)){ return false; }

  110.             if ( time() < (filemtime($filename) + $this->cache_expire) ) {

  111.                 $file = fopen($filename, "r");

  112.                 if ($file){

  113.                     $data = fread($file, filesize($filename));
  114.                     fclose($file);
  115.                     return unserialize($data);
  116.                 }
  117.                 else return false;

  118.             }
  119.             else return false;
  120.         }
  121.     }

  122. ?></div>

  123. </div>
复制代码


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 0 反对 1

使用道具 举报

发表于 2023-11-10 09:41 | 显示全部楼层
看看是什么。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 09:44 来自手机 | 显示全部楼层
不错不错!!!
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 09:48 | 显示全部楼层
枝网】源分析
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 09:56 | 显示全部楼层
感谢分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 0 反对 1

使用道具 举报

发表于 2023-11-10 09:56 | 显示全部楼层
要调整下面源码更换参数了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 10:14 | 显示全部楼层
如果打不开时,就要调整下面源码更换参数了。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 10:15 | 显示全部楼层
谢谢楼主分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 10:16 来自手机 | 显示全部楼层
不懂啊
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 10:19 | 显示全部楼层
好象不行喔
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 10:19 | 显示全部楼层
感谢你的分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 10:28 来自手机 | 显示全部楼层
看看是啥
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 0 反对 1

使用道具 举报

发表于 2023-11-10 11:06 | 显示全部楼层
看看是啥。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-11-10 11:19 | 显示全部楼层
看看是个啥
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-5-31 23:08

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表