Add files via upload

This commit is contained in:
n3rddd 2024-02-16 19:55:30 +08:00 committed by GitHub
parent 65a6872fcc
commit 199a092cb5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 339 additions and 127 deletions

View File

@ -1,29 +1,60 @@
var rule = {
title:'88看球',
title: "88看球",
// host:'http://www.88kanqiu.cc',
host:'http://www.88kanqiu.live',
url:'/match/fyclass/live',
searchUrl:'',
searchable:0,
quickSearch:0,
class_parse:'.nav-pills li;a&&Text;a&&href;/match/(\\d+)/live',
headers:{
'User-Agent':'PC_UA'
host: "http://www.88kanqiu.live",
url: "/match/fyclass/live",
searchUrl: "",
searchable: 0,
quickSearch: 0,
class_parse: ".nav-pills li;a&&Text;a&&href;/match/(\\d+)/live",
headers: {
"User-Agent": "PC_UA",
},
timeout:5000,
play_parse:true,
lazy:'',
limit:6,
double:false,
推荐:'*',
一级:'.list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href',
二级:{
"title":".game-info-container&&Text;.customer-navbar-nav li&&Text",
"img":"img&&src",
"desc":";;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text",
"content":"div.game-time&&Text",
"tabs":"js:TABS=['88看球']",
"lists":"js:LISTS=[];input=input+'-url';let html=request(input);let data=JSON.parse(html);TABS.forEach(function(tab){let m3u=data.links;let d=m3u.map(function(it){return it.name+'$'+it.url});LISTS.push(d)});"
},
搜索:'',
}
timeout: 5000,
play_parse: true,
pagecount:{"1":1,"2":1,"4":1,"22":1,"8":1,"9":1,"10":1,"14":1,"15":1,"12":1,"13":1,"16":1,"28":1,"7":1,"11":1,"33":1,"27":1,"23":1,"26":1,"3":1,"21":1,"18":1},
lazy: `js:
if(/embed=/.test(input)) {
let url = input.match(/embed=(.*?)&/)[1];
url = base64Decode(url);
input = {
jx:0,
url: url.split('#')[0],
parse: 0
}
} else if (/\\?url=/.test(input)){
input = {
jx:0,
url: input.split('?url=')[1].split('#')[0],
parse: 0
}
} else {
input
}
`,
limit: 6,
double: false,
推荐: "*",
一级: ".list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href",
二级: {
title: ".game-info-container&&Text;.customer-navbar-nav li&&Text",
img: "img&&src",
desc: ";;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text",
content: "div.game-time&&Text",
tabs: "js:TABS=['道长在线']",
lists: `js:
LISTS=[];
let html = request(input);
let pdata = jsp.pdfh(html, "#t&&value");
pdata = pdata.substring(6, pdata.length);
pdata = pdata.substring(0, (pdata.length) - 2)
pdata = base64Decode(pdata);
let jo = JSON.parse(pdata).links;
let d = jo.map(function(it){
return it.name + '$' + urlencode(it.url)
});
LISTS.push(d)
`,
},
搜索: "",
};

View File

@ -99,7 +99,6 @@ var rule = {
`,
二级: `js:
try {
var d = [];
if (typeof play_url === "undefined") {
var play_url = ""
}
@ -112,8 +111,7 @@ var rule = {
vod_name: jo.roomName,
vod_pic: jo.roomPic,
type_name: jo.platForm.replace("huya", "虎牙").replace("douyu", "斗鱼").replace("cc", "网易CC").replace("bilibili", "哔哩哔哩").replace("douyin", "抖音") + "." + jo.categoryName,
vod_director: '👥人气 ' + jo.online,
vod_actor: '🆙 ' + jo.ownerName,
vod_director: '🆙 ' + jo.ownerName,
vod_content: "🏷分区:" + jo.platForm.replace("huya", "虎牙").replace("douyu", "斗鱼").replace("cc", "网易CC").replace("bilibili", "哔哩哔哩").replace("douyin", "抖音") + "·" + 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; //多线路
@ -161,29 +159,33 @@ var rule = {
});
d.push(
{
title: "虎牙解析1",
title: "解析1",
url: "http://epg.112114.xyz/huya/" + jo.roomId
},
{
title: "虎牙解析2",
title: "解析2",
url: "https://www.aois.eu.org/live/huya/" + jo.roomId
},
{
title: "虎牙解析3",
title: "解析3",
url: "https://www.goodiptv.club/huya/" + jo.roomId
},
{
title: "虎牙解析4",
title: "解析4",
url: "http://maomao.kandiantv.cn/huya1.php?id=" + jo.roomId
},
{
title: "虎牙解析5",
title: "解析5",
url: "http://43.138.170.29:35455/huya/" + jo.roomId
},
{
title: "虎牙解析6",
title: "解析6",
url: "http://8.210.232.168/php/huya.php?id=" + jo.roomId
},
{
title: "虎牙解析",
url: "http://cfss.cc/cdn/hy/" + jo.roomId + ".flv"
},
);
VOD["vod_play_from"] = "选择画质";
VOD["vod_play_url"] = d.map(function(it) {
@ -208,4 +210,18 @@ var rule = {
})
setResult(d);
`,
//是否启用辅助嗅探: 1,0
sniffer:1,
// 辅助嗅探规则js写法
isVideo: `js:
log(input);
if(/\\/huya/.test(input)) {
input = true
} else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){
input = true
}else{
input = false
}
`,
}

View File

@ -50,7 +50,7 @@ var rule = {
url: it.rid,
title: it.roomName,
img: it.roomSrc,
desc: '👁' + it.hn + ' ' + '🆙' + it.nickname,
desc: '👁' + it.hn + ' 🆙' + it.nickname,
})
});
});
@ -64,67 +64,135 @@ var rule = {
url: it.rid,
title: it.roomName,
img: it.roomSrc,
desc: '👁' + it.hn + ' ' + '🆙' + it.nickname,
desc: '👁' + it.hn + ' 🆙' + it.nickname,
})
});
setResult(d);
`,
二级:`js:
var d = [];
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.platForm.replace("douyu", "斗鱼") + "." + jo.categoryName,
vod_remarks: '🏷roomId ' + jo.roomId,
vod_director: '👥在线人数 ' + jo.online,
vod_actor: '🆙 ' + jo.ownerName,
vod_content: '🏷roomId' + jo.roomId + "" + ' 🏷状态:' + (jo.isLive == 1 ? '正在直播' : '未开播'),
// vod_content: "🏷分区:" + jo.platForm.replace("douyu", "斗鱼") + "·" + jo.categoryName + " 🏷UP主" + jo.ownerName + " 🏷人气:" + jo.online + (jo.isLive === 1 ? " 🏷状态:正在直播" : "状态:未开播"),
type_name: "斗鱼." + jo.categoryName,
vod_director: '🆙 ' + jo.ownerName,
vod_content: "🏷分区:斗鱼" + "·" + jo.categoryName + " 🏷UP主" + jo.ownerName + " 🏷人气:" + jo.online + (jo.isLive === 1 ? " 🏷状态:正在直播" : "状态:未开播")
};
var playurl = JSON.parse(request("http://live.yj1211.work/api/live/getRealUrl?platform=" + jo.platForm + "&roomId=" + jo.roomId)).data;
// var name = {
// OD: "JustLive",
// FD: "流畅",
// LD: "标清",
// SD: "高清",
// HD: "JustLive(预览)",
// "2K": "2K",
// "4K": "4K",
// FHD: "全高清",
// XLD: "极速",
// SQ: "普通音质",
// HQ: "高音质",
// };
Object.keys(playurl).forEach(function(key) {
// if (!/ayyuid|to/.test(key)) {
if (/OD/.test(key)) {
d.push({
// title: name[key],
title: 'JustLive',
url: playurl[key]
})
}
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: "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
},
);
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:data.list;roomName;roomSrc;nickname;roomId',
搜索: `js:
var d = [];
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.roomId,
title: it.roomName,
img: it.roomSrc,
desc: '👁' + it.hn + ' 🆙' + it.nickname,
})
});
d.push({
title: "斗鱼解析1",
url: "http://epg.112114.xyz/douyu/" + jo.roomId
}, {
title: "斗鱼解析2",
url: "https://www.aois.eu.org/live/douyu/" + jo.roomId
}, {
title: "斗鱼解析3",
url: "https://www.goodiptv.club/douyu/" + jo.roomId
}, {
title: "斗鱼解析4",
url: "http://maomao.kandiantv.cn/douyu1.php?id=" + jo.roomId
});
VOD.vod_play_from = "播放源";
VOD.vod_play_url = d.map(function(it) {
return it.title + "$" + it.url
}).join("#");
setResult(d);
`,
搜索:'json:data.list;roomName;roomSrc;nickname;roomId',
//是否启用辅助嗅探: 1,0
sniffer:1,
// 辅助嗅探规则js写法
isVideo: `js:
log(input);
if(/\\/huya/.test(input)) {
input = true
} else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){
input = true
}else{
input = false
}
`,
}

View File

@ -53,14 +53,15 @@
url = url.substring(8, (url.length) - 8)
}
if (/\\.m3u8|\\.mp4/.test(url)) {
var sign = request(HOST + '/static/player/' + from + '.php').match(/PlayUrl\\+'(.*?)'/)[1];
// var sign = request(HOST + '/static/player/' + from + '.php').match(/PlayUrl\\+'(.*?)'/)[1];
input = {
jx: 0,
url: url+sign,
// url: url+sign,
url: url,
parse: 0,
header: JSON.stringify({
"referer": HOST,
// 'referer': HOST + "/static/player/vidjs.html",
// "referer": HOST,
'referer': HOST + "/static/player/vidjs.html",
}),
}
} else {

View File

@ -5,7 +5,8 @@ var rule = {
url:'/cache.php?m=LiveList&do=getLiveListByPage&gameId=fyfilter&tagAll=0&page=fypage',
class_name:'娱乐&网游&单机&手游',
class_url:'8&1&2&3',
detailUrl:'https://m.huya.com/fyid',//二级详情拼接链接(json格式用)
// detailUrl:'https://m.huya.com/fyid',//二级详情拼接链接(json格式用)
detailUrl:'http://live.yj1211.work/api/live/getRoomInfo?uid=&platform=huya&roomId=fyid',//二级详情拼接链接(json格式用)
filterable: 1,
filter_url: '{{fl.cateId}}',
filter_def:{
@ -29,42 +30,10 @@ var rule = {
timeout:5000,
limit:8,
play_parse:true,
lazy:'',
lazy:`js:
let rid = input.match(/\\/ (\\d + ) / )[1];
function getRealUrl(live_url) {
let [i, b] = live_url.split('?');
let r = i.split('/').pop();
let s = r.replace(/\.(flv|m3u8)/, '');
let c_tmp = b.split('&').filter(n => n);
let n = {};
let c_tmp2 = [];
c_tmp.forEach(function(tmp, index) {
if (index < 3) {
n[tmp.split('=')[0]] = tmp.split('=')[1]
} else {
c_tmp2.push(tmp)
}
});
let tmp2 = c_tmp2.join('&');
n[tmp2.split('=')[0]] = tmp2.split('=')[1];
let fm = decodeURIComponent(n.fm).split('&')[0];
let u = base64Decode(fm);
let p = u.split('_')[0];
let f = new Date().getTime() + '0000';
let ll = n.wsTime;
let t = '0';
let h = [p, t, s, f, ll].join('_');
let m = md5(h);
return (i + '?wsSecret=' + m + '&wsTime=' + ll + '&u=' + t + '&seqid=' + f + '&' + c_tmp2.pop()).replace('hls', 'flv').replace('m3u8', 'flv')
}
let purl = JSON.parse(request('https://mp.huya.com/cache.php?m=Live&do=profileRoom&roomid=' + rid)).data.stream.flv.multiLine[0].url;
input = {
jx: 0,
url: getRealUrl(purl),
parse: 0,
header: JSON.stringify({
'user-agent': 'Mozilla/5.0'
})
if (/m\\.huya/.test(input)) {
rule.sniffer = 0
}
`,
推荐:`js:
@ -93,6 +62,133 @@ var rule = {
});
setResult(d);
`,
二级:'*',
搜索:'json:response.3.docs;game_roomName;game_screenshot;game_nick;room_id',
// 二级:'*',
二级: `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: "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);
}
`,
// 搜索:'json:response.3.docs;game_roomName;game_screenshot;game_nick;room_id',
搜索: `js:
var d = [];
let jo = JSON.parse(request(input)).response[3].docs;
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,
})
});
setResult(d);
`,
//是否启用辅助嗅探: 1,0
sniffer:1,
// 辅助嗅探规则js写法
isVideo: `js:
log(input);
if(/\\/huya/.test(input)) {
input = true
} else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){
input = true
}else{
input = false
}
`,
}