找回密码
 立即注册
搜索
查看: 386|回复: 10

ku9 js

  [复制链接]

2

主题

33

回帖

104

积分

注册会员

积分
104
发表于 2025-11-10 12:44:01 来自手机 | 显示全部楼层 |阅读模式
我用ai转换成JS,大佬帮忙看下哪里不对,帮忙修改一下

function main(item) {
    const CHANNEL_MAP = {
        'jxws': 'tv_jxtv1.m3u8',    //江西卫视
        'jxds': 'tv_jxtv2.m3u8',    //江西都市
        'jxjs': 'tv_jxtv3_hd.m3u8', //江西经视高清
        'jxys': 'tv_jxtv4.m3u8',    //江西影视
        'jxgg': 'tv_jxtv5.m3u8',    //江西公共
        'jxse': 'tv_jxtv6.m3u8',    //江西少儿
        'jxxw': 'tv_jxtv7.m3u8',    //江西新闻
        'jxyd': 'tv_jxtv8.m3u8',    //江西移动
        'fsgw': 'tv_fsgw.m3u8',     //江西风尚购物
        'jxtc': 'tv_taoci.m3u8',    //江西陶瓷
    };
   
    let id = (ku9.getQuery(item.url, "id")) || "jxws";
    const tsParam = ku9.getQuery(item.url, "ts");
    const errurl = "";
   
    try {
        // 如果是TS文件请求
        if (tsParam) {
            const headers = {
                'User-Agent': 'Mozilla/5.0 (Linux; Android 8.1.0; JKM-AL00b) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36',
                'Referer': 'https://www.jxntv.cn/'
            };
            
            const res = ku9.request(tsParam, "GET", headers, null, true);
            if (res.code === 200 && res.body) {
                return {
                    body: res.body,
                    headers: {
                        'Content-Type': 'video/MP2T'
                    }
                };
            } else {
                return { url: errurl };
            }
        }
        
        // 主M3U8请求流程
        const stream = CHANNEL_MAP.hasOwnProperty(id) ? CHANNEL_MAP[id] : CHANNEL_MAP['jxws'];
        const t = Math.floor(Date.now() / 1000);
        const data = "t=" + t + "&stream=" + stream + "&uuid=0310c3096064";
        const authUrl = "https://cdnauth.jxgdw.com/liveauth/pc?" + data;
        
        const headers = {
            'User-Agent': 'Mozilla/5.0 (Linux; Android 8.1.0; JKM-AL00b) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36',
            'origin': 'https://www.jxntv.cn',
            'Referer': 'https://www.jxntv.cn/'
        };
        
        // 第一步:获取token
        const authRes = ku9.request(authUrl, "GET", headers, null, true);
        if (authRes.code !== 200 || !authRes.body) {
            return { url: errurl };
        }
        
        let authData;
        try {
            authData = JSON.parse(authRes.body);
        } catch (parseError) {
            return { url: errurl };
        }
        
        if (!authData || !authData.t || !authData.token) {
            return { url: errurl };
        }
        
        const token = authData.token;
        const authTime = authData.t;
        
        // 第二步:构建M3U8 URL
        const m3u8Url = "https://yun-live.jxtvcn.com.cn/live-jxtv/" + stream + "?source=pc&token=" + token + "&t=" + authTime + "&uuid=0310c3096064";
        const baseUrl = "https://yun-live.jxtvcn.com.cn/live-jxtv/";
        
        // 第三步:获取M3U8内容并处理TS路径
        const m3u8Res = ku9.request(m3u8Url, "GET", headers, null, true);
        if (m3u8Res.code !== 200 || !m3u8Res.body) {
            return { url: errurl };
        }
        
        // 处理M3U8内容,替换TS文件路径
        const processedContent = m3u8Res.body.replace(/(.*?.ts)/gi, function(match, tsPath) {
            return item.url.split('?')[0] + "?id=" + id + "&ts=" + baseUrl + tsPath;
        });
        
        return {
            m3u8: processedContent,
            headers: {
                'Content-Type': 'application/vnd.apple.mpegurl'
            }
        };
        
    } catch (error) {
        //console.log("处理过程中出现错误: " + error);
        return { url: errurl };
    }
}

0

主题

20

回帖

72

积分

注册会员

积分
72
发表于 2025-11-10 13:07:36 | 显示全部楼层
用不到的哟

0

主题

19

回帖

61

积分

注册会员

积分
61
发表于 2025-11-10 17:24:52 | 显示全部楼层
ts应该不用**吧,把ts部分去掉试试

4

主题

63

回帖

123

积分

注册会员

积分
123
发表于 2025-11-10 17:40:39 | 显示全部楼层
PHP文件发来我看看

2

主题

33

回帖

104

积分

注册会员

积分
104
 楼主| 发表于 2025-11-10 17:59:52 来自手机 | 显示全部楼层
binyang008 发表于 2025-11-10 17:40
PHP文件发来我看看

<?php
error_reporting(0);
$id = isset($_GET['id'])?$_GET['id']:'jxws';
$n = [
    'jxws' => 'tv_jxtv1.m3u8',//江西卫视
    'jxds' => 'tv_jxtv2.m3u8',//江西都市
    'jxjs' => 'tv_jxtv3_hd.m3u8',//江西经视高清
    'jxys' => 'tv_jxtv4.m3u8',//江西影视
    'jxgg' => 'tv_jxtv5.m3u8',//江西公共
    'jxse' => 'tv_jxtv6.m3u8',//江西少儿
    'jxxw' => 'tv_jxtv7.m3u8',//江西新闻
    'jxyd' => 'tv_jxtv8.m3u8',//江西移动
    'fsgw' => 'tv_fsgw.m3u8',//江西风尚购物
    'jxtc' => 'tv_taoci.m3u8',//江西陶瓷
    ];
$t = time();
$data = "t={$t}&stream={$n[$id]}&uuid=0310c3096064";
$ch = curl_init("https://cdnauth.jxgdw.com/liveauth/pc?".$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["origin: https://www.jxntv.cn",]);
curl_setopt($ch, CURLOPT_REFERER, "https://www.jxntv.cn/");
$d = curl_exec($ch);
curl_close($ch);
$json = json_decode($d, 1);
$t = $json['t'];
$token = $json['token'];
$m3u8 = "https://yun-live.jxtvcn.com.cn/live-jxtv/{$n[$id]}?source=pc&token={$token}&t={$t}&uuid=0310c3096064";
$burl = "https://yun-live.jxtvcn.com.cn/live-jxtv/";
$php = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$ts = $_GET['ts'];
if(empty($ts)) {
     header('Content-Type: application/vnd.apple.mpegurl');
     print_r(preg_replace("/(.*?.ts)/i",$php."?ts=$burl$1",get($m3u8)));
     } else {
       $data = get($ts);
       header('Content-Type: video/MP2T');
       echo $data;
       }

function get($url){
     $ch = curl_init($url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
     curl_setopt($ch, CURLOPT_REFERER, 'https://www.jxntv.cn/');
     $res = curl_exec($ch);
     curl_close($ch);
     return $res;
     }

?>

4

主题

63

回帖

123

积分

注册会员

积分
123
发表于 2025-11-10 21:24:47 | 显示全部楼层

这个和我下载的php一样,
你测试过这个php能用吗?我也是转不成功的。

0

主题

39

回帖

118

积分

注册会员

积分
118
发表于 2025-11-10 23:05:40 | 显示全部楼层
修改一下

0

主题

21

回帖

47

积分

新手上路

积分
47
发表于 2025-11-11 08:23:26 | 显示全部楼层
binyang008 发表于 2025-11-10 21:24
这个和我下载的php一样,
你测试过这个php能用吗?我也是转不成功的。

试了php可以用,帮忙修复下

4

主题

63

回帖

123

积分

注册会员

积分
123
发表于 2025-11-11 22:28:22 | 显示全部楼层
这个php可能转不了酷9的js
deepseek回复:
我们注意到原PHP代码中,当有ts参数时,返回的是ts文件二进制数据,并设置Content-Type为video/MP2T。在酷9中,我们无法直接设置HTTP响应头,而且酷9的JS环境主要用于获取播放地址,而不是作为**服务器。

2

主题

33

回帖

104

积分

注册会员

积分
104
 楼主| 发表于 2025-11-12 09:04:23 来自手机 | 显示全部楼层
binyang008 发表于 2025-11-11 22:28
这个php可能转不了酷9的js
deepseek回复:
我们注意到原PHP代码中,当有ts参数时,返回的是ts文件二进制数 ...

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

本版积分规则

Archiver|手机版|小黑屋|直播源论坛