From 783ef54363bd6f40a9b8652f045c34529e5f205f Mon Sep 17 00:00:00 2001 From: Hisoar Y Date: Sat, 24 Feb 2024 16:01:59 +0000 Subject: [PATCH] =?UTF-8?q?Update=20=E8=99=8E=E7=89=99=E7=9B=B4=E6=92=AD.j?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/虎牙直播.js | 245 +++++++++++++++++++++----------------------- 1 file changed, 118 insertions(+), 127 deletions(-) diff --git a/lib/虎牙直播.js b/lib/虎牙直播.js index 80ac433..16fb55f 100644 --- a/lib/虎牙直播.js +++ b/lib/虎牙直播.js @@ -39,152 +39,143 @@ var rule = { limit:8, play_parse:true, lazy:'', - lazy:`js: - if (/m\\.huya/.test(input)) { - rule.sniffer = 0 - } - `, 推荐:`js: let d = []; - let jo = JSON.parse(request(input)).data.datas; - jo.forEach(it => { + let jo = JSON.parse(request(input)).data; + jo.forEach((it,idex) => { + let slist = jo[idex].list ; + slist.forEach(it => { d.push({ - url: it.profileRoom, - title: it.introduction, - img: it.screenshot, - desc: '👁' + it.totalCount + ' 🆙' + it.nick, + url: it.rid, + title: it.roomName, + img: it.roomSrc, + desc: '👁' + it.hn + ' 🆙' + it.nickname, }) + }); }); setResult(d); `, 一级:`js: let d = []; - let jo = JSON.parse(request(input)).data.datas; + let jo = JSON.parse(request(input)).data.list; jo.forEach(it => { - d.push({ - url: it.profileRoom, - title: it.introduction, - img: it.screenshot, - desc: '👁' + it.totalCount + ' 🆙' + it.nick, - }) + d.push({ + url: it.rid, + title: it.roomName, + img: it.roomSrc, + desc: '👁' + it.hn + ' 🆙' + it.nickname, + }) }); setResult(d); `, - // 二级:'*', - 二级: `js: - try { - if (typeof play_url === "undefined") { - var play_url = "" - } - var jo = JSON.parse(request(input)).data; - VOD = { - vod_id: jo.roomId, - vod_name: jo.roomName, - vod_pic: jo.roomPic, - type_name: "虎牙." + jo.categoryName, - vod_director: '🆙 ' + jo.ownerName, - vod_content: "🏷分区:虎牙" + "·" + jo.categoryName + " 🏷UP主:" + jo.ownerName + " 🏷人气:" + jo.online + (jo.isLive === 1 ? " 🏷状态:正在直播" : "状态:未开播") - }; - let episodes = JSON.parse(request("http://live.yj1211.work/api/live/getRealUrlMultiSource?platform=" + jo.platForm + "&roomId=" + jo.roomId)).data; //多线路 - if (Object.keys(episodes).length !== 0) { - let playFrom = []; - let playList = []; - let kplayList = []; - Object.keys(episodes).forEach(function(key) { - playFrom.append(key); - kplayList = episodes[key].map(function(it) { - let title = it.qualityName; - let playUrl = it.playUrl - return title + "$" + play_url + urlencode(playUrl) - }).join("#") - playList.append(kplayList); - }); - let vod_play_from = playFrom.join("$$$"); - let vod_play_url = playList.join("$$$"); - VOD["vod_play_from"] = vod_play_from; - VOD["vod_play_url"] = vod_play_url; - } else { - var d = []; - episodes = JSON.parse(request("http://live.yj1211.work/api/live/getRealUrl?platform=" + jo.platForm + "&roomId=" + jo.roomId)).data; //单线路 - var name = { - "OD": "原画", - "FD": "流畅", - "LD": "标清", - "SD": "高清", - "HD": "超清", - "2K": "2K", - "4K": "4K", - "FHD": "全高清", - "XLD": "极速", - "SQ": "普通音质", - "HQ": "高音质" - }; - Object.keys(episodes).forEach(function(key) { - if (!/ayyuid|to/.test(key)) { - d.push({ - title: name[key], - url: episodes[key] - }) - } - }); - d.push( - { - title: "虎牙最新解析", - url: "https://live.metshop.top/huya/" + jo.roomId - }, - { - title: "虎牙解析", - url: "http://cfss.cc/cdn/hy/" + jo.roomId + ".flv" - }, - { - title: "解析1", - url: "http://epg.112114.xyz/huya/" + jo.roomId - }, - { - title: "解析2", - url: "https://www.aois.eu.org/live/huya/" + jo.roomId - }, - { - title: "解析3", - url: "https://www.goodiptv.club/huya/" + jo.roomId - }, - { - title: "解析4", - url: "http://maomao.kandiantv.cn/huya1.php?id=" + jo.roomId - }, - { - title: "解析5", - url: "http://43.138.170.29:35455/huya/" + jo.roomId - }, - { - title: "解析6", - url: "http://8.210.232.168/php/huya.php?id=" + jo.roomId - }, - { - title: "原址嗅探", - url: "https://m.huya.com/" + jo.roomId - }, - ); - VOD["vod_play_from"] = "播放源"; - VOD["vod_play_url"] = d.map(function(it) { - return it.title + "$" + it.url - }).join("#"); - setResult(d); - } - } catch (e) { - log("获取二级详情页发生错误:" + e.message); + 二级:`js: + try { + if (typeof play_url === "undefined") { + var play_url = "" } + var jo = JSON.parse(request(input)).data; + VOD = { + vod_id: jo.roomId, + vod_name: jo.roomName, + vod_pic: jo.roomPic, + type_name: "斗鱼." + jo.categoryName, + vod_director: '🆙 ' + jo.ownerName, + vod_content: "🏷分区:斗鱼" + "·" + jo.categoryName + " 🏷UP主:" + jo.ownerName + " 🏷人气:" + jo.online + (jo.isLive === 1 ? " 🏷状态:正在直播" : "状态:未开播") + }; + let episodes = JSON.parse(request("http://live.yj1211.work/api/live/getRealUrlMultiSource?platform=" + jo.platForm + "&roomId=" + jo.roomId)).data; //多线路 + if (Object.keys(episodes).length !== 0) { + let playFrom = []; + let playList = []; + let kplayList = []; + Object.keys(episodes).forEach(function(key) { + playFrom.append(key); + kplayList = episodes[key].map(function(it) { + let title = it.qualityName; + let playUrl = it.playUrl + return title + "$" + play_url + urlencode(playUrl) + }).join("#") + playList.append(kplayList); + }); + let vod_play_from = playFrom.join("$$$"); + let vod_play_url = playList.join("$$$"); + VOD["vod_play_from"] = vod_play_from; + VOD["vod_play_url"] = vod_play_url; + } else { + var d = []; + episodes = JSON.parse(request("http://live.yj1211.work/api/live/getRealUrl?platform=" + jo.platForm + "&roomId=" + jo.roomId)).data; //单线路 + var name = { + "OD": "原画", + "FD": "流畅", + "LD": "标清", + "SD": "高清", + "HD": "超清", + "2K": "2K", + "4K": "4K", + "FHD": "全高清", + "XLD": "极速", + "SQ": "普通音质", + "HQ": "高音质" + }; + Object.keys(episodes).forEach(function(key) { + if (!/ayyuid|to/.test(key)) { + d.push({ + title: name[key], + url: episodes[key] + }) + } + }); + d.push( + { + title: "解析1", + url: "https://live.metshop.top/huya/" + jo.roomId + }, + { + title: "解析2", + url: "https://www.aois.eu.org/live/huya/" + jo.roomId + }, + { + title: "解析3", + url: "https://www.goodiptv.club/huya/" + jo.roomId + }, + { + title: "解析4", + url: "http://maomao.kandiantv.cn/huya1.php?id=" + jo.roomId + }, + { + title: "解析5", + url: "http://43.138.170.29:35455/huya/" + jo.roomId + }, + { + title: "解析6", + url: "http://8.210.232.168/php/huya.php?id=" + jo.roomId + }, + ); + VOD["vod_play_from"] = "播放源"; + VOD["vod_play_url"] = d.map(function(it) { + return it.title + "$" + it.url + }).join("#"); + setResult(d); + } + } catch (e) { + log("获取二级详情页发生错误:" + e.message); + } `, - // 搜索:'json:response.3.docs;game_roomName;game_screenshot;game_nick;room_id', + // 搜索:'json:data.list;roomName;roomSrc;nickname;roomId', 搜索: `js: var d = []; - let jo = JSON.parse(request(input)).response[3].docs; + let rurls = input.split(';')[0].split('#'); + let rurl = rurls[0]; + let params = rurls.length > 1 ?rurls[1]:''; + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = {body:params}; + Object.assign(_fetch_params,postData); + let jo = JSON.parse(post(rurl,_fetch_params)).data.list; jo.forEach(it => { d.push({ - url: it.room_id, - title: it.game_roomName, - img: it.game_screenshot, - desc: '👁' + it.game_total_count + ' 🆙' + it.game_nick, + url: it.roomId, + title: it.roomName, + img: it.roomSrc, + desc: '👁' + it.hn + ' 🆙' + it.nickname, }) }); setResult(d);