|
|
|
@ -226,23 +226,23 @@ function xunmi(name,data,ishkss) { |
|
|
|
|
let key = (mm<10?"0"+mm:mm)+""+(dd<10?"0"+dd:dd); |
|
|
|
|
var url = url_api + '/detail?&key='+key+'&vod_id='; |
|
|
|
|
var ssurl = url_api + '?ac=videolist&limit=10&wd='+name+'&key='+key; |
|
|
|
|
var lists = "html.data.list"; |
|
|
|
|
var listcode = "html.data.list"; |
|
|
|
|
} else if (obj.type=="app") { |
|
|
|
|
var url = url_api + 'video_detail?id='; |
|
|
|
|
var ssurl = url_api + 'search?limit=10&text='+name; |
|
|
|
|
var lists = "html.list"; |
|
|
|
|
var listcode = "html.list"; |
|
|
|
|
} else if (obj.type=="v2") { |
|
|
|
|
var url = url_api + 'video_detail?id='; |
|
|
|
|
var ssurl = url_api + 'search?limit=10&text='+name; |
|
|
|
|
var lists = "html.data"; |
|
|
|
|
var listcode = "html.data"; |
|
|
|
|
} else if (obj.type=="iptv") { |
|
|
|
|
var url = url_api + '?ac=detail&ids='; |
|
|
|
|
var ssurl = url_api + '?ac=list&zm='+name+'&wd='+name;
|
|
|
|
|
var lists = "html.data"; |
|
|
|
|
var listcode = "html.data"; |
|
|
|
|
} else if (obj.type=="cms") { |
|
|
|
|
var url = url_api + '?ac=videolist&ids='; |
|
|
|
|
var ssurl = url_api + '?ac=videolist&wd='+name; |
|
|
|
|
var lists = "html.list"; |
|
|
|
|
var listcode = "html.list"; |
|
|
|
|
} else if (obj.type=="xpath"||obj.type=="biubiu") { |
|
|
|
|
var jsondata = obj.data; |
|
|
|
|
} else { |
|
|
|
@ -291,9 +291,11 @@ function xunmi(name,data,ishkss) { |
|
|
|
|
return html; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let lists = []; |
|
|
|
|
let gethtml = ""; |
|
|
|
|
if(/v1|app|iptv|v2|cms/.test(obj.type)){ |
|
|
|
|
try { |
|
|
|
|
var gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
if(/cms/.test(obj.type)){ |
|
|
|
|
if(gethtml&&gethtml.indexOf(name)==-1){ |
|
|
|
|
gethtml = getHtmlCode(ssurl.replace('videolist','list'),urlua,xunmitimeout*1000); |
|
|
|
@ -314,8 +316,8 @@ function xunmi(name,data,ishkss) { |
|
|
|
|
var html = JSON.parse(gethtml); |
|
|
|
|
} |
|
|
|
|
}else if(!/{|}/.test(gethtml)&&gethtml!=""){ |
|
|
|
|
var decfile = "hiker://files/rules/Src/Juying/appdec.js"; |
|
|
|
|
var Juyingdec=fetch(decfile); |
|
|
|
|
let decfile = "hiker://files/rules/Src/Juying/appdec.js"; |
|
|
|
|
let Juyingdec=fetch(decfile); |
|
|
|
|
if(Juyingdec != ""){ |
|
|
|
|
eval(Juyingdec); |
|
|
|
|
var html = JSON.parse(xgdec(gethtml)); |
|
|
|
@ -329,110 +331,72 @@ function xunmi(name,data,ishkss) { |
|
|
|
|
} |
|
|
|
|
try{ |
|
|
|
|
try{ |
|
|
|
|
var list = eval(lists)||html.list||html.data.list||html.data||[]; |
|
|
|
|
lists = eval(listcode)||html.list||html.data.list||html.data||[]; |
|
|
|
|
} catch (e) { |
|
|
|
|
var list = html.list||html.data.list||html.data||[]; |
|
|
|
|
lists = html.list||html.data.list||html.data||[]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(list.length==0&&obj.type=="iptv"){ |
|
|
|
|
try { |
|
|
|
|
if(lists.length==0&&obj.type=="iptv"){ |
|
|
|
|
ssurl = ssurl.replace('&zm='+name,''); |
|
|
|
|
html = JSON.parse(getHtmlCode(ssurl,urlua,xunmitimeout*1000)); |
|
|
|
|
list = html.data||[]; |
|
|
|
|
} catch (e) { |
|
|
|
|
list = []; |
|
|
|
|
} |
|
|
|
|
lists = html.data||[]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(list.length>0){ |
|
|
|
|
try { |
|
|
|
|
let search = list.map((list)=>{ |
|
|
|
|
lists = lists.map(list=>{ |
|
|
|
|
let vodname = list.vod_name||list.title; |
|
|
|
|
if(vodname.indexOf(name)>-1){ |
|
|
|
|
let vodpic = list.vod_pic||list.pic; |
|
|
|
|
let vodpic = list.vod_pic||list.pic||""; |
|
|
|
|
let voddesc = list.vod_remarks||list.state||""; |
|
|
|
|
let appname = '‘‘’’<font color=#f13b66a>'+obj.name+'</font>'+' ('+obj.type+')'+(obj.group&&obj.group!=obj.type?' ['+obj.group+']':''); |
|
|
|
|
let vodurl = list.vod_id?url + list.vod_id:list.nextlink; |
|
|
|
|
vodpic = vodpic?vodpic.replace(/http.*\/tu\.php\?tu=|\/img\.php\?url=| |\/tu\.php\?tu=/g,'') + "@Referer=":"https://www.xawqxh.net/mxtheme/images/loading.gif@Referer="; |
|
|
|
|
if(/^\/upload|^upload/.test(vodpic)){ |
|
|
|
|
vodpic = vodurl.match(/http(s)?:\/\/(.*?)\//)[0] + vodpic; |
|
|
|
|
} |
|
|
|
|
if(/^\/\//.test(vodpic)){ |
|
|
|
|
vodpic = "https" + vodpic; |
|
|
|
|
} |
|
|
|
|
return { |
|
|
|
|
title: !ishkss?vodname!=name?vodname.replace(name,'‘‘’’<font color=red>'+name+'</font>'):'‘‘’’<font color=red>'+vodname+'</font>':vodname, |
|
|
|
|
desc: !ishkss?(voddesc + '\n\n' + appname):'聚影√ · '+obj.name, |
|
|
|
|
content: voddesc, |
|
|
|
|
pic_url: vodpic, |
|
|
|
|
url: $("hiker://empty##" + vodurl + "#immersiveTheme##autoCache#").rule((type,ua) => { |
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyXunmi.js'); |
|
|
|
|
xunmierji(type,ua) |
|
|
|
|
},obj.type, urlua), |
|
|
|
|
col_type: "movie_1_vertical_pic", |
|
|
|
|
extra: { |
|
|
|
|
id: 'xumi-'+url_api, |
|
|
|
|
pic: vodpic, |
|
|
|
|
name: vodname, |
|
|
|
|
title: vodname+'-'+obj.name, |
|
|
|
|
cls: 'xunmilist' |
|
|
|
|
} |
|
|
|
|
vodname: vodname, |
|
|
|
|
vodpic: vodpic, |
|
|
|
|
voddesc: voddesc, |
|
|
|
|
vodurl: vodurl |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
search = search.filter(n => n); |
|
|
|
|
if(search.length>0){ |
|
|
|
|
return {result:1, apiurl:url_api, add:search}; |
|
|
|
|
} |
|
|
|
|
} catch (e) { |
|
|
|
|
log(obj.name+'>'+e.message); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return {result:0, url:ssurl, apiurl:url_api, error:geterror}; |
|
|
|
|
}) |
|
|
|
|
} catch (e) { |
|
|
|
|
//log(obj.name+'>'+e.message);
|
|
|
|
|
return {result:0, url:ssurl, apiurl:url_api, error:geterror}; |
|
|
|
|
geterror = 1; |
|
|
|
|
} |
|
|
|
|
}else if(obj.type=="xpath"||obj.type=="biubiu"){ |
|
|
|
|
try { |
|
|
|
|
if(obj.type=="xpath"){ |
|
|
|
|
var ssurl = jsondata.searchUrl.replace('{wd}',name); |
|
|
|
|
let ssurl = jsondata.searchUrl.replace('{wd}',name); |
|
|
|
|
if(jsondata.scVodNode=="json:list"){ |
|
|
|
|
var gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
var html = JSON.parse(gethtml); |
|
|
|
|
var list = html.list||[]; |
|
|
|
|
gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
let html = JSON.parse(gethtml); |
|
|
|
|
lists = html.list||[]; |
|
|
|
|
}else{ |
|
|
|
|
var sstype = ssurl.indexOf(';post')>-1?"post":"get"; |
|
|
|
|
let sstype = ssurl.indexOf(';post')>-1?"post":"get"; |
|
|
|
|
if(sstype == "post"){ |
|
|
|
|
let ssstr = ssurl.replace(';post','').split('?'); |
|
|
|
|
var postcs = ssstr[ssstr.length-1]; |
|
|
|
|
let postcs = ssstr[ssstr.length-1]; |
|
|
|
|
if(ssstr.length>2){ |
|
|
|
|
ssstr.length = ssstr.length-1; |
|
|
|
|
} |
|
|
|
|
ssurl = ssstr.join('?'); |
|
|
|
|
var gethtml = request(ssurl, { headers: { 'User-Agent': urlua }, timeout:xunmitimeout*1000, method: 'POST', body: postcs }); |
|
|
|
|
gethtml = request(ssurl, { headers: { 'User-Agent': urlua }, timeout:xunmitimeout*1000, method: 'POST', body: postcs }); |
|
|
|
|
}else{ |
|
|
|
|
var gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let title = xpathArray(gethtml, jsondata.scVodNode+jsondata.scVodName); |
|
|
|
|
let href = xpathArray(gethtml, jsondata.scVodNode+jsondata.scVodId); |
|
|
|
|
let img = xpathArray(gethtml, jsondata.scVodNode+jsondata.scVodImg); |
|
|
|
|
let mark = xpathArray(gethtml, jsondata.scVodNode+jsondata.scVodMark)||""; |
|
|
|
|
var list = []; |
|
|
|
|
for(var j in title){ |
|
|
|
|
list.push({"id":/^http/.test(href[j])||/\{vid}$/.test(jsondata.dtUrl)?href[j]:href[j].replace(/\/.*?\/|\.html/g,''),"name":title[j],"pic":img[j],"desc":mark[j]}) |
|
|
|
|
for(let j in title){ |
|
|
|
|
lists.push({"id":/^http/.test(href[j])||/\{vid}$/.test(jsondata.dtUrl)?href[j]:href[j].replace(/\/.*?\/|\.html/g,''),"name":title[j],"pic":img[j],"desc":mark[j]}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
var ssvodurl = `jsondata.dtUrl.replace('{vid}',list.id)`; |
|
|
|
|
}else{ |
|
|
|
|
var ssurl = jsondata.url+jsondata.sousuoqian+name+jsondata.sousuohou; |
|
|
|
|
let ssurl = jsondata.url+jsondata.sousuoqian+name+jsondata.sousuohou; |
|
|
|
|
if(jsondata.ssmoshi=="0"){ |
|
|
|
|
var gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
var html = JSON.parse(gethtml); |
|
|
|
|
var list = html.list||[]; |
|
|
|
|
gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
let html = JSON.parse(gethtml); |
|
|
|
|
lists = html.list||[]; |
|
|
|
|
}else{ |
|
|
|
|
var sstype = ssurl.indexOf(';post')>-1?"post":"get"; |
|
|
|
|
let sstype = ssurl.indexOf(';post')>-1?"post":"get"; |
|
|
|
|
if(sstype == "post"){ |
|
|
|
|
/* |
|
|
|
|
let ssstr = ssurl.replace(';post','').split('?'); |
|
|
|
@ -443,48 +407,64 @@ function xunmi(name,data,ishkss) { |
|
|
|
|
var gethtml = request(ssurl, { headers: { 'User-Agent': urlua }, timeout:xunmitimeout*1000, method: 'POST', body: postcs }); |
|
|
|
|
*/ |
|
|
|
|
}else{ |
|
|
|
|
var gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
gethtml = getHtmlCode(ssurl,urlua,xunmitimeout*1000); |
|
|
|
|
} |
|
|
|
|
let sslist = gethtml.split(jsondata.jiequshuzuqian.replace(/\\/g,"")); |
|
|
|
|
sslist.splice(0,1); |
|
|
|
|
var list = []; |
|
|
|
|
for (let i = 0; i < sslist.length; i++) { |
|
|
|
|
sslist[i] = sslist[i].split(jsondata.jiequshuzuhou.replace(/\\/g,""))[0]; |
|
|
|
|
let title = sslist[i].split(jsondata.biaotiqian.replace(/\\/g,""))[1].split(jsondata.biaotihou.replace(/\\/g,""))[0]; |
|
|
|
|
let href = sslist[i].split(jsondata.lianjieqian.replace(/\\/g,""))[1].split(jsondata.lianjiehou.replace(/\\/g,""))[0].replace('.html','').replace(jsondata.sousuohouzhui.replace(/\\/g,""),""); |
|
|
|
|
let img = sslist[i].split(jsondata.tupianqian.replace(/\\/g,""))[1].split(jsondata.tupianhou.replace(/\\/g,""))[0]; |
|
|
|
|
let mark = ""; |
|
|
|
|
list.push({"id":href,"name":title,"pic":img,"desc":mark}) |
|
|
|
|
lists.push({"id":href,"name":title,"pic":img,"desc":mark}) |
|
|
|
|
} |
|
|
|
|
if(jsondata.sousuohouzhui=="/vod/"){jsondata.sousuohouzhui = "/index.php/vod/detail/id/"} |
|
|
|
|
} |
|
|
|
|
var ssvodurl = `jsondata.url+jsondata.sousuohouzhui+list.id+'.html'`; |
|
|
|
|
} |
|
|
|
|
lists = lists.map(list=>{ |
|
|
|
|
let vodname = list.name; |
|
|
|
|
if(vodname.indexOf(name)>-1){ |
|
|
|
|
let vodpic = list.pic||""; |
|
|
|
|
let voddesc = list.desc||""; |
|
|
|
|
let vodurl = eval(ssvodurl); |
|
|
|
|
return { |
|
|
|
|
vodname: vodname, |
|
|
|
|
vodpic: vodpic, |
|
|
|
|
voddesc: voddesc, |
|
|
|
|
vodurl: vodurl |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} catch (e) { |
|
|
|
|
//log(obj.name+'>'+e.message);
|
|
|
|
|
var list = []; |
|
|
|
|
if(gethtml){geterror = 1;} |
|
|
|
|
geterror = 1; |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if(list.length>0){ |
|
|
|
|
|
|
|
|
|
if(lists.length>0){ |
|
|
|
|
try { |
|
|
|
|
let search = list.map((list)=>{ |
|
|
|
|
let vodname = list.name; |
|
|
|
|
if(vodname.indexOf(name)>-1){ |
|
|
|
|
let vodpic = list.pic.replace(/http.*\/tu\.php\?tu=|\/tu\.php\?tu=| |\/img\.php\?url=/g,''); |
|
|
|
|
let voddesc = list.desc?list.desc:""; |
|
|
|
|
let search = lists.map((list)=>{ |
|
|
|
|
let vodname = list.vodname |
|
|
|
|
let vodpic = list.vodpic?list.vodpic.replace(/http.*\/tu\.php\?tu=|\/img\.php\?url=| |\/tu\.php\?tu=/g,'') + "@Referer=":"https://www.xawqxh.net/mxtheme/images/loading.gif@Referer="; |
|
|
|
|
let voddesc = list.voddesc; |
|
|
|
|
let appname = '‘‘’’<font color=#f13b66a>'+obj.name+'</font>'+' ('+obj.type+')'+(obj.group&&obj.group!=obj.type?' ['+obj.group+']':''); |
|
|
|
|
let vodurl = eval(ssvodurl); |
|
|
|
|
if(/^\/upload|^upload/.test(vodpic)){ |
|
|
|
|
vodpic = vodurl.match(/http(s)?:\/\/(.*?)\//)[0] + vodpic; |
|
|
|
|
} |
|
|
|
|
let vodurl = vodurl; |
|
|
|
|
if(/^\/\//.test(vodpic)){ |
|
|
|
|
vodpic = "https" + vodpic; |
|
|
|
|
}
|
|
|
|
|
if(/^\/upload|^upload/.test(vodpic)){ |
|
|
|
|
vodpic = vodurl.match(/http(s)?:\/\/(.*?)\//)[0] + vodpic; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
title: !ishkss?vodname!=name?vodname.replace(name,'‘‘’’<font color=red>'+name+'</font>'):'‘‘’’<font color=red>'+vodname+'</font>':vodname, |
|
|
|
|
desc: !ishkss?(voddesc + '\n\n' + appname):'聚影√ · '+obj.name, |
|
|
|
|
content: voddesc, |
|
|
|
|
pic_url: vodpic?vodpic + "@Referer=":"https://www.xawqxh.net/mxtheme/images/loading.gif@Referer=", |
|
|
|
|
pic_url: vodpic, |
|
|
|
|
url: $("hiker://empty##" + vodurl + "#immersiveTheme##autoCache#").rule((type,ua) => { |
|
|
|
|
require(config.依赖.match(/http(s)?:\/\/.*\//)[0] + 'SrcJyXunmi.js'); |
|
|
|
|
xunmierji(type,ua) |
|
|
|
@ -495,25 +475,21 @@ function xunmi(name,data,ishkss) { |
|
|
|
|
pic: vodpic, |
|
|
|
|
name: vodname, |
|
|
|
|
title: vodname+'-'+obj.name, |
|
|
|
|
data: jsondata, |
|
|
|
|
data: typeof(jsondata) =="undefined"|| jsondata ==null?{}:jsondata, |
|
|
|
|
cls: 'xunmilist' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
search = search.filter(n => n); |
|
|
|
|
if(search.length>0){ |
|
|
|
|
return {result:1, apiurl:url_api, add:search}; |
|
|
|
|
} |
|
|
|
|
} catch (e) { |
|
|
|
|
log(obj.name+'>'+e.message); |
|
|
|
|
//log(obj.name+'>'+e.message);
|
|
|
|
|
geterror = 1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return {result:0, url:ssurl, apiurl:url_api, error:geterror}; |
|
|
|
|
}else{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
let Jklist = datalist.map((parse)=>{ |
|
|
|
|