This commit is contained in:
2025-12-24 12:48:17 +00:00
parent 643ac41e84
commit 1cace19e73
5 changed files with 814 additions and 0 deletions

126
jtxtv12/js/人人电影.js Normal file
View File

@@ -0,0 +1,126 @@
var rule = {
title: '人人电影网',
host: 'https://www.rrdynb.com',
homeUrl: '/',
url: '/fyclass_fypage.html?',
filter_url: '{{fl.class}}',
filter: {},
searchUrl: '/plus/search.php?q=**&pagesize=10&submit=',
searchable: 2,
quickSearch: 1,
filterable: 0,
headers: {
'User-Agent': 'PC_UA',
'Cookie': ''
},
timeout: 5000,
class_name: '影视&电视剧&老电影&动漫',
class_url: 'movie/list_2&dianshiju/list_6&zongyi/list_10&dongman/list_13',
play_parse: true,
play_json: [{
re: '*',
json: {
parse: 0,
jx: 0
}
}],
lazy: "js:\n input = 'push://' + input;\n ",
limit: 6,
推荐: '',
一级: 'li:has(img);img&&alt;img&&data-original;;a&&href',
二级: {
title: "h1&&Text",
img: "img&&src",
desc: ".info:eq(0)&&Text",
content: ".content&&Text",
tabs: `js:
pdfh = jsp.pdfh;
pdfa = jsp.pdfa;
TABS = [];
let d = pdfa(html, 'span a');
let hasBaidu = false;
let hasQuark = false;
d.forEach(function(it) {
let burl = pdfh(it, 'a&&href');
if (burl.includes("pan.baidu.com/s/")) {
hasBaidu = true;
} else if (burl.includes("pan.quark.cn/s/")) {
hasQuark = true;
}
});
// 确保线路顺序固定:百度网盘在前,夸克网盘在后
if (hasBaidu) TABS.push("百度网盘");
if (hasQuark) TABS.push("夸克网盘");
log('生成TABS: ' + JSON.stringify(TABS));`,
lists: `js:
pdfh = jsp.pdfh;
pdfa = jsp.pdfa;
LISTS = [];
let d = pdfa(html, 'span a');
// 提取码识别函数
function extractCode(title, patterns) {
for (let pattern of patterns) {
const match = title.match(pattern);
if (match && match[1]) {
return match[1];
}
}
return null;
}
// 创建资源分类数组
let baiduList = [];
let quarkList = [];
d.forEach(function(it) {
let burl = pdfh(it, 'a&&href');
let title = pdfh(it, 'a&&Text');
// 百度网盘处理
if (burl.includes("pan.baidu.com/s/")) {
const baiduPatterns = [
/(?:提取码|密码|验证码|code|pwd|码)[:\s]*(\w{4})/i,
/(?:\b|\s)(\w{4})(?=提取|百度|网盘|分享|$)/i,
/[\s\[](\w{4})[\s\]]/,
/\b(\w{4})\b/
];
const code = extractCode(title, baiduPatterns);
if (code) {
burl += '#' + code;
log('百度网盘提取码识别成功: ' + code);
} else {
log('未识别到百度提取码,使用原始链接');
}
baiduList.push(title + '$' + burl);
}
// 夸克网盘处理
else if (burl.includes("pan.quark.cn/s/")) {
const quarkPatterns = [
/(?:密码|pwd)[:\s]*(\w{4,8})/i,
/(?:\b|\s)(\w{4,8})(?=提取|夸克|网盘|分享|$)/i,
/[\s\[](\w{4,8})[\s\]]/,
/\b(\w{4,8})\b/
];
const code = extractCode(title, quarkPatterns);
if (code) {
burl += '#' + code;
log('夸克网盘密码识别成功: ' + code);
}
quarkList.push(title + '$' + burl);
}
});
// 按固定顺序添加资源列表与TABS顺序一致
if (baiduList.length > 0) {
LISTS.push(baiduList);
}
if (quarkList.length > 0) {
LISTS.push(quarkList);
}`,
},
搜索: 'li:has(img);h2&&Text;img&&data-original;.tags&&Text;a&&href',
};

105
jtxtv12/js/努努影院.js Normal file
View File

@@ -0,0 +1,105 @@
var rule = {
//rc4解密函数
rc4Decrypt: function (encryptedHex) {
const key = "i_love_you";
const encryptedBytes = new Uint8Array(encryptedHex.length / 2);
for (let i = 0; i < encryptedBytes.length; i++) {
encryptedBytes[i] = parseInt(encryptedHex.substr(i * 2, 2), 16);
}
const s = Array.from({ length: 256 }, (_, i) => i);
let j = 0;
const keyLength = key.length;
for (let i = 0; i < 256; i++) {
j = (j + s[i] + key.charCodeAt(i % keyLength)) % 256;
[s[i], s[j]] = [s[j], s[i]];
}
let i = 0;
j = 0;
const decryptedBytes = new Uint8Array(encryptedBytes.length);
for (let k = 0; k < encryptedBytes.length; k++) {
i = (i + 1) % 256;
j = (j + s[i]) % 256;
[s[i], s[j]] = [s[j], s[i]];
const keyStreamByte = s[(s[i] + s[j]) % 256];
decryptedBytes[k] = encryptedBytes[k] ^ keyStreamByte;
}
const decoder = new TextDecoder('utf-8');
const result = decoder.decode(decryptedBytes);
return result;
},
author: '小可乐/v5.10.1',
title: '努努影院',
类型: '影视',
host: 'https://nnyy.la',
hostJs: '',
headers: {'User-Agent': MOBILE_UA},
编码: 'utf-8',
timeout: 5000,
homeUrl: '/',
url: '/fyclass/?page=fypage&fyfilter',
filter_url: 'area={{fl.area}}&by={{fl.by}}&class={{fl.class}}&year={{fl.year}}',
searchUrl: '/search?page=fypage&wd=**',
detailUrl: '',
limit: 9,
double: false,
class_name: '电影&剧集&综艺&动漫&短剧&纪录',
class_url: 'dianying&dianshiju&zongyi&dongman&duanju&jilupian',
filter_def: {},
推荐: '*',
一级: $js.toString(() => {
let klists = pdfa(fetch(input), '.thumbnail');
VODS = [];
klists.forEach((it) => {
VODS.push({
vod_name: pdfh(it, 'img&&alt'),
vod_pic: pdfh(it, 'img&&data-src'),
vod_remarks: pdfh(it, '.note&&Text'),
vod_id: pdfh(it, 'a&&href')
})
})
}),
搜索: '*',
二级: $js.toString(() => {
let khtml = fetch(input);
let ktabs = pdfa(khtml, 'dl&&dt').map((it) => { return pdfh(it, 'body&&Text') });
let kurls = pdfa(khtml, '.sort-list').map((item) => {
let kurl = pdfa(item, 'a').map((it) => { return pdfh(it, 'body&&Text') + '$' + input + '@' + pdfh(it, 'a&&onclick') });
return kurl.join('#')
});
VOD = {
vod_id: input,
vod_name: pdfh(khtml, '.thumb&&alt'),
vod_pic: pdfh(khtml, '.thumb&&data-src'),
type_name: pdfh(khtml, '.product-excerpt:contains(类型)&&Text').replace('类型:','') || '未提供',
vod_remarks: pdfh(khtml, 'h1.product-title&&span:eq(-1)&&Text') || '未提供',
vod_year: pdfh(khtml, 'h2&&span&&Text').replace(/\D+/g, '') || '3000',
vod_area: pdfh(khtml, '.product-excerpt:contains(地区:)&&a&&Text') || '未提供',
vod_lang: '未提供',
vod_director: pdfh(khtml, '.product-excerpt:contains(导演)&&Text').replace('导演:','') || '未提供',
vod_actor: pdfh(khtml, '.product-excerpt:contains(主演)&&Text').replace('主演:','') || '未提供',
vod_content: pdfh(khtml, '.product-excerpt:eq(-1)&&span&&Text') || '未提供',
vod_play_from: ktabs.join('$$$'),
vod_play_url: kurls.join('$$$')
}
}),
play_parse: true,
lazy: $js.toString(() => {
let [kurl, kids] = input.split('@');
let [sid, kid] = kids.match(/\d+/g);
let flag = `[${sid}][${kid}]`;
kurl = fetch(kurl).split(`${flag}`)[1].split('"')[1];
if (kurl) { kurl = rule.rc4Decrypt(kurl) };
if (/\.(m3u8|mp4|mkv)/.test(kurl)) {
input = { jx: 0, parse: 0, url: kurl, header: rule.headers }
} else {
input = { jx: 0, parse: 1, url: input }
}
}),
filter: 'H4sIAAAAAAAAA+1Y204iQRB99zPm2Qfvt18xPsy6RHEVN6KbsMbECyioC2oUFiXqxgvqiuIlKsOCPzPdA3+xDd1d3YOmmWyM7kO/cep09a16qk4x22J89puBkD8wYgwMtswaX3whY8AYHjeDQaPVCJgTPgJRLIuXIgR/M8dniGFw1gjUzJGz6tJZzUyAMdfKrMkMGc+sDHDOid6wiQQAv9Uzu5ThfhSAX3YTFYrcjwLJz9kuCr8a4BxevHSSm4xjAOZcvXZKF3xOCsBvaRUv7nI/CmC95a1q+pyvRwHnqgd3dmGDcQyAX3wZJW65HwXAnayI8zEAe1nYwPNJvhcKgIv+tK0Y5yjgnP3nsHKVZxwD4Jdbr0T3uR8Fgju1y4fA1YG4l0gldgv3Ugdwnwvl6m6Z3ycFnKucPIuXwgD4WReotOPEVrgrYBhxkJNoCuaG5lrhuZpTPlN6rZk8Wre8vtYf8cp1jt88BXDay6xTjvPTUiAifY72ShDpOgC/1AnOXHI/CiAqTzkyFB1nq+llHhvZBGcux8X8DLjnqJ6m8dO1aw5malgrkceFsnstaoLorN2ItRiAs9ztCI4BuLvyo+AYAL9wgpwIRfmHIrD0JpwEiWVaPAuGRWzyyDqF2NSB2Fde3lfedT/PYaeUwkm4HMAiZxzitWeyIUgbHMP85Tu6X9uCPCCbpIyG8tsowj80gWHE5j6KPHGaAtjH4z05Nt8EBSJ6hSqcngHXqw/5zCnp1Rfu7WLJ46vvaOtoqzscMUYySGO6Bdst27uEvUu2dwp7p2zvEPYO2d4u7O2uvUm7kuzt/WAnPyV741naX56lrXFMW+OYfveI/ka+z833NfK9br63ke9x8z2NPN67xyn4XChwxftTSEQbx7eQlXgRbbwew6mHauqeTTPtJ6NhgfWYbVk4v83IUf90UCYr12EU5UkpODw55aut3zLUSjVCcNQ/NvPRIkFV0JVCQFHUUOK4csTXYwC4qwdkQXmgwIuAUAkWVUFXiQRVsVeJJ5VgUYkEEVABPAkWhXhSiQSVKHlVWH2wBKgXbR5HBt5LHniVACoZoS77ivLqUVY0lwD/Ki6aS4fmEuBNy7IHwdJccjSXEk1FiZYHWh58gDz4PhkYCfnfShs4mQOyESc7z78DwPD9h29Q4kiMENhLI/5qndG1RNcSXUt0LdG15KNbTVJLJszAmxWTeFhqxCjw1KSpGkZFQ0X6MpxMiSatBoDb2HcuoXmlQDSFa+QbhaawDqAA5LbFPhmAM/zex6tQKSnw0iyTWoGeeMpiALjDX2iPFzEG3MXZVZmFX/zM2eBRZcBLY+sUE1L6pAD8Ig92EQojBW9WrJcjZDzEsQ68FFZlIW+2X51KdSp9r1Q6Ywb0X3b6LzvG/W9/2elMqDPhO2XCMf/4zFe/W1XqLl93+brL1wlZJ+T3Tsgtc38Bc7UuQ3cmAAA='
}

View File

@@ -0,0 +1,66 @@
/*
@header({
searchable: 1,
filterable: 0,
quickSearch: 0,
title: '夸克影院'
})
*/
var rule = {
title: '夸克影院',
host: 'https://www.qkmov.cc', //发布页http://www.taoju.vip
searchable: 1,
quickSearch: 0,
filterable: 0,
url: '/type/fyclass-fypage.html',
class_name: "电影&电视剧&动漫&综艺",
class_url: "20&21&22&23",
searchUrl: '/search/-------------.html?wd=**',
play_parse: true,
limit: 6,
推荐:'*',
一级:'.col-md-6.col-sm-4.col-xs-3;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: async function () {
let {input,pdfa,pdfh,pd} = this;
input = input.replace(/video/g, 'play').replace(/.html/g, '-1-1.html')
let html = await request(input);
let VOD = {};
VOD.vod_name = pdfh(html, '.stui-content__detail .title&&Text');
VOD.vod_content = pdfh(html, '.detail&&Text');
let playlist = pdfa(html, '.cloud-links a')
let play_urls = []
let play_from = []
playlist.map((item) => {
play_urls.push(pdfh(item,'a&&title') + '$' + pdfh(item,'a&&href'));
play_from.push(pdfh(item,'a&&title'))
});
VOD.vod_play_from =play_from.join('$$$');
VOD.vod_play_url = play_urls.join('#');
return VOD
},
lazy:async function (){
let {input} = this;
if(/pan.quark.cn/.test(input)){
return {parse: 0,jx: 0,url: 'push://' + input}
}else{
return {parse: 1,jx: 0,url: input}
}
},
搜索: async function () {
let {input,pdfa,pdfh,pd} = this;
let html = await request(input);
let d = [];
let data = pdfa(html, '.stui-vodlist__media li');
data.forEach((it) => {
d.push({
title: pdfh(it, '.thumb a&&title'),
pic_url: pd(it, '.thumb a&&data-original'),
desc: pdfh(it, '.pic-text&&Text'),
url: pd(it, '.thumb a&&href'),
content: pdfh(it, '.hl-item-content&&p:eq(0)&&Text'),
})
});
return setResult(d)
}
}

412
jtxtv12/js/泥泥视频.js Normal file
View File

@@ -0,0 +1,412 @@
var rule = {
author: '书虫/250613/第1版',
title: '泥视频',
类型: '影视',
//主页 网页的域名根
host: 'https://www.nivod.vip/',
hostJs: ``,
headers: {
'User-Agent': 'Mozilla/5.0'
},
//不填就默认utf-8根据网页源码所显示的格式填根据需要可填UTF-8GBKGB2312
编码: 'utf-8',
timeout: 5000,
//首页链接,可以是完整路径或者相对路径,用于分类获取和推荐获取
homeUrl: '/',
//分类链接,分类参数用fyclasss,页码用fypage带筛选的用fyfilter第一页无页码的用[]括起处理方式同xbpq方式fyfilter代表filter_url里内容
// https://www.nivod.vip/k/6-大陆-------2---2021/
url: 'https://www.nivod.vip/k/fyfilter/',
filter_url: '{{fl.cateId}}-{{fl.area}}-------fypage---{{fl.year}}',
detailUrl: 'https://www.nivod.vip/nivod/fyid/',
//搜索链接 可以是完整路径或者相对路径,用于分类获取和推荐获取 **代表搜索词 fypage代表页数
// searchUrl: 'https://www.shkangping.com/vodsearch/**----------fypage---.html',
// 搜索页找参数 数组标题图片副标题链接
// 搜索: '*',
//rss搜索写法
// searchUrl: '/rss/index.xml?wd=**&page=fypage',
// ajax搜索写法
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&page=fypage&limit=30',
搜索: 'json:list;name;pic;en;id',
searchable: 1,
quickSearch: 1,
filterable: 1,
limit: 10,
double: false,
class_name: '电影&电视剧&综艺&动漫',
//静态分类值
class_url: '1&2&3&4',
filter_def: {
1: {
cateId: '1'
},
2: {
cateId: '2'
},
3: {
cateId: '3'
},
4: {
cateId: '4'
}
},
//推荐列表可以单独写也是几个参数,和一级列表部分参数一样的可以用*代替,不一样写不一样的,全和一级一样,可以用一个*代替
推荐: 'a:has(.lazyload);a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
//推荐页的json模式
//推荐: 'json:list;vod_name;vod_pic;vod_remarks;vod_id',
//数组、标题、图片、副标题、链接,分类页找参数
一级: 'a:has(.module-item-pic);a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
//数组、标题、图片、副标题、链接,分类页找参数
//一级: `js:
//let klist=pdfa(request(input),'.vertical-box');
// let k=[];
//klist.forEach(it=>{
// k.push({
//title: pdfh(it,'.title&&Text'),
// pic_url: !pdfh(it,'.lazyload&&data-original').startsWith('http') ? HOST + pdfh(it,'.lazyload&&data-original') : pdfh(it,'.lazyload&&data-original'),
//desc: pdfh(it,''),
// url: pdfh(it,'a&&href'),
//content: ''
// })
//});
//setResult(k)
//`,
//普通搜索模板 搜索数组标题图片副标题链接
//搜索: `js:
//let klist=pdfa(request(input),'.hzixunui-vodlist__thumb');
// let k=[];
//klist.forEach(it=>{
//k.push({
// title: pdfh(it,'a&&title'),
// pic_url: !pdfh(it,'a&&data-original').startsWith('http') ? HOST + pdfh(it,'a&&data-original') : pdfh(it,'a&&data-original'),
// desc: pdfh(it,'.text-right&&Text'),
// url: pdfh(it,'a&&href'),
// content: ''
// })
// });
// setResult(k)
// `,
//rss搜索模板
// 搜索: `js:
//let klist=pdfa(request(input),'rss&&item');
// let k=[];
// klist.forEach(it=>{
// it=it.replace(/title|link|author|pubdate|description/g,'p');
// k.push({
// title: pdfh(it,'p:eq(0)&&Text'),
// pic_url: '',
// desc: pdfh(it,'p:eq(3)&&Text'),
// url: pdfh(it,'p:eq(1)&&Text').replace('cc','la'),
// content: pdfh(it,'p:eq(4)&&Text')
// })
// });
// setResult(k)
//" `,
//详情页找参数
//第一部分分别是对应参数式中的标题、类型、图片、备注、年份、地区、导演、主演、简介
//第二部分分别对应参数式中的线路数组和线路标题
//第三部分分别对应参数式中的播放数组、播放列表、播放标题、播放链接
二级: `js:
let html = request(input);
VOD = {};
VOD.vod_id = input;
VOD.vod_name = '标题: '+pdfh(html, 'h1&&Text');
VOD.type_name = pdfh(html, '.module-info-tag-link:eq(2)&&Text');
VOD.vod_pic = pd(html, '.lazyload&&data-original', input);
VOD.vod_remarks = pdfh(html, '.module-info-item:contains(集数)&&Text').replace('集数:','');
VOD.vod_year = pdfh(html, '.module-info-tag-link:eq(0)&&Text');
VOD.vod_area = pdfh(html, '.module-info-tag-link:eq(1)&&Text');
VOD.vod_director = pdfh(html, '.module-info-item:contains(导演)&&Text').replace('导演:','');
VOD.vod_actor = pdfh(html, '.module-info-item:contains(主演)&&Text').replace('主演:','');
VOD.vod_content = '祝您观影愉快!介绍剧情:' + pdfh(html, '.module-info-introduction-content&&Text');
let r_ktabs = pdfa(html,'#y-playList&&span');
let ktabs = r_ktabs.map(it => pdfh(it, 'Text'));
VOD.vod_play_from = ktabs.join('$$$');
let klists = [];
let r_plists = pdfa(html, '.module-play-list');
r_plists.forEach((rp) => {
let klist = pdfa(rp, 'body&&a:not([rel])').map((it) => {
return pdfh(it, 'a&&Text') + '$' + pd(it, 'a&&href', input);
});
klist = klist.join('#');
klists.push(klist);
});
VOD.vod_play_url = klists.join('$$$')
`,
//是否启用辅助嗅探: 1,0
sniffer: 0,
// 辅助嗅探规则
isVideo: 'http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|wmv|mpg|mpeg|mov|ts|3gp|rm|rmvb|asf|m4a|mp3|wma)',
play_parse: true,
//播放地址通用解析
lazy: `js:
let kcode = JSON.parse(request(input).match(/var player_.*?=(.*?)</)[1]);
let kurl = kcode.url;
if (kcode.encrypt == '1') {
url = unescape(url)
} else if (kcode.encrypt == '2') {
url = unescape(base64Decode(url))
};
if (/\\.(m3u8|mp4)/.test(kurl)) {
input = { jx: 0, parse: 0, url: kurl }
} else {
input = { jx: 0, parse: 1, url: input }
}`,
filter: {
"1": [
{
"key": "cateId",
"name": "类型",
"value":[
{"n": "全部", "v": "1"},
{"n": "动作片", "v": "6"},
{"n": "喜剧片", "v": "7"},
{"n": "爱情片", "v": "8"},
{"n": "科幻片", "v": "9"},
{"n": "奇幻片", "v": "10"},
{"n": "恐怖片", "v": "11"},
{"n": "剧情片", "v": "12"},
{"n": "战争片", "v": "20"},
{"n": "纪录片", "v": "21"},
{"n": "动画片", "v": "26"},
{"n": "悬疑片", "v": "22"},
{"n": "冒险片", "v": "23"},
{"n": "犯罪片", "v": "24"},
{"n": "惊悚片", "v": "45"},
{"n": "歌舞片", "v": "46"},
{"n": "灾难片", "v": "47"},
{"n": "网络片", "v": "48"}
]
},
{
"key": "area",
"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": "2025", "v": "2025"},
{"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"}
]
}
],
"2": [{
"key": "cateId",
"name": "类型",
"value":[
{"n": "全部", "v": "2"},
{"n": "国产剧", "v": "13"},
{"n": "港台剧", "v": "14"},
{"n": "日剧", "v": "15"},
{"n": "韩剧", "v": "33"},
{"n": "欧美剧", "v": "16"},
{"n": "泰剧", "v": "34"},
{"n": "新马剧", "v": "35"},
{"n": "其他剧", "v": "25"}
]
},
{
"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": "year",
"name": "年份",
"value": [
{"n": "全部", "v": ""},
{"n": "2025", "v": "2025"},
{"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"}
]
}
],
"3": [{
"key": "cateId",
"name": "类型",
"value":[
{"n": "全部", "v": "3"},
{"n": "内地综艺", "v": "27"},
{"n": "港台综艺", "v": "28"},
{"n": "日本综艺", "v": "29"},
{"n": "韩国综艺", "v": "36"},
{"n": "欧美综艺", "v": "30"},
{"n": "新马泰综艺", "v": "37"},
{"n": "其他综艺", "v": "38"}
]
},
{
"key": "area",
"name": "地区",
"value": [
{"n": "全部", "v": ""},
{"n": "内地", "v": "内地"},
{"n": "港台", "v": "港台"},
{"n": "日韩", "v": "日韩"},
{"n": "欧美", "v": "欧美"}
]
},
{
"key": "year",
"name": "年份",
"value": [
{"n": "全部", "v": ""},
{"n": "2025", "v": "2025"},
{"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"}
]
}
],
"4": [{
"key": "cateId",
"name": "类型",
"value": [
{"n": "全部", "v": "4"},
{"n": "国产动漫", "v": "31"},
{"n": "日本动漫", "v": "32"},
{"n": "韩国动漫", "v": "39"},
{"n": "港台动漫", "v": "40"},
{"n": "新马泰动漫", "v": "41"},
{"n": "欧美动漫", "v": "42"},
{"n": "其他动漫", "v": "43"}
]
},
{
"key": "area",
"name": "地区",
"value": [
{"n": "全部", "v": ""},
{"n": "国产", "v": "国产"},
{"n": "日本", "v": "日本"},
{"n": "欧美", "v": "欧美"},
{"n": "其他", "v": "其他"}
]
},
{
"key": "year",
"name": "年份",
"value": [
{"n": "全部", "v": ""},
{"n": "2025", "v": "2025"},
{"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"}
]
}
]
}
}

105
jtxtv12/js/米盘搜索.js Normal file
View File

@@ -0,0 +1,105 @@
var rule = {
safeParseJSON: function(jStr){
try {return JSON.parse(jStr);} catch(e) {return null;}
},
getkvods: function (url, words = '米', emode = false) {
let kwd = words;
let rbody = {
"page": 1,
"q": kwd,
"user": "",
"exact": emode,
"format": [".mp4", ".mkv", ".flv", ".rmvb", ".wmv", ".3gp", ".mov", ".m4v", ".swf", ".f4v", ".webm", ".ogg", ".ogv", ".m3u8", ".mpd", ".avi", ".mpg", ".mpeg", ".mpe", ".mpv", ".m2v", ".mxf", ".3g2", ".f4p", ".f4a", ".f4b"],
"share_time": "",
"size": 15, "type": "",
"exclude_user": [],
"adv_params": {"wechat_pwd": "", "platform": ""}
};
let khtml = fetch(url, {
headers: {
...rule.headers,
"Content-Type": "application/json; charset=UTF-8"
},
method: 'POST',
body: rbody
});
let klists = rule.safeParseJSON(khtml)?.data?.list ?? [];
let kvods = [];
klists.forEach(it => {
let kname = it.disk_name.replace(/<[^>]*?>/g, '') || '名称';
let kpic = rule.panPics[it.disk_type] || '图片';
let kremarks = `${it.disk_type}|${it.shared_time || '无分享时间'}`;
kvods.push({
vod_name: kname,
vod_pic: kpic,
vod_remarks: kremarks,
vod_id: `${it.link}@${kname}@${kpic}@${kremarks}`
});
});
return kvods;
},
author: '小可乐/v5.12.1',
title: '米盘搜',
类型: '影视',
host: 'http://misopan.fun',
headers: {'User-Agent': MOBILE_UA},
编码: 'utf-8',
timeout: 5000,
homeUrl: '/v1/search/disk',
url: '/v1/search/disk',
searchUrl: '/v1/search/disk',
limit: 9,
double: false,
class_name: '电影&国产剧&短剧',
class_url: '电影&国产剧&短剧',
pagecount: {"电影": 1, "国产剧": 1, "短剧": 1},
exaxt: false,//精准搜索改为true
panPics: {
"QUARK": "https://so.slowread.net/static/img/quark.jpg",
"BDY": "https://so.slowread.net/static/img/baidu.jpg",
"UC": "https://so.slowread.net/static/img/uc.jpg"
},
推荐: $js.toString(() => {
let kwd = '美剧';
VODS = rule.getkvods(input, kwd, rule.exaxt);
}),
一级: $js.toString(() => {
VODS = rule.getkvods(input, MY_CATE, rule.exaxt);
}),
搜索: $js.toString(() => {
VODS = rule.getkvods(input, KEY, rule.exaxt);
}),
二级: $js.toString(() => {
let [kid, kname, kpic, kremarks] = input.split('@');
let [type, remark='状态'] = kremarks.split('|');
let kurl = `合集$${kid}`;
VOD = {
vod_id: kid,
vod_name: kname,
vod_pic: kpic,
type_name: type,
vod_remarks: remark,
vod_year: '1000',
vod_area: '地区',
vod_lang: '语言',
vod_director: '导演',
vod_actor: '演员',
vod_content: `${kname}_${kid}`,
vod_play_from: type,
vod_play_url: kurl
};
}),
play_parse: true,
lazy: $js.toString(() => {
let kurl = `push://${input}`;
input = { jx: 0, parse: 0, url: kurl };
}),
}