找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3517|回复: 86

[iptv信源 资源分享或寻求] 【修复】江西台今视频 APP 版 PHP 代码

  [复制链接]
本帖最后由 网络工程 于 2023-6-18 11:02 编辑

之前分享过江西台的代码( 江西台今视频 APP 版 PHP 代码),但是很快就失效了。

猜测是后端接口做了校验,但是不清楚其中部分参数的生成规则。

趁着周末有时间,特意研究了 Android 端的 APP,修复后的代码如下:


  1. private const JXTV_CHANNELS = [
  2.     'jxtv-1' => 'tv_jxtv1.m3u8', // 江西卫视
  3.     'jxtv-2' => 'tv_jxtv2.m3u8', // 江西都市
  4.     'jxtv-3' => 'tv_jxtv3_hd.m3u8', // 江西经视
  5.     'jxtv-4' => 'tv_jxtv4.m3u8', // 江西影视
  6.     'jxtv-5' => 'tv_jxtv5.m3u8', // 江西公共
  7.     'jxtv-6' => 'tv_jxtv6.m3u8', // 江西少儿
  8.     'jxtv-7' => 'tv_jxtv7.m3u8', // 江西新闻
  9.     'jxtv-8' => 'tv_jxtv8.m3u8', // 江西移动电视
  10.     'fsgw' => 'tv_fsgw.m3u8', // 风尚购物
  11. ];

  12. private function parseJxtvUrl($id)
  13.   {
  14.     if (!array_key_exists($id, $this::JXTV_CHANNELS)) {
  15.       return null;
  16.     }
  17.     $stream = $this::JXTV_CHANNELS[$id];

  18.     // 今视频身份认证接口
  19.     $authUrl = "https://app.jxgdw.com/api/media/auth";
  20.     $timestamp = intval(microtime(true) * 1000);
  21.     $reqParams = [
  22.       "type" => "android",
  23.       "t" => $timestamp,
  24.       "time" => $timestamp,
  25.       "token" => md5("com.sobey.cloud.view.jiangxiandroidjxntv{$timestamp}"),
  26.       "device_id" => "48MXQ6GIMM8UYXKJ734O2NMWEBKBWH49LB4EE9R0", // 设备ID,40位大写字母和数字混合,仅为示例
  27.       "app_version" => "5.07.09",
  28.       "siteid" => 10001,
  29.     ];
  30.     $authUrl .= "?" . http_build_query($reqParams);
  31.     $authResp = file_get_contents($authUrl);
  32.     $authJson = json_decode($authResp);
  33.     $liveUrl = "https://jsp-tv-live.jxtvcn.com.cn/live-jsp/{$stream}";
  34.     return "$liveUrl" . "?" . http_build_query($authJson);
  35. }
复制代码

其中身份认证接口的 device_id 参数,并不是随机生成 40 位就行。

需要确保设备 ID 入库,否则直播链接还是会报 403 错误。获得有效的 device_id,有两种方式:

  • 随机生成 40 位的设备 ID,然后手动调用 auth/visitor 接口。

    以代码里的设备 ID 为例,手动发送 http 请求:

    1. curl -sv -X POST \
    2. -H 'appversion: 5.07.09' \
    3. -H 'channeltype: jinshipin' \
    4. -H 'os: Android' \
    5. -H 'device: 48MXQ6GIMM8UYXKJ734O2NMWEBKBWH49LB4EE9R0' \
    6. -H 'content-type: application/json; charset=UTF-8' \
    7. -H 'accept-encoding: gzip' \
    8. --compressed \
    9. -H 'user-agent: okhttp/4.9.2' \
    10. -d '{"protocolType":[1,2],"appVersion":"5.07.09"}' \
    11. https://app.jxgdw.com/api/auth/visitor
    复制代码

    请求成功后,等待大概 10 分钟,直播链接就能正常访问了。


  • 安装今视频 Android 端 APP,由 APP 生成可用的设备 ID。

    这种方式就相当于是正常的流程了,更加简单,建议采用。

    安装后打开 APP,进入首页。然后打开文件管理器,找到文件

    1. /内置存储/Android/data/com.sobey.cloud.view.jiangxi/files/.device_id.txt
    复制代码

    把文件里的设备 ID 拷贝出来,替换代码里的 device_id 参数。

    注意:.device_id.txt 是隐藏文件,需要开启显示隐藏文件才能看到。


发现目前 APP 还是做了不少安全限制,可能不久这个修复又会失效。






感谢你的分享
回复

使用道具 举报

谢谢分享
回复

使用道具 举报

查看修复后的代码
回复

使用道具 举报

修复后的代码如下:
回复

使用道具 举报

感谢楼主分享
回复

使用道具 举报

来自手机 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

是不清楚其中部分参数的生成规则
回复

使用道具 举报

但是很快就失效了。
回复

使用道具 举报

是的法饿饭
回复

使用道具 举报

来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

进来仰望,谢谢分享
回复

使用道具 举报

看看怎么弄的。
回复

使用道具 举报

感谢分享
回复

使用道具 举报

来自手机 | 显示全部楼层
看看........
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-5-22 10:37

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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