上传文件至 'mjs'
This commit is contained in:
parent
b360ef2697
commit
648f12d59d
126
mjs/aipanso.js
Normal file
126
mjs/aipanso.js
Normal file
@ -0,0 +1,126 @@
|
||||
var rule = {
|
||||
title:'爱盘搜[夸]',
|
||||
host:'https://aipanso.com',
|
||||
homeUrl:'/',
|
||||
url: '/forum-fyclass-fypage.html?',
|
||||
filter_url:'{{fl.class}}',
|
||||
filter:{
|
||||
},
|
||||
searchUrl: '/search?page=fypage&s=1&t=-1&k=**',
|
||||
searchable:2,
|
||||
quickSearch:0,
|
||||
filterable:0,
|
||||
headers:{
|
||||
'User-Agent': PC_UA,
|
||||
'Accept': '*/*',
|
||||
'Referer': 'https://aipanso.com/'
|
||||
},
|
||||
timeout:5000,
|
||||
class_name:'',
|
||||
class_url:'',
|
||||
play_parse:true,
|
||||
play_json:[{
|
||||
re:'*',
|
||||
json:{
|
||||
parse:0,
|
||||
jx:0
|
||||
}
|
||||
}],
|
||||
lazy:'',
|
||||
limit:6,
|
||||
推荐:'',
|
||||
一级:'',
|
||||
二级:{
|
||||
title:"van-row h3&&Text",
|
||||
img:"",
|
||||
desc:"van-row h3&&Text",
|
||||
content:"van-row h3&&Text",
|
||||
tabs:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
TABS=[]
|
||||
TABS.push("夸克雲盤");
|
||||
log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS);
|
||||
`,
|
||||
lists:`js:
|
||||
log(TABS);
|
||||
LISTS=[];
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
let requestHeaders = {
|
||||
withHeaders: true,
|
||||
redirect: 0,
|
||||
headers:{
|
||||
Referer: MY_URL
|
||||
}
|
||||
};
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
Object.assign(_fetch_params, requestHeaders);
|
||||
let new_html = request ( MY_URL.replace("/s/","/cv/"), _fetch_params);
|
||||
let json=JSON.parse(new_html);
|
||||
let redirectUrl = "";
|
||||
if (json.hasOwnProperty("Location")){
|
||||
redirectUrl = json["Location"];
|
||||
}else if (json.hasOwnProperty("location")){
|
||||
redirectUrl = json["location"];
|
||||
}
|
||||
let title = pdfh(html, 'van-row h3&&Text');
|
||||
LISTS.push([title + '$' + 'push://' + redirectUrl]);
|
||||
`,
|
||||
},
|
||||
搜索:`js:
|
||||
pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;
|
||||
|
||||
log("aipanso enter search >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + KEY);
|
||||
let withHeaders = {
|
||||
withHeaders: true
|
||||
};
|
||||
let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));
|
||||
Object.assign(_fetch_params, withHeaders);
|
||||
|
||||
log('aipanso search params >>>>>>>>>>>>>>>>>>>>>' + JSON.stringify(_fetch_params));
|
||||
let new_html=request(rule.homeUrl + 'search?page=' + MY_PAGE + '&s=1&t=-1&k=' + encodeURIComponent(KEY) , _fetch_params);
|
||||
//log('aipanso search new_html >>>>>>>>>>>>>>>>>>>>>' + new_html);
|
||||
let json=JSON.parse(new_html);
|
||||
let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");
|
||||
let cookie="";
|
||||
if (typeof setCk !== "undefined"){
|
||||
let d=[];
|
||||
for(const key in json[setCk]){
|
||||
if (typeof json[setCk][key] === "string"){
|
||||
log("aipanso header setCk key>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + json[setCk][key] + " " + (typeof json[setCk][key]));
|
||||
d.push(json[setCk][key].split(";")[0]);
|
||||
}
|
||||
}
|
||||
cookie=d.join(";");
|
||||
setItem(RULE_CK, cookie);
|
||||
fetch_params.headers.Cookie=cookie;
|
||||
rule_fetch_params.headers.Cookie=cookie;
|
||||
}
|
||||
log('aipanso search cookie >>>>>>>>>>>>>>>>>>>>>' + cookie);
|
||||
log('aipanso search body >>>>>>>>>>>>>>>>>>>>>' + json['body'].substring(4096));
|
||||
|
||||
new_html = json['body'];
|
||||
|
||||
let d=[];
|
||||
let dlist = pdfa(new_html, 'van-row:has(>a[href^="/s/"])');
|
||||
dlist.forEach(function(it){
|
||||
let title = pdfh(it, 'van-card template&&Text');
|
||||
if (false && searchObj.quick === true){
|
||||
if (title.includes(KEY)){
|
||||
title = KEY;
|
||||
}
|
||||
}
|
||||
let img = pd(it, 'van-card&&thumb', HOST);
|
||||
let content = pdfh(it, 'van-card template:eq(1)&&Text');
|
||||
let desc = pdfh(it, 'van-card template:eq(1)&&Text');
|
||||
let url = pd(it, 'a&&href', HOST);
|
||||
d.push({
|
||||
title:title,
|
||||
img:img,
|
||||
content:content,
|
||||
desc:desc,
|
||||
url:url
|
||||
})
|
||||
});
|
||||
setResult(d);
|
||||
`,
|
||||
}
|
1
mjs/bulei_open.js
Normal file
1
mjs/bulei_open.js
Normal file
File diff suppressed because one or more lines are too long
1
mjs/yrzj_open.js
Normal file
1
mjs/yrzj_open.js
Normal file
File diff suppressed because one or more lines are too long
301
mjs/ys996_open.js
Normal file
301
mjs/ys996_open.js
Normal file
@ -0,0 +1,301 @@
|
||||
import { Crypto, load, _ } from './lib/cat.js';
|
||||
|
||||
let siteUrl = 'https://www.cs1369.com';
|
||||
let siteKey = '';
|
||||
let siteType = 0;
|
||||
let headers = {};
|
||||
|
||||
async function request(reqUrl, postData, agentSp, get) {
|
||||
|
||||
let res = await req(reqUrl, {
|
||||
method: get ? 'get' : 'post',
|
||||
headers: headers,
|
||||
data: postData || {},
|
||||
postType: get ? '' : 'form',
|
||||
});
|
||||
|
||||
let content = res.content;
|
||||
return content;
|
||||
}
|
||||
|
||||
async function init(cfg) {
|
||||
siteKey = cfg.skey;
|
||||
siteType = cfg.stype;
|
||||
}
|
||||
|
||||
async function home(filter) {
|
||||
let classes = [{
|
||||
type_id: '1',
|
||||
type_name: '电影',
|
||||
},{
|
||||
type_id: '2',
|
||||
type_name: '电视',
|
||||
},{
|
||||
type_id: '3',
|
||||
type_name: '动漫',
|
||||
},{
|
||||
type_id: '4',
|
||||
type_name: '短剧',
|
||||
},{
|
||||
type_id: '6',
|
||||
type_name: '动作片',
|
||||
},{
|
||||
type_id: '7',
|
||||
type_name: '喜剧片',
|
||||
},{
|
||||
type_id: '8',
|
||||
type_name: '爱情片',
|
||||
},{
|
||||
type_id: '9',
|
||||
type_name: '科幻片',
|
||||
},{
|
||||
type_id: '10',
|
||||
type_name: '恐怖片',
|
||||
},{
|
||||
type_id: '11',
|
||||
type_name: '剧情片',
|
||||
},{
|
||||
type_id: '12',
|
||||
type_name: '战争片',
|
||||
},{
|
||||
type_id: '13',
|
||||
type_name: '动画片',
|
||||
},{
|
||||
type_id: '14',
|
||||
type_name: '纪录片',
|
||||
}];
|
||||
|
||||
let filterObj = genFilterObj();
|
||||
return JSON.stringify({
|
||||
class: classes,
|
||||
filters: filterObj
|
||||
});
|
||||
}
|
||||
|
||||
async function homeVod() {
|
||||
let videos = await getVideos(siteUrl);
|
||||
return JSON.stringify({
|
||||
list: videos,
|
||||
});
|
||||
}
|
||||
|
||||
async function category(tid, pg, filter, extend) {
|
||||
let url = siteUrl;
|
||||
if (filter) {
|
||||
url = url + '/show';
|
||||
let area = extend['area'];
|
||||
if (area && area != '') {
|
||||
url = url + '/area/' + area;
|
||||
}
|
||||
let clazz = extend['class']
|
||||
if (clazz && clazz != '') {
|
||||
url = url + '/class/' + clazz;
|
||||
}
|
||||
let id = extend['id'];
|
||||
if(id && id != '') {
|
||||
url = url + '/id/' + id;
|
||||
} else {
|
||||
url = url + '/id/' + tid;
|
||||
}
|
||||
let year = extend['year'];
|
||||
if (year && year != '') {
|
||||
url = url + '/year/' + year;
|
||||
}
|
||||
if (pg && pg > 1) {
|
||||
url = url + '/page/' + pg;
|
||||
}
|
||||
url = url + '.html';
|
||||
} else {
|
||||
url = url + '/vod/type';
|
||||
url = url + '/id/' + tid;
|
||||
if (pg && pg > 1) {
|
||||
url = url + '/page/' + pg;
|
||||
}
|
||||
url = url + '.html';
|
||||
}
|
||||
//console.log('cate page url:', url);
|
||||
|
||||
let videos = await getVideos(url);
|
||||
return JSON.stringify({
|
||||
list: videos,
|
||||
});
|
||||
}
|
||||
|
||||
async function detail(id) {
|
||||
try {
|
||||
let url = siteUrl + id;
|
||||
const html = await request(url);
|
||||
const $ = load(html);
|
||||
let actors = _.map($('div.stui-content__detail > p:nth-child(3) > a'), (n) => {
|
||||
return $(n).text();
|
||||
});
|
||||
let actor = actors.join(' ');
|
||||
let director = $('div.stui-content__detail > p:nth-child(4) > a').text();
|
||||
let title = $('div.stui-content__detail > h1.title').text();
|
||||
let content = $('div.stui-pannel_bd > p').text();
|
||||
const cards = $('div.stui-pannel_bd.col-pd.clearfix > ul > li > a');
|
||||
let playUrls = _.map(cards, (n) => {
|
||||
return $(n).text() + '$' + n.attribs['href'];
|
||||
});
|
||||
|
||||
const video = {
|
||||
vod_actor: actor,
|
||||
vod_play_from: 'Leospring',
|
||||
vod_play_url: playUrls.join('#'),
|
||||
vod_director: director,
|
||||
vod_content: content,
|
||||
};
|
||||
const list = [video];
|
||||
const result = { list };
|
||||
return JSON.stringify(result);
|
||||
} catch (e) {
|
||||
//console.log('err', e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
async function search(wd, quick, pg) {
|
||||
let url = siteUrl + '/search/wd/' + wd + '.html';
|
||||
//console.log('search url:', url);
|
||||
const html = await request(url);
|
||||
const $ = load(html);
|
||||
const cards = $('div.stui-pannel_bd > ul.stui-vodlist__media.col-pd.clearfix > li');
|
||||
let videos = _.map(cards, (n) => {
|
||||
let id = $($(n).find('div.thumb > a')[0]).attr('href');
|
||||
let name = $($(n).find('div.thumb > a')[0]).attr('title');
|
||||
let pic = $($(n).find('div.thumb > a')[0]).attr('data-original');
|
||||
let remark = $($(n).find('div.thumb > a > span:nth-child(2)')[0]).text();
|
||||
|
||||
return {
|
||||
vod_id: id,
|
||||
vod_name: name,
|
||||
vod_pic: pic,
|
||||
vod_remarks: remark,
|
||||
};
|
||||
});
|
||||
return JSON.stringify({
|
||||
list: videos,
|
||||
});
|
||||
}
|
||||
|
||||
async function play(flag, id, flags) {
|
||||
let url = siteUrl + id;
|
||||
const html = await request(url);
|
||||
const $ = load(html);
|
||||
let info = '';
|
||||
for(const n of $('script')) {
|
||||
if($(n).text().indexOf('player_aaaa=') > 0) {
|
||||
info = $(n).text().split('player_aaaa=')[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
//console.log('info', info);
|
||||
let obj = JSON.parse(info);
|
||||
let playUrl = obj.url;
|
||||
if(obj.encrypt == 1) {
|
||||
playUrl = unescape(playUrl);
|
||||
} else if (obj.encrypt == 2) {
|
||||
playUrl = unescape(base64Decode(playUrl))
|
||||
}
|
||||
return JSON.stringify({
|
||||
parse: 0,
|
||||
url: playUrl,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function genFilterObj() {
|
||||
return {
|
||||
'1':[
|
||||
{
|
||||
key: 'id',
|
||||
name: '类型',
|
||||
value: [{n:'全部',v:''},{n:'动作片',v:'6'},{n:'喜剧片',v:'7'},{n:'爱情片',v:'8'},{n:'科幻片',v:'9'},{n:'恐怖片',v:'10'},{n:'剧情片',v:'11'},{n:'战争片',v:'12'},{n:'动画片',v:'13'},{n:'纪录片',v:'14'}]
|
||||
},{
|
||||
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:'网络电影'}]
|
||||
},{
|
||||
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: 'year',
|
||||
name: '年份',
|
||||
value: [{n:'全部',v:''},{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'},{n:'2009',v:'2009'},{n:'2008',v:'2008'},{n:'2007',v:'2007'},{n:'2006',v:'2006'},{n:'2005',v:'2005'},{n:'2004',v:'2004'},{n:'2003',v:'2003'},{n:'2002',v:'2002'},{n:'2001',v:'2001'},{n:'2000',v:'2000'}]
|
||||
}],
|
||||
'2':[{
|
||||
key: 'id',
|
||||
name: '类型',
|
||||
value: [{n:'全部',v:''},{n:'内地',v:'15'},{n:'美国',v:'16'},{n:'英国',v:'17'},{n:'韩国',v:'18'},{n:'泰国',v:'20'},{n:'日本',v:'21'},{n:'香港',v:'22'},{n:'台湾',v:'23'}]
|
||||
},{
|
||||
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:'网剧'}]
|
||||
},{
|
||||
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: 'year',
|
||||
name: '年份',
|
||||
value: [{n:'全部',v:''},{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'},{n:'2009',v:'2009'},{n:'2008',v:'2008'},{n:'2007',v:'2007'},{n:'2006',v:'2006'},{n:'2005',v:'2005'},{n:'2004',v:'2004'},{n:'2003',v:'2003'},{n:'2002',v:'2002'},{n:'2001',v:'2001'},{n:'2000',v:'2000'}]
|
||||
}],
|
||||
'3':[{
|
||||
key: 'id',
|
||||
name: '类型',
|
||||
value: [{n:'全部',v:''},{n:'内地',v:'25'},{n:'日漫',v:'26'},{n:'欧美',v:'27'},{n:'其他',v:'28'}]
|
||||
},{
|
||||
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:'励志'}]
|
||||
},{
|
||||
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: 'year',
|
||||
name: '年份',
|
||||
value: [{n:'全部',v:''},{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'},{n:'2009',v:'2009'},{n:'2008',v:'2008'},{n:'2007',v:'2007'},{n:'2006',v:'2006'},{n:'2005',v:'2005'},{n:'2004',v:'2004'},{n:'2003',v:'2003'},{n:'2002',v:'2002'},{n:'2001',v:'2001'},{n:'2000',v:'2000'}]
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
||||
async function getVideos(url) {
|
||||
const html = await request(url);
|
||||
const $ = load(html);
|
||||
const cards = $('div.stui-vodlist__box > a')
|
||||
let videos = _.map(cards, (n) => {
|
||||
let id = n.attribs['href'];
|
||||
let name = n.attribs['title'];
|
||||
let pic = n.attribs['data-original'];
|
||||
let remark = $($(n).find('span:nth-child(2)')[0]).text();
|
||||
return {
|
||||
vod_id: id,
|
||||
vod_name: name,
|
||||
vod_pic: pic,
|
||||
vod_remarks: remark,
|
||||
};
|
||||
});
|
||||
return videos;
|
||||
}
|
||||
|
||||
function base64Encode(text) {
|
||||
return Crypto.enc.Base64.stringify(Crypto.enc.Utf8.parse(text));
|
||||
}
|
||||
|
||||
function base64Decode(text) {
|
||||
return Crypto.enc.Utf8.stringify(Crypto.enc.Base64.parse(text));
|
||||
}
|
||||
|
||||
export function __jsEvalReturn() {
|
||||
return {
|
||||
init: init,
|
||||
home: home,
|
||||
homeVod: homeVod,
|
||||
category: category,
|
||||
detail: detail,
|
||||
play: play,
|
||||
search: search,
|
||||
};
|
||||
}
|
1
mjs/ysc_open.js
Normal file
1
mjs/ysc_open.js
Normal file
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user