Add files via upload

This commit is contained in:
n3rddd 2024-07-27 10:03:18 +08:00 committed by GitHub
parent aa45f7086f
commit 6f035a8bd1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 145 additions and 129 deletions

View File

@ -1,11 +1,24 @@
var rule = {
title: 'HDmoli',
host: 'https://www.hdmoli.pro',
url: '/mlist/indexfyclass-fypage.html',
url: '/search.php?page=fypage&searchtype=5&tid=fyfilter',
searchUrl: '/search.php?page=fypage&searchword=**&searchtype=',
searchable: 2,
quickSearch: 0,
filterable: 0,
"filterable": 1,
"filter": "H4sIAAAAAAAAA+2X3W4SQRTH32WviWV3+WzCk5herGETUT4iUmPTNNFiKVBDaaPgB9GrBtq0ttiGCIh9mZ3d8hbuMmdnzkwm8cJ6Y/by//+dGWbOnjMnbGu6tv5wW3tqb2nrmjeeky8HWkwrWyUb6xdWcdNeBZYF2xfaToy6pD1yFgNwk8z2mmO3vgd2itvDIzKdg51mtvu6677qgZ3hdvODM2uBneU/2RuQ1hBsPc43n52RxXuvtR8inS9pDflxdIMvaV96izPwzTi+lfcuPKfpx28EhKaL7QXp4nsL6RJ+Un2lJ89yoJWJCDDVymv4GLQy6T4GzVZ/m5DZBVpNNb/zmNz2EaaaHW333OsdoaNRrayD1eqVZvhkn3/4AFPNcON4+fEUYaoZ7jTI4XeEqWZHq7fd3U/oaFSHePn12pl2OQatrMkga1QrSyTAVIf47rbrX5Vj0MpaDU5OtVBPgyvydobqKdRSPTFbaL+90bI+kl3vV4d8XoBrVW0rBw5PyakUAA671sFYCgCH5bx/4g7OcQA4LOD6StoBnDDA+XEhBYDD7zZx5j0cAI6QvemNM1+g7IVayh6z/5w9I24kwNuyrWpupRE0JWhiaEjQwFCXoI5hXIJxBPWsCPUshhkJZjBMSzCNYUqCKQyTEkxiKGVIxxnSpQzpPEOlStXGcKXx93Q7x2R2yL8n0+L35LbwuvYny/4NuJVq3q7magV/G1bVl29IsyHwfGXzkVUOjrAR04z7mopBu/ERlRT6jvsp3E3IN4U2ZL6ZUPcOyn3QYize4EXizX/etcLHw8yqW8zMRHMumnPRnIvmXDTn/u85l8B///6qL4X2WCsVC89ra4Vy3n6ZMB48rpWK6iIXAk0IjEZPNHr+1eiJHs/o8byfx3PnN0dky8c8EwAA",
"filter_url": "{{fl.类型}}&{{fl.剧情}}&{{fl.地区}}&{{fl.年份}}&{{fl.排序}}",
"filter_def": {
"1": {
"类型": "1"
},
"2": {
"类型": "2"
},
"41": {
"类型": "41"
}
},
headers: {
'User-Agent': 'MOBILE_UA',
},
@ -24,5 +37,5 @@ var rule = {
tabs: '.nav-tabs:eq(0) li',
lists: '.myui-content__list:eq(#id) li',
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text.text-right&&Text;a&&href;.detail&&p:eq(3)&&Text',
}

View File

@ -1,7 +1,14 @@
globalThis.post2 = function (_url, _data) {
// let data = buildUrl(_url,_data).split('?')[1];
// return post(_url,{body:encodeURIComponent(data),headers:rule.headers});
return post(_url, {data: _data, headers: rule.headers});
}
var rule = {
类型: '听歌',//影视|听书|漫画|小说
title: 'KTV歌厅[听]',
host: 'https://vpsdn.leuse.top',
// host: 'https://vpsdn.leuse.top',
host: 'https://api.cloudflare.com',
root: 'https://api.cloudflare.com/client/v4/accounts/1ecc4a947c5a518427141f4a68c86ea1/d1/database/4f1385ab-f952-404a-870a-e4cfef4bd9fd/query',
mktvUrl: 'http://txysong.mysoto.cc/songs/',
url: '/searchmv?table=fyclass&pg=fypage#fyfilter',
searchUrl: '/searchmv?keywords=**&pg=fypage',
@ -13,22 +20,35 @@ var rule = {
filter_url: '{{fl}}',
headers: {
'User-Agent': 'MOBILE_UA',
'Content-Type': 'application/json',
'Authorization': 'Bearer LueNrycW-6jks7xBjPqX9mjFq2A2M5Kul6Ig3D8z',
},
timeout: 5000,
class_name: '歌手&曲库',
class_url: 'singer&song',
一级: $js.toString(() => {
let d = [];
let _url = input.split('#')[0];
// let _url = input.split('#')[0];
let _url = rule.root;
let params = [];
let sql = '';
let size = 20;
let pg = MY_PAGE;
if (MY_CATE === 'singer') {
sql = 'select name, id from singer where 1=1';
if (MY_FL.region) {
_url += '&where=region_id&keywords=' + MY_FL.region + '&size=21';
params.push(MY_FL.region);
sql += ' and region_id = ?';
// _url += '&where=region_id&keywords=' + MY_FL.region + '&size=21';
} else if (MY_FL.form) {
_url += '&where=form_id&keywords=' + MY_FL.form + '&size=21';
params.push(MY_FL.form);
sql += ' and form_id = ?';
// _url += '&where=form_id&keywords=' + MY_FL.form + '&size=21';
}
let html = request(_url);
sql += ` order by id limit ${(pg - 1) * size},${size};`;
let html = post2(_url, {params: params, sql: sql});
let json = JSON.parse(html);
d = json.map(item => {
d = json.result[0].results.map(item => {
let pic = rule.mktvUrl + item.id + '.jpg';
return {
vod_id: item.name + '@@' + item.name + '@@' + pic,
@ -38,14 +58,20 @@ var rule = {
}
});
} else if (MY_CATE === 'song') {
sql = 'select number, name from song where 1=1';
if (MY_FL.lan) {
_url += '&where=language_id&keywords=' + MY_FL.lan + '&size=21';
params.push(MY_FL.lan);
sql += ' and language_id = ?';
// _url += '&where=language_id&keywords=' + MY_FL.lan + '&size=21';
} else if (MY_FL.type) {
_url += '&where=type_id&keywords=' + MY_FL.type + '&size=21';
params.push(MY_FL.type);
sql += ' and type_id = ?';
// _url += '&where=type_id&keywords=' + MY_FL.type + '&size=21';
}
let html = request(_url);
sql += ` order by number limit ${(pg - 1) * size},${size};`;
let html = post2(_url, {params: params, sql: sql});
let json = JSON.parse(html);
d = json.map(item => {
d = json.result[0].results.map(item => {
return {
vod_id: rule.mktvUrl + item.number + '.mkv' + '@@' + item.name + '@@' + '',
vod_name: item.name,
@ -57,6 +83,7 @@ var rule = {
VODS = d;
}),
二级: $js.toString(() => {
let _url = rule.root;
let id = orId.split('@@')[0];
let name = orId.split('@@')[1];
if (id.endsWith('.mkv')) {
@ -75,24 +102,25 @@ var rule = {
if (id.endsWith('.mkv')) {
VOD.vod_play_url = '嗅探播放$' + id;
} else {
let data = [];
for (let i = 0; i < 2; i++) {
let pg = Number(i) + 1;
let url = `${rule.host}/searchmv?table=song&where=singer_names&keywords=${id}&size=500&pg=${pg}`;
let res = request(url);
let json = JSON.parse(res);
data = data.concat(json);
}
let params = [id];
let sql = 'select number,name from song where singer_names = ? order by number limit 0,999';
let html = post2(_url, {params: params, sql: sql});
let json = JSON.parse(html);
let data = json.result[0].results;
VOD.vod_play_url = (data.map(item => {
return item.name + '$' + rule.mktvUrl + item.number + '.mkv';
})).join('#');
}
}),
搜索: $js.toString(() => {
let _url = rule.root;
let wd = KEY;
let sql = "select number,name from song where name like '%" + wd + "%' or singer_names like '%" + wd + "%'";
let d = [];
let html = request(input);
let html = post2(_url, {sql: sql});
let json = JSON.parse(html);
d = json.map(item => {
d = json.result[0].results.map(item => {
return {
vod_id: rule.mktvUrl + item.number + '.mkv' + '@@' + item.name + '@@' + '',
vod_name: item.name,

View File

@ -5,7 +5,7 @@ muban.首图2.二级.content = '.detail-content&&Text'
var rule = {
title: 'LIBVIO[优]',
模板: '首图2',
host: 'https://www.libvio.app',
host: 'https://www.libfabu.com',
hostJs: 'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});let src=jsp.pdfh(html,"li:eq(0)&&a:eq(1)&&href");print(src);HOST=src',
// url:'/type/fyclass-fypage.html',
url: '/show/fyclassfyfilter.html',

View File

@ -8,7 +8,9 @@ var rule = {
host: 'https://001.pm',
cate_exclude: '今日更新',
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**',
detailUrl: '/index.php/vod/detail/id/fyid.html',
class_parse: '.navbar-items li:gt(0):lt(8);a&&Text;a&&href;.*/(\\d+)',
tab_exclude: '排序',
}
搜索: 'json:list;name;pic;en;id',
}

View File

@ -23,13 +23,6 @@ var rule = {
cate_exclude: 'Netflix|今日更新|专题列表|排行榜|热榜|文章',
play_parse: true,
lazy: $js.toString(() => {
//let html = request(input);
//log(html.slice(0,500));
//html = html.match(/r player_.*?=(.*?)</)[1];
//log(html.slice(0,500));
//html = JSON.parse(html);
//log(html);
let html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
let url = html.url;
if (html.encrypt == '1') {
@ -72,7 +65,7 @@ var rule = {
desc: 'content_detail&&li:eq(1)&&Text;.detail_list&&ul:eq(1)&&li&&a&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(1)&&Text;.detail_list&&ul:eq(1)&&li:eq(2)&&Text;.detail_list&&ul:eq(1)&&li:eq(3)&&Text',
content: '.content_desc&&span&&Text',
tabs: '.play_source_tab--i&&a',
lists: '.content_playlist:eq(#id)&&li'
lists: 'ul.list_scroll:eq(#id)&&li'
},
搜索: '*',
}

View File

@ -1,35 +1,14 @@
var rule = {
title: '影剧星球',
模板: '自动',
模板修改: $js.toString(() => {
Object.assign(muban.自动.二级, {
tab_text: 'div--small&&Text',
});
}),
title: '影剧星球[自动]',
host: 'https://jumov.com',
url: '/vod/list/fypage/fyclass/0/0/0/0/0/0',
searchUrl: '/public/auto/search1.html?keyword=**&page=fypage',
searchable: 1,
quickSearch: 1,
filterable: 0,
filter: '',
filter_url: '',
filter_def: {},
headers: {
'User-Agent': 'PC_UA',
},
timeout: 5000,
class_parse: '.swiper-wrapper&&li;a&&Text;a&&href;/vod/1/(.*?)/0/0/0/0/0/0',
cate_exclude: '',
play_parse: true,
lazy: `js:input = {parse: 1, url: input, js: ''}`,
double: true,
推荐: 'body&&.public-list-box;.public-list-bj;*;img&&data-src;.public-list-prb&&Text;a&&href',
一级: '.public-list-box;img&&alt;img&&data-src;.public-list-prb&&Text;a&&href',
二级: {
title: 'h3&&Text;',
img: '.mask-1&&data-src',
desc: ';.slide-info-remarks&&Text;;.slide-info.hide:eq(2)&&Text;.slide-info.hide:eq(1)&&Text',
content: '.text.cor3&&Text',
tabs: '.anthology-tab a',
lists: '.anthology-list-play:eq(#id)&&li',
tab_text: 'body&&Text',
list_text: 'body&&Text',
list_url: 'a&&href'
},
搜索: '.public-list-box;.thumb-txt&&Text;img&&data-src;.public-list-prb&&Text;a&&href',
class_parse: '.navbar-items li:gt(1):lt(8);a&&Text;a&&href;/vod/1/(.*?)/0/0/0/0/0/0',
搜索: 'body .module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
}

View File

@ -1,85 +1,85 @@
var rule = {
类型: '影视',
title: '星芽短剧app',
host: 'https://app.whjzjx.cn',
url: '/cloud/v2/theater/home_page?theater_class_id=fyclass&type=fyclass&class2_ids=0&page_num=fypage&page_size=24',
searchUrl: '/v3/search',
searchable: 2,
quickSearch: 0,
headers: {
'User-Agent': 'okhttp/4.10.0',
'Accept-Encoding': 'gzip',
'x-app-id': '7',
'authorization': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjMxNzQ2MjgsIlVzZXJJZCI6NTA5MDg3NDEsInJlZ2lzdGVyX3RpbWUiOiIyMDI0LTA3LTA5IDIwOjUwOjIxIiwiaXNfbW9iaWxlX2JpbmQiOmZhbHNlfQ.lS-X8Mck6WCISgbp9wjysfIMAlWgThVmbEM4N54cup8',
'platform': '1',
'manufacturer': 'realme',
'version_name': '3.1.0.1',
'user_agent': 'Mozilla/5.0 (Linux; Android 9; RMX1931 Build/PQ3A.190605.05081124; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36',
'dev_token': 'BFdbZBGOEgG7QDt01ldOQNNfhO2F-rv4QcugZoFZm5_3DlPJEo_bSBeJ6dW2X3eKzxxKKWz3xJCM_u5PppGMqRuYPxcsVg9a-jriWiIoPZvHMSLbcbxTFuasqgTivTY3GabW1yP57LQSsJNQfKoX1BKYGHducrhb0bTwvigfn3gE*',
'app_version': '3.1.0.1',
'device_platform': 'android',
'personalized_recommend_status': '1',
'device_type': 'RMX1931',
'device_brand': 'realme',
'os_version': '9',
'channel': 'default',
'raw_channel': 'default',
'oaid': '',
'msa_oaid': '',
'uuid': 'randomUUID_8a0324bf-03c8-4789-8ef8-12d3bcff28f5',
'device_id': '24250683a3bdb3f118dff25ba4b1cba1a',
'ab_id': '',
'support_h265': '1'
},
timeout: 5000,
class_name: '剧场&热播剧&会员专享&星选好剧&新剧&阳光剧场',
class_url: '1&2&8&7&3&5',
play_parse: true,
lazy: $js.toString(()=>{
input = {url: input,parse: 0}
}),
double: true,
一级: $js.toString(()=>{
类型: '影视',
title: '星芽短剧[优]',
host: 'https://app.whjzjx.cn',
url: '/cloud/v2/theater/home_page?theater_class_id=fyclass&type=fyclass&class2_ids=0&page_num=fypage&page_size=24',
searchUrl: '/v3/search',
searchable: 2,
quickSearch: 0,
headers: {
'User-Agent': 'okhttp/4.10.0',
'Accept-Encoding': 'gzip',
'x-app-id': '7',
'authorization': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjMxNzQ2MjgsIlVzZXJJZCI6NTA5MDg3NDEsInJlZ2lzdGVyX3RpbWUiOiIyMDI0LTA3LTA5IDIwOjUwOjIxIiwiaXNfbW9iaWxlX2JpbmQiOmZhbHNlfQ.lS-X8Mck6WCISgbp9wjysfIMAlWgThVmbEM4N54cup8',
'platform': '1',
'manufacturer': 'realme',
'version_name': '3.1.0.1',
'user_agent': 'Mozilla/5.0 (Linux; Android 9; RMX1931 Build/PQ3A.190605.05081124; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36',
'dev_token': 'BFdbZBGOEgG7QDt01ldOQNNfhO2F-rv4QcugZoFZm5_3DlPJEo_bSBeJ6dW2X3eKzxxKKWz3xJCM_u5PppGMqRuYPxcsVg9a-jriWiIoPZvHMSLbcbxTFuasqgTivTY3GabW1yP57LQSsJNQfKoX1BKYGHducrhb0bTwvigfn3gE*',
'app_version': '3.1.0.1',
'device_platform': 'android',
'personalized_recommend_status': '1',
'device_type': 'RMX1931',
'device_brand': 'realme',
'os_version': '9',
'channel': 'default',
'raw_channel': 'default',
'oaid': '',
'msa_oaid': '',
'uuid': 'randomUUID_8a0324bf-03c8-4789-8ef8-12d3bcff28f5',
'device_id': '24250683a3bdb3f118dff25ba4b1cba1a',
'ab_id': '',
'support_h265': '1'
},
timeout: 5000,
class_name: '剧场&热播剧&会员专享&星选好剧&新剧&阳光剧场',
class_url: '1&2&8&7&3&5',
play_parse: true,
lazy: $js.toString(() => {
input = {url: input, parse: 0}
}),
double: true,
一级: $js.toString(() => {
let d = [];
let html = request(input);
let data = JSON.parse(html).data.list;
data.forEach(it => {
let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id='+it.theater.id;
let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id=' + it.theater.id;
d.push({
url:id,
title:it.theater.title,
img:it.theater.cover_url,
desc:it.theater.theme,
url: id,
title: it.theater.title,
img: it.theater.cover_url,
desc: it.theater.theme,
})
})
})
setResult(d);
setResult(d);
}),
二级: $js.toString(()=>{
二级: $js.toString(() => {
let urls = [];
let html = request(input);
let data = JSON.parse(html).data;
data.theaters.forEach(it => {
urls.push(it.num+'$'+it.son_video_url);
urls.push(it.num + '$' + it.son_video_url);
})
VOD = {
VOD = {
vod_name: data.title,
vod_pic: data.cover_url,
vod_play_from: '球球啦',
vod_play_url: urls.join('#')
};
}),
搜索: $js.toString(()=>{
let html = post(input,{body:{"text":KEY}})
let list = JSON.parse(html).data.theater.search_data;
list.forEach(it =>{
let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id='+it.id;
d.push({
url:id,
title:it.title,
img:it.cover_url,
content:it.introduction,
搜索: $js.toString(() => {
let html = post(input, {body: {"text": KEY}})
let list = JSON.parse(html).data.theater.search_data;
list.forEach(it => {
let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id=' + it.id;
d.push({
url: id,
title: it.title,
img: it.cover_url,
content: it.introduction,
})
})
})
setResult(d);
}),
setResult(d);
}),
}

View File

@ -280,6 +280,7 @@ var rule = {
log('end:' + end);
log('搜索模式:' + searchMode);
log('精准搜索:' + rule.search_match);
log('强制获取图片:' + rule.search_pic);
// log('t1:' + t1);
if (start < canSearch.length) {
let search_classes = canSearch.slice(start, end);
@ -359,7 +360,7 @@ var rule = {
options: {timeout: rule.timeout}
}
});
let rets2 = batchFetch(reqUrls2);
let rets2 = reqUrls2.length > 0 ? batchFetch(reqUrls2) : [];
for (let k = 0; k < results_list.length; k++) {
let result_data = results_list[k].data;
if (!results_list[k].has_pic) {