ymz/桃子影视.js

129 lines
4.8 KiB
JavaScript

muban.mxpro.二级.title = 'h1&&Text;.module-info-tag&&Text';
muban.mxpro.二级.desc = '.module-info-item:eq(4)&&Text;;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text';
muban.mxpro.二级.tabs = '#y-playList&&span';
muban.mxpro.二级.lists = '.module-play-list:eq(#id)&&a';
var rule = {
title:'桃子影视', //原91free
模板:'mxpro',
host:'https://www.taozi007.com',
url:'/show/fyclass--------fypage---.html',
headers: {
'User-Agent': 'Mozilla/5.0 (Linux; Android 12; RMX2173 Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.98 Mobile Safari/537.36',
'Cookie':'__51vcke__KOfCv4E7m6sGPKS0=6df913ac-dddb-53e5-8326-1fd862b29274; __51vuft__KOfCv4E7m6sGPKS0=1719217615148; mx_style=black; PHPSESSID=huf9ei30m0gn38q7tfgpbb06td; guardok=RbG75MeHvwi+GJH1umq8QQT894VzcfPAl5hsc/i9vdbK8ChMjJaHXoVL8Im/vPAI8gEbQy5accaauX6UCBtXog==; __51uvsct__KOfCv4E7m6sGPKS0=19; showBtn=true; __vtins__KOfCv4E7m6sGPKS0=%7B%22sid%22%3A%20%228f9b38ab-ab4f-5a68-912a-d910c4c04169%22%2C%20%22vd%22%3A%205%2C%20%22stt%22%3A%2079997%2C%20%22dr%22%3A%203633%2C%20%22expires%22%3A%201721281168841%2C%20%22ct%22%3A%201721279368841%7D; mac_history_mxpro=%5B%7B%22vod_name%22%3A%22%E5%A2%A8%E9%9B%A8%E4%BA%91%E9%97%B4%22%2C%22vod_url%22%3A%22https%3A%2F%2Ftaozi007.com%2Fplay%2F21067-5-1.html%22%2C%22vod_part%22%3A%22%E7%AC%AC01%E9%9B%86%22%7D%5D;__51uvsct__KOfCv4E7m6sGPKS0=2',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language':'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
},
class_parse: '.navbar-items&&a[href*=type];a&&title;a&&href;(\\d+).html',
lazy: $js.toString(() => {
var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
var url = html.url;
if (html.encrypt == '1') {
url = unescape(url);
} else if (html.encrypt == '2') {
url = unescape(base64Decode(url));
}
let Code = {};
let code=request(HOST + '/static/js/playerconfig.js');
eval(code + '\nCode=MacPlayerConfig;');
let jx = HOST+Code.player_list[html.from].parse;
if (jx == '') {
jx = HOST+Code.parse
}
log(jx)
if(/feidaozy|1080zyk|subm3u8/.test(html.from)){
input={
url: url,
parse:0,
jx:0
}
}else if (/qiyi|qq|youku|mgtv/.test(html.from)){
let api="https://zhanzhang.toutiao.com/s.gif?url="
let 请求=request(api+ url, {
headers: {
'Referer': ""
}
})
let config={};
let 链接 =请求.match(/let ConFig.*}/)[0]
log('链接:'+链接)
eval(链接 + '\nconfig=ConFig');
log('url:'+config.config.uid)
eval(getCryptoJS())
function decryptVideoUrl(encryptedUrl, uid) {
const key = CryptoJS.enc.Utf8.parse('2890' + uid + 'tB959C');
const iv = CryptoJS.enc.Utf8.parse('2F131BE91247866E');
const decrypted = CryptoJS.AES.decrypt(encryptedUrl, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypted);
}
let video = decryptVideoUrl(config.url,config.config.uid)
input = {
jx: 0,
url: video,
parse: 0
}
} else if (/ty/.test(html.from)){
let ty跳转= JSON.parse(request(jx+url,{
redirect:false,
withHeaders:true
})).location
log(ty跳转)
let ty请求=request(ty跳转,{
headers: {
'Referer': ''
}
})
let rand= ty请求.match(/var rand = "(.*?)";/)[1];
let player= ty请求.match(/var player = "(.*?)";/)[1];
log(rand)
function js_decrypt(str, key, iv) {
eval(getCryptoJS())
var key = CryptoJS.enc.Utf8.parse(key);
var iv = CryptoJS.enc.Utf8.parse(iv);
var decrypted = CryptoJS.AES.decrypt(str, key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
return decrypted
}
var ur =JSON.parse(js_decrypt(player, 'VFBTzdujpR9FWBhe', rand)).url
input={
jx:0,
url:ur,
parse:0
}
}else{
let wj= JSON.parse(request(jx+url,{redirect:false, withHeaders:true})).location
let play= wj.replace('https://zhanzhang.toutiao.com/s.gif?url=','')
input={
jx:0,
url:play,
parse:0
}
}
}),
推荐: '*',
double: false, // 推荐内容是否双层定
searchUrl:'/search/**----------fypage---.html',
}