mirror of
https://github.com/qist/tvbox.git
synced 2026-04-23 07:52:49 +00:00
update HG
This commit is contained in:
172
js/热剧猫[V2].js
172
js/热剧猫[V2].js
@@ -21,31 +21,47 @@ var rule = {
|
||||
class_url:'1&2&3&4',
|
||||
play_parse:true,
|
||||
lazy:`js:
|
||||
let play_Url = '';
|
||||
if (/\\.m3u8|\\.mp4/.test(input)) {
|
||||
input = {
|
||||
jx: 0,
|
||||
url: input,
|
||||
parse: 0
|
||||
}
|
||||
} else if (/,/.test(input) && /url=/.test(input)) {
|
||||
} else if (/,/.test(input) && /url=/.test(input)) {
|
||||
input = input.split('url=');
|
||||
play_Url = input[0].split(',')[0];
|
||||
input = {
|
||||
jx: 0,
|
||||
url: input.split(',')[1],
|
||||
url: input[1],
|
||||
playUrl: play_Url,
|
||||
parse: 1
|
||||
}
|
||||
} else if (/url=|id=/.test(input)) {
|
||||
} else if (/url=|id=/.test(input)) {
|
||||
input = {
|
||||
jx: 0,
|
||||
url: JSON.parse(request(input)).url,
|
||||
parse: 0
|
||||
}
|
||||
} else if (/youku|iqiyi|v\\.qq\\.com|pptv|le\\.com|1905\\.com|mgtv|bilibili/.test(input)) {
|
||||
input
|
||||
} else if (/youku|iqiyi|v\\.qq\\.com|pptv|sohu|le\\.com|1905\\.com|mgtv|bilibili|ixigua/.test(input)) {
|
||||
play_Url = /bilibili/.test(input) ? 'https://jx.xmflv.com/?url=' : 'https://jx.777jiexi.com/player/?url='; // type0的parse
|
||||
// play_Url = /bilibili/.test(input) ? 'https://jx.xmflv.com/?url=' : 'json:http://pandown.pro/app/kkdy.php?url='; // type1的parse可加'json:'直接解析url (除了蜂蜜的'影视TV',其它的壳皆可用)
|
||||
input = {
|
||||
jx: 0,
|
||||
url: input,
|
||||
playUrl: play_Url,
|
||||
parse: 1,
|
||||
header: JSON.stringify({
|
||||
'user-agent': 'Mozilla/5.0',
|
||||
}),
|
||||
}
|
||||
} else {
|
||||
let purl = JSON.parse(request("http://jx.daenys.vip:2587/tnmb.php?url=" + input)).url;
|
||||
input = {
|
||||
jx: 0,
|
||||
url: purl,
|
||||
// url: input,
|
||||
// playUrl: 'json:http://jx.daenys.vip:2587/tnmb.php?url=',
|
||||
parse: 0
|
||||
}
|
||||
}
|
||||
@@ -62,22 +78,25 @@ var rule = {
|
||||
} else {
|
||||
jsondata = JSON.parse(request(HOST + '/vodPhbAll'));
|
||||
}
|
||||
videoList = jsondata.data.list[0].vod_list;
|
||||
videoList = jsondata.data.list;
|
||||
} else {
|
||||
if(HOST.endsWith('/')){
|
||||
jsondata = JSON.parse(request(HOST + 'index_video'));
|
||||
} else {
|
||||
jsondata = JSON.parse(request(HOST + '/index_video'));
|
||||
}
|
||||
videoList = /xgapp/.test(HOST)?jsondata.data[0].vlist:jsondata.list[0].vlist;
|
||||
videoList = /xgapp/.test(HOST) ? jsondata.data : jsondata.list;
|
||||
}
|
||||
// log('videoList =========> '+stringify(videoList));
|
||||
videoList.forEach(it => {
|
||||
d.push({
|
||||
url:it.vod_id,
|
||||
title:it.vod_name,
|
||||
img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic,
|
||||
desc:it.vod_remarks,
|
||||
videoList.forEach((it,idex) => {
|
||||
let vlist = /v1\\.vod/.test(HOST) ? videoList[idex].vod_list : videoList[idex].vlist ;
|
||||
vlist.forEach(it => {
|
||||
d.push({
|
||||
url:it.vod_id,
|
||||
title:it.vod_name,
|
||||
img:it.vod_pic.startsWith('http') ? it.vod_pic : it.vod_pic.startsWith('//') ? 'https:' + it.vod_pic : it.vod_pic.startsWith('/') ? getHome(HOST) + it.vod_pic : getHome(HOST) + '/' + it.vod_pic,
|
||||
desc:it.vod_remarks,
|
||||
});
|
||||
});
|
||||
});
|
||||
setResult(d);
|
||||
@@ -107,67 +126,72 @@ var rule = {
|
||||
setResult(d);
|
||||
`,
|
||||
二级:`js:
|
||||
if (/v1\\.vod/.test(HOST)) {
|
||||
input = HOST + '/'+ input.split('/')[3];
|
||||
} else {
|
||||
input = HOST + '/'+ input.split('/')[3].replace('detail','video_detail').replace('vod_id','id');
|
||||
}
|
||||
try {
|
||||
let html = request(input);
|
||||
html = JSON.parse(html);
|
||||
let node = /xgapp/.test(HOST) ? html.data.vod_info : html.data;
|
||||
VOD = {
|
||||
vod_id: node.vod_id,
|
||||
vod_name: node.vod_name,
|
||||
vod_pic: node.vod_pic,
|
||||
type_name: node.vod_class,
|
||||
vod_year: node.vod_year,
|
||||
vod_area: node.vod_area,
|
||||
vod_remarks: node.vod_remarks,
|
||||
vod_actor: node.vod_actor,
|
||||
vod_director: node.vod_director,
|
||||
vod_content: node.vod_content.strip()
|
||||
};
|
||||
let episodes = /v1\\.vod/.test(HOST)?node.vod_play_list:node.vod_url_with_player;
|
||||
let playMap = {};
|
||||
if (typeof play_url === 'undefined') {
|
||||
var play_url = ''
|
||||
}
|
||||
episodes.forEach(ep => {
|
||||
let from = [];
|
||||
if (/v1\\.vod/.test(HOST)) {
|
||||
from = ep.player_info.from||ep.player_info.show||ep.from||ep.show;
|
||||
} else {
|
||||
from = ep.code||ep.name;
|
||||
}
|
||||
if (!playMap.hasOwnProperty(from)) {
|
||||
playMap[from] = []
|
||||
}
|
||||
let parse_api = '';
|
||||
if (/v1\\.vod/.test(HOST)) {
|
||||
parse_api = ep.player_info.parse != null ? ep.player_info.parse : ep.player_info.parse2;
|
||||
// parse_api = /,/.test(parse_api) ? parse_api.split(',')[1] : parse_api;
|
||||
} else {
|
||||
parse_api = ep.parse_api;
|
||||
}
|
||||
log('parse_api =========> '+parse_api);
|
||||
if (parse_api != null && !/\\.m3u8|\\.mp4/.test(ep.url)) {
|
||||
parse_api = parse_api.replaceAll('..','.') ;
|
||||
ep.url = ep.url.replaceAll('$','$'+parse_api);
|
||||
}
|
||||
playMap[from].push(ep.url)
|
||||
});
|
||||
let playFrom = [];
|
||||
let playList = [];
|
||||
Object.keys(playMap).forEach(key => {
|
||||
playFrom.push(key);
|
||||
playList.push(playMap[key])
|
||||
});
|
||||
VOD.vod_play_from = playFrom.join('$$$');
|
||||
VOD.vod_play_url = playList.join('$$$');
|
||||
} catch (e) {
|
||||
log("获取二级详情页发生错误:" + e.message)
|
||||
}
|
||||
if (/v1\\.vod/.test(HOST)) {
|
||||
input = HOST + '/'+ input.split('/')[3];
|
||||
} else {
|
||||
input = HOST + '/'+ input.split('/')[3].replace('detail','video_detail').replace('vod_id','id');
|
||||
}
|
||||
try {
|
||||
let html = request(input);
|
||||
html = JSON.parse(html);
|
||||
let node = /xgapp/.test(HOST) ? html.data.vod_info : html.data;
|
||||
VOD = {
|
||||
vod_id: node.vod_id,
|
||||
vod_name: node.vod_name,
|
||||
vod_pic: node.vod_pic,
|
||||
type_name: node.vod_class,
|
||||
vod_year: node.vod_year,
|
||||
vod_area: node.vod_area,
|
||||
vod_remarks: node.vod_remarks,
|
||||
vod_actor: node.vod_actor,
|
||||
vod_director: node.vod_director,
|
||||
vod_content: node.vod_content.strip()
|
||||
};
|
||||
if (typeof play_url === 'undefined') {
|
||||
var play_url = ''
|
||||
}
|
||||
let episodes = /v1\\.vod/.test(HOST)?node.vod_play_list:node.vod_url_with_player;
|
||||
if (episodes != '') {
|
||||
let playMap = {};
|
||||
episodes.forEach(ep => {
|
||||
let from = [];
|
||||
if (/v1\\.vod/.test(HOST)) {
|
||||
from = ep.player_info.from||ep.player_info.show||ep.from||ep.show;
|
||||
} else {
|
||||
from = ep.code||ep.name;
|
||||
}
|
||||
if (!playMap.hasOwnProperty(from)) {
|
||||
playMap[from] = []
|
||||
}
|
||||
let parse_api = '';
|
||||
if (/v1\\.vod/.test(HOST)) {
|
||||
parse_api = ep.player_info.parse != null ? ep.player_info.parse : ep.player_info.parse2;
|
||||
// parse_api = /,/.test(parse_api) ? parse_api.split(',')[1] : parse_api;
|
||||
} else {
|
||||
parse_api = ep.parse_api;
|
||||
}
|
||||
log('parse_api =========> '+parse_api);
|
||||
if (parse_api != null && !/\\.m3u8|\\.mp4/.test(ep.url)) {
|
||||
parse_api = parse_api.replaceAll('..','.') ;
|
||||
ep.url = ep.url.replaceAll('$','$'+parse_api);
|
||||
}
|
||||
playMap[from].push(ep.url)
|
||||
});
|
||||
let playFrom = [];
|
||||
let playList = [];
|
||||
Object.keys(playMap).forEach(key => {
|
||||
playFrom.push(key);
|
||||
playList.push(playMap[key])
|
||||
});
|
||||
VOD.vod_play_from = playFrom.join('$$$');
|
||||
VOD.vod_play_url = playList.join('$$$');
|
||||
} else {
|
||||
VOD.vod_play_from = node.vod_play_from;
|
||||
VOD.vod_play_url = node.vod_play_url;
|
||||
}
|
||||
} catch (e) {
|
||||
log("获取二级详情页发生错误:" + e.message);
|
||||
}
|
||||
`,
|
||||
搜索:`js:
|
||||
let d = [];
|
||||
|
||||
Reference in New Issue
Block a user