TV-BOX/FongMi/gao-master/js/曲奇影视[V2].js
yuanwangokk-1 fd88dfa315 main
2025-08-11 12:28:16 +08:00

521 lines
No EOL
19 KiB
JavaScript

var rule = {
title: '曲奇影视[V2]', // csp_AppYsV2
host: 'https://1234567.weixiaolove.cn/api.php/app/',
url: 'video?tid=fyclassfyfilter&limit=20&pg=fypage',
filter_url: '&class={{fl.class}}&area={{fl.area}}&lang={{fl.lang}}&letter={{fl.letter}}&year={{fl.year}}&by={{fl.by}}',
filter: {
"1": [{
"key": "class",
"name": "剧情",
"value": [{"n": "全部", "v": ""}, {"n": "喜剧", "v": "喜剧"}, {"n": "爱情", "v": "爱情"}, {
"n": "恐怖",
"v": "恐怖"
}, {"n": "动作", "v": "动作"}, {"n": "科幻", "v": "科幻"}, {"n": "剧情", "v": "剧情"}, {
"n": "战争",
"v": "战争"
}, {"n": "警匪", "v": "警匪"}, {"n": "犯罪", "v": "犯罪"}, {"n": "动画", "v": "动画"}, {
"n": "奇幻",
"v": "奇幻"
}, {"n": "武侠", "v": "武侠"}, {"n": "冒险", "v": "冒险"}, {"n": "枪战", "v": "枪战"}, {
"n": "恐怖",
"v": "恐怖"
}, {"n": "悬疑", "v": "悬疑"}, {"n": "惊悚", "v": "惊悚"}, {"n": "经典", "v": "经典"}, {
"n": "青春",
"v": "青春"
}, {"n": "文艺", "v": "文艺"}, {"n": "微电影", "v": "微电影"}, {"n": "古装", "v": "古装"}, {
"n": "历史",
"v": "历史"
}, {"n": "运动", "v": "运动"}, {"n": "农村", "v": "农村"}, {"n": "儿童", "v": "儿童"}, {
"n": "网络电影",
"v": "网络电影"
}]
}, {
"key": "area",
"name": "地区",
"value": [{"n": "全部", "v": ""}, {"n": "大陆", "v": "大陆"}, {"n": "香港", "v": "香港"}, {
"n": "台湾",
"v": "台湾"
}, {"n": "美国", "v": "美国"}, {"n": "法国", "v": "法国"}, {"n": "英国", "v": "英国"}, {
"n": "日本",
"v": "日本"
}, {"n": "韩国", "v": "韩国"}, {"n": "德国", "v": "德国"}, {"n": "泰国", "v": "泰国"}, {
"n": "印度",
"v": "印度"
}, {"n": "意大利", "v": "意大利"}, {"n": "西班牙", "v": "西班牙"}, {
"n": "加拿大",
"v": "加拿大"
}, {"n": "其他", "v": "其他"}]
}, {
"key": "lang",
"name": "语言",
"value": [{"n": "全部", "v": ""}, {"n": "国语", "v": "国语"}, {"n": "英语", "v": "英语"}, {
"n": "粤语",
"v": "粤语"
}, {"n": "闽南语", "v": "闽南语"}, {"n": "韩语", "v": "韩语"}, {"n": "日语", "v": "日语"}, {
"n": "法语",
"v": "法语"
}, {"n": "德语", "v": "德语"}, {"n": "其它", "v": "其它"}]
}, {
"key": "year",
"name": "年份",
"value": [{"n": "全部", "v": ""}, {"n": "2024", "v": "2024"}, {"n": "2023", "v": "2023"}, {
"n": "2022",
"v": "2022"
}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {
"n": "2018",
"v": "2018"
}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {
"n": "2014",
"v": "2014"
}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {
"n": "2010",
"v": "2010"
}]
}],
"2": [{
"key": "class",
"name": "剧情",
"value": [{"n": "全部", "v": ""}, {"n": "古装", "v": "古装"}, {"n": "战争", "v": "战争"}, {
"n": "青春偶像",
"v": "青春偶像"
}, {"n": "喜剧", "v": "喜剧"}, {"n": "家庭", "v": "家庭"}, {"n": "犯罪", "v": "犯罪"}, {
"n": "动作",
"v": "动作"
}, {"n": "奇幻", "v": "奇幻"}, {"n": "剧情", "v": "剧情"}, {"n": "历史", "v": "历史"}, {
"n": "经典",
"v": "经典"
}, {"n": "乡村", "v": "乡村"}, {"n": "情景", "v": "情景"}, {"n": "商战", "v": "商战"}, {
"n": "网剧",
"v": "网剧"
}, {"n": "其他", "v": "其他"}]
}, {
"key": "area",
"name": "地区",
"value": [{"n": "全部", "v": ""}, {"n": "内地", "v": "内地"}, {"n": "韩国", "v": "韩国"}, {
"n": "香港",
"v": "香港"
}, {"n": "台湾", "v": "台湾"}, {"n": "日本", "v": "日本"}, {"n": "美国", "v": "美国"}, {
"n": "泰国",
"v": "泰国"
}, {"n": "英国", "v": "英国"}, {"n": "新加坡", "v": "新加坡"}, {"n": "其他", "v": "其他"}]
}, {
"key": "lang",
"name": "语言",
"value": [{"n": "全部", "v": ""}, {"n": "国语", "v": "国语"}, {"n": "英语", "v": "英语"}, {
"n": "粤语",
"v": "粤语"
}, {"n": "闽南语", "v": "闽南语"}, {"n": "韩语", "v": "韩语"}, {"n": "日语", "v": "日语"}, {
"n": "其它",
"v": "其它"
}]
}, {
"key": "year",
"name": "年份",
"value": [{"n": "全部", "v": ""}, {"n": "2024", "v": "2024"}, {"n": "2023", "v": "2023"}, {
"n": "2022",
"v": "2022"
}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {
"n": "2018",
"v": "2018"
}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {
"n": "2014",
"v": "2014"
}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {
"n": "2010",
"v": "2010"
}]
}],
"3": [{
"key": "class",
"name": "剧情",
"value": [{"n": "全部", "v": ""}, {"n": "选秀", "v": "选秀"}, {"n": "情感", "v": "情感"}, {
"n": "访谈",
"v": "访谈"
}, {"n": "播报", "v": "播报"}, {"n": "旅游", "v": "旅游"}, {"n": "音乐", "v": "音乐"}, {
"n": "美食",
"v": "美食"
}, {"n": "纪实", "v": "纪实"}, {"n": "曲艺", "v": "曲艺"}, {"n": "生活", "v": "生活"}, {
"n": "游戏互动",
"v": "游戏互动"
}, {"n": "财经", "v": "财经"}, {"n": "求职", "v": "求职"}]
}, {
"key": "area",
"name": "地区",
"value": [{"n": "全部", "v": ""}, {"n": "内地", "v": "内地"}, {"n": "港台", "v": "港台"}, {
"n": "日韩",
"v": "日韩"
}, {"n": "欧美", "v": "欧美"}]
}, {
"key": "lang",
"name": "语言",
"value": [{"n": "全部", "v": ""}, {"n": "国语", "v": "国语"}, {"n": "英语", "v": "英语"}, {
"n": "粤语",
"v": "粤语"
}, {"n": "闽南语", "v": "闽南语"}, {"n": "韩语", "v": "韩语"}, {"n": "日语", "v": "日语"}, {
"n": "其它",
"v": "其它"
}]
}, {
"key": "year",
"name": "年份",
"value": [{"n": "全部", "v": ""}, {"n": "2024", "v": "2024"}, {"n": "2023", "v": "2023"}, {
"n": "2022",
"v": "2022"
}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {
"n": "2018",
"v": "2018"
}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {
"n": "2014",
"v": "2014"
}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {
"n": "2010",
"v": "2010"
}]
}],
"4": [{
"key": "class",
"name": "剧情",
"value": [{"n": "全部", "v": ""}, {"n": "情感", "v": "情感"}, {"n": "科幻", "v": "科幻"}, {
"n": "热血",
"v": "热血"
}, {"n": "推理", "v": "推理"}, {"n": "搞笑", "v": "搞笑"}, {"n": "冒险", "v": "冒险"}, {
"n": "萝莉",
"v": "萝莉"
}, {"n": "校园", "v": "校园"}, {"n": "动作", "v": "动作"}, {"n": "机战", "v": "机战"}, {
"n": "运动",
"v": "运动"
}, {"n": "战争", "v": "战争"}, {"n": "少年", "v": "少年"}, {"n": "少女", "v": "少女"}, {
"n": "社会",
"v": "社会"
}, {"n": "原创", "v": "原创"}, {"n": "亲子", "v": "亲子"}, {"n": "益智", "v": "益智"}, {
"n": "励志",
"v": "励志"
}, {"n": "其他", "v": "其他"}]
}, {
"key": "area",
"name": "地区",
"value": [{"n": "全部", "v": ""}, {"n": "国产", "v": "国产"}, {"n": "日本", "v": "日本"}, {
"n": "欧美",
"v": "欧美"
}, {"n": "其他", "v": "其他"}]
}, {
"key": "lang",
"name": "语言",
"value": [{"n": "全部", "v": ""}, {"n": "国语", "v": "国语"}, {"n": "英语", "v": "英语"}, {
"n": "粤语",
"v": "粤语"
}, {"n": "闽南语", "v": "闽南语"}, {"n": "韩语", "v": "韩语"}, {"n": "日语", "v": "日语"}, {
"n": "其它",
"v": "其它"
}]
}, {
"key": "year",
"name": "年份",
"value": [{"n": "全部", "v": ""}, {"n": "2024", "v": "2024"}, {"n": "2023", "v": "2023"}, {
"n": "2022",
"v": "2022"
}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {
"n": "2018",
"v": "2018"
}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {
"n": "2014",
"v": "2014"
}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {
"n": "2010",
"v": "2010"
}]
}]
},
detailUrl: '/detail?vod_id=fyid',
searchUrl: '/search?text=**&pg=fypage',
searchable: 2,
quickSearch: 0,
filterable: 1,//是否启用分类筛选,
headers: {'User-Agent': 'okhttp/4.1.0'},
timeout: 5000,
// 分类筛选 /api.php/app/nav || /xgapp.php/v1/nav || /api.php/v1.vod/types
class_name: '体育&电影&连续剧&综艺&动漫&电影解说',
class_url: '20&1&2&3&4&5',
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)) {
input = input.split('url=');
play_Url = input[0].split(',')[0];
input = {
jx: 0,
url: input[1],
playUrl: play_Url,
parse: 1
}
} 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|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 {
input
}
`,
limit: 6,
// 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36',
推荐: `js:
let d = [];
let jsondata = [];
let videoList = [];
if (/v1\\.vod/.test(HOST)) {
if(HOST.endsWith('/')){
jsondata = JSON.parse(request(HOST + 'vodPhbAll'));
} else {
jsondata = JSON.parse(request(HOST + '/vodPhbAll'));
}
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 : jsondata.list;
}
// log('videoList =========> '+stringify(videoList));
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);
`,
一级: `js:
let d = [];
let jsondata = [];
let videoList = [];
if (/v1\\.vod/.test(HOST)) {
input = input.replace('video','v1.vod').replace('tid','type').replace('pg=','page=');
jsondata = JSON.parse(request(input));
videoList = jsondata.data.list;
} else {
input = HOST + '/'+ input.split('/')[4];
jsondata = JSON.parse(request(input));
videoList = jsondata.list || jsondata.data;
}
// 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,
});
});
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()
};
if (typeof play_url === 'undefined') {
var play_url = ''
}
var name = {
'bfzym3u8': '暴风',
'1080zyk': '优质',
'kuaikan': '快看',
'lzm3u8': '量子',
'ffm3u8': '非凡',
'haiwaikan': '海外看',
'gsm3u8': '光速',
'zuidam3u8': '最大',
'bjm3u8': '八戒',
'snm3u8': '索尼',
'wolong': '卧龙',
'xlm3u8': '新浪',
'yhm3u8': '樱花',
'tkm3u8': '天空',
'jsm3u8': '极速',
'wjm3u8': '无尽',
'sdm3u8': '闪电',
'kcm3u8': '快车',
'jinyingm3u8': '金鹰',
'fsm3u8': '飞速',
'tpm3u8': '淘片',
'lem3u8': '鱼乐',
'dbm3u8': '百度',
'tomm3u8': '番茄',
'ukm3u8': 'U酷',
'ikm3u8': '爱坤',
'hnzym3u8': '红牛资源',
'hnm3u8': '红牛',
'68zy_m3u8': '68',
'kdm3u8': '酷点',
'bdxm3u8': '北斗星',
'qhm3u8': '奇虎',
'hhm3u8': '豪华',
'kbm3u8': '快播'
};
let episodes = /v1\\.vod/.test(HOST)?node.vod_play_list:node.vod_url_with_player;
if (episodes != '') {
let playMap = {};
let arr = [];
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);
}
if (from != null) playMap[from].push(ep.url)
});
for (var key in playMap) {
if ('bfzym3u8' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 1
})
} else if ('1080zyk' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 2
})
} else if ('kuaikan' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 3
})
} else if ('lzm3u8' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 4
})
} else if ('ffm3u8' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 5
})
} else if ('snm3u8' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 6
})
} else if ('qhm3u8' == key) {
arr.push({
flag: name[key],
url: playMap[key],
sort: 7
})
} else {
arr.push({
flag: name[key] ? name[key] : key,
url: playMap[key],
sort: 8
})
}
}
arr.sort((a, b) => a.sort - b.sort);
let playFrom = [];
let playList = [];
arr.map(val => {
if (!/undefined/.test(val.flag)) {
playFrom.push(val.flag);
playList.push(val.url);
}
})
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 = [];
let jsondata = [];
let videoList = [];
if (/v1\\.vod/.test(HOST)) {
input = (HOST + '/'+ input.split('/')[3]).replace('/search','').replace('text=','wd=').replace('pg=','page=');
jsondata = JSON.parse(request(input));
videoList = jsondata.data.list;
} else {
input = HOST + '/'+ input.split('/')[3]
jsondata = JSON.parse(request(input));
videoList = jsondata.list || jsondata.data;
}
// 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,
});
});
setResult(d);
`,
}