上传文件至 动漫频道/JS

This commit is contained in:
2025-10-12 14:22:21 +02:00
parent 4b98b733d8
commit 7e687ab3e3
5 changed files with 390 additions and 0 deletions
+237
View File
@@ -0,0 +1,237 @@
globalThis.getTime = function(){
let ts= Math.round(new Date().getTime()/1000).toString();
log('获取时间戳:'+ts);
return ts
}
globalThis.signUrl=function(json){
// 获取所有节点的名称并按字母顺序排序
let json1=JSON.parse(json);
var sortedKeys = Object.keys(json1).sort();
// 遍历排好序的节点名称列表,并打印相应的值
let s='';
for (let key in sortedKeys){
let value=json1[sortedKeys[key]];
if(value!=undefined){
s=s+value;
}
}
//log(s);
//log(md5(s+"alskeuscli"));
s=json.slice(0,-1)+",\"sign\":\""+md5(s+"alskeuscli")+"\"\}";
log(s);
return s;
}
globalThis.posturl=function(url,json){
let html= fetch(url, {
body: JSON.parse(signUrl(json)),
headers: {"User-Agent": "okhttp/3.12.3"},
method: "POST"
}, true);
return JSON.parse(html);
}
var rule = {
title: '喵次元[APP]',
host: 'https://cym.fengche.tv/api.php/',
hostJs:`
var json2 = '{"versionName":"5.6.9","uuid":"9cc01079c64e2495","version":"4835d0a2","versionCode":"35","ctime":"'+getTime()+'"}';
let url="https://cym.fengche.tv/api.php/type/get_list";
let jo=posturl(url,json2).data.list;
let filters = {};
let cb={"class":"类型","area":"地区","lang":"语言","year":"年份","star":"演员","director":"导演","state":"状态","version":"版本"};
let class1=[];
jo.forEach(function(tp) {
rule.class_name=rule.class_name +"&"+tp['type_name'];
rule.class_url=rule.class_url +"&"+tp['type_id'];
let ep=tp['type_extend'];
let classes = [];
for (let key in ep){
let value=ep[key];
if (value.length>1){
class1.append(key);
//写成{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"}]}这种格式
let dd=value.toString().split(',');
var s=[];
dd.forEach(function(i){
s.append({'n':i,'v':i});
})
let ss={"key":key,"name":cb[key],"value":s};
classes.append(ss);
}
}
filters[tp['type_id']]=classes;
});
class1=Array.from(new Set(class1)).sort();
let s=""
class1.forEach(function(tp) {
s=s+"&" + tp +"={{fl."+tp+"}}";
})
log(s);
rule.filter_url=s;
rule.filter=filters;
log(rule.filter);
log(rule.class_name);
log(rule.class_url);
`,
homeUrl:'?hpindigo=**&page=fypage',
url:'?t=fyclass&page=fypage',
filter_url:'',
filter: {},
detailUrl:'?ids=',
searchUrl: '?hpindigo=**&page=fypage',
searchable: 2,
quickSearch: 0,
filterable:1,//是否启用分类筛选,
headers:{'User-Agent':'MOBILE_UA'},
timeout:10000,
class_name:'全部', // 分类筛选 /api.php/app/nav
class_url:'0',
play_parse:true,
lazy:`js:
log("*************测试*************");
let dd=input.split("&");
let ju_id=dd[0];
let plyer=dd[1];
let video_id=dd[2];
var json2 = '{"player_id":"'+plyer+'","ju_id":"'+ju_id+'","vod_id":"'+video_id+'","versionName":"5.6.9","uuid":"3899af59c0b12b98","version":"4835d0a2","versionCode":"35","ctime":"'+getTime()+'"}';
let url="https://cym.fengche.tv/api.php/video/get_definition";
let html = posturl(url,json2).data[0].url.trim();
log(html);
//input=aesX("AES/CBC/PKCS7",false,html,true,"sLunqcoH85Nm/jDmFKns7A==","fedcba9876543210",false);
//log(input);
eval(getCryptoJS);
var key = CryptoJS.enc.Hex.parse("734C756E71636F4838354E6D2F6A446D464B6E7337413D3D0000000000000000");
var iv = CryptoJS.enc.Utf8.parse("fedcba9876543210");
input=(CryptoJS.AES.decrypt(html, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})).toString(CryptoJS.enc.Utf8)
log(input)
`,
//lazy:'js:input=/m3u8|mp4|flv/.test(input)?{jx:0,url:input,parse:0}:{jx:1,url:input,parse:1}',
limit:6,
// 推荐:'json:items;*;*;*;*',
推荐:'json:data.sections[0].items;*;*;*;*',
推荐:`js:
log(input);
let page=input.split("&")[1].split("=")[1];
log(page);
var json2 = '{"page":"'+page+'","versionName":"5.6.9","uuid":"9cc01079c64e2495","version":"4835d0a2","versionCode":"35","ctime":"'+getTime()+'"}';
let url="https://cym.fengche.tv/api.php/video/index";
let jo = posturl(url,json2);
let vodList = jo.data;
log(vodList);
let videos=[];
vodList.forEach(function(vod) {
vod.video.forEach(function(vod1) {
let aid = (vod1["vod_id"]);
let title = vod1["vod_name"];
let img = vod1["vod_pic"];
let remark = vod1["vod_remarks"];
videos.push({
vod_id: aid,
vod_name: title,
vod_pic: img,
vod_remarks: remark
})
})
})
VODS=videos;
`,
一级:`js:
log(input);
let canshu=input.split("?")[1].split("&");
let dd={};
canshu.forEach(function(key){
log(key);
let k=key.split("=");
dd[k[0]]=k[1];
})
var json2 = '{"type_id":"'+dd["t"]+'","vod_year":"'+dd["year"]+'","limit":"20","orderby":"","vod_area":"'+dd["area"]+'","vod_class":"'+dd["class"]+'","page":"'+dd["page"]+'","versionName":"5.6.9","uuid":"9cc01079c64e2495","version":"4835d0a2","vod_name":"","versionCode":"35","ctime":"'+getTime()+'"}';
log(json2);
let url="https://cym.fengche.tv/api.php/video/get_list";
let jo = posturl(url,json2);
var d=[];
jo.data.list.forEach(function(it){
d.push({
title:it.vod_name,
img:it.vod_pic,
desc:it.vod_remarks,
url:it.vod_id,
content:it.vod_blurb})
});
setResult(d);
`,
二级:`js:
log(orId);
var json2 = '{"vod_id":"'+orId+'","versionName":"5.6.9","uuid":"3899af59c0b12b98","version":"4835d0a2","versionCode":"35","ctime":"'+getTime()+'"}';
log(json2);
let url="https://cym.fengche.tv/api.php/video/get_detail";
let jo = posturl(url,json2);
let node = jo.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"]
};
let episodes = node.player;
let playMap = {};
episodes.forEach(function(ep) {
let playurls = ep["code"];
let source = ep["name"];
log (playurls);
log (source);
//这里分别获取线路
var json2 = '{"limit":"5000","vod_id":"'+orId+'","page":"1","versionName":"5.6.9","uuid":"9cc01079c64e2495","version":"4835d0a2","versionCode":"35","player":"'+playurls+'","ctime":"'+getTime()+'"}';
log(json2);
let url="https://cym.fengche.tv/api.php/video/get_player";
let jo1 = posturl(url,json2);
jo1.data.list.forEach(function(playurl) {
if (!playMap.hasOwnProperty(source)) {
playMap[source] = []
}
playMap[source].append(playurl["drama"]+"$"+playurl["ju_id"]+"&"+playurl["plyer"]+"&"+playurl["video_id"])
})
});
let playFrom = [];
let playList = [];
Object.keys(playMap)
.forEach(function(key) {
playFrom.append(key);
playList.append(playMap[key].join("#"))
});
let vod_play_from = playFrom.join("$$$");
let vod_play_url = playList.join("$$$");
VOD["vod_play_from"] = vod_play_from;
VOD["vod_play_url"] = vod_play_url
`,
搜索:`js:
let page=input.split("&")[1].split("=")[1];
log(page);
var json2 = '{"vod_year":"","limit":"20","orderby":"up","vod_area":"","vod_class":"","page":"'+page+'","versionName":"5.6.9","uuid":"9cc01079c64e2495","version":"4835d0a2","vod_name":"'+KEY+'","versionCode":"35","ctime":"'+getTime()+'"}';
let url="https://cym.fengche.tv/api.php/video/get_list";
let jo = posturl(url,json2);
var d=[];
jo.data.list.forEach(function(it){
d.push({
title:it.vod_name,
img:it.vod_pic,
desc:it.vod_remarks,
url:it.vod_id})
});
setResult(d);`,
}
+29
View File
@@ -0,0 +1,29 @@
var rule={
title: '好看动漫',
host: 'https://www.youjiula.com/',
url: 'https://www.youjiula.com/youjiu/fyclass-fypage.html',
searchUrl: 'https://www.youjiula.com/search.php?page=fypage&searchword=**&searchtype=',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA', // "Cookie": ""
}, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": "#desc&&Text",
"tabs": ".stui-pannel-box h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
}
+72
View File
@@ -0,0 +1,72 @@
var rule = {
title: '花子动漫[漫]',
host: 'https://www.huazidm.com',
class_name: 'TV动漫&剧场&特摄',
class_url: '1&2&3',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,
quickSearch: 0,
headers: {
'User-Agent': 'MOBILE_UA',
},
url: '/index.php/api/vod#type=fyclassfyfilter&page=fypage',
filterable: 0,
filter_url: '&class={{fl.class}}&year={{fl.year}}&letter={{fl.letter}}&by={{fl.by}}',
filter: 'H4sIAAAAAAAAA+2W204TURSG32WuMdnT0nbDnZzP57PhopImEhETWk0IIUFOloNQDLSigGJCLCIWhJCWgr4MM9O+hdPO2mstDzE10cSYudv/989u55t0uteUpmuVd6a0+6FJrVIbGQuGw1qZNh58ELKjdZo19lbs/Dg49ihUvG7cxsZCMj+XLGA7aNNlQK9mb9Jxa2sVCsrqCmv7sxGLQg0Bd8fWjI9HaqsTcN/ccW5/Ru1zAnaXKSt6qjonYHf4JXexrDon4PcdPDUyWfV9TlCdGX1hxhPQQSjlPs3YnvVhQ+1zAnaJAyOdVp0T8D7fbdC9QMB9n7LmvHpmELB7s2+8OladE7B7skLPBQI6LD7Pbx8qByfgvrWkFVtU+5yA3c6l/TRU5wTV5V+f3WRi0EFQXS62m1tbgg4C3WfMnInjfRYDdnPL5uxL1TkBu7P9/O5ba+u9qjHjFem0GV03NzPqCsz4HE7Wc6lzuoIyfsbVkbWZZZ+BGd0WlHRhNT1c4M67NBkKTtCrZGTOb7LXJb5KHuEpB1ZcMu4l7uXcQ9zDuU5c51wQF4zrFcjtJeOSuOQ8QDzAuZ+4n3MfcR/n5KtzX518de6rk6/OfXXy1bmvTr469xXkK7ivIF/BfQX5Cu4ryFdwX0G+gvsK8hXcV5Cv4L6CfAX3FeQruK8gX0G+ekWF8i0uGZfEJecB4gHO/cT9nPuI+zgvJ17OuZe4l3MPcQ/nOnGdc0Gc+0ryldxXkq/kvpJ8JfeV5Cu5ryRfyX0l+UruK8lXcl9JvpL7SvKV3FeSr73kfztjoUgkxP94jhNm6lmJfzy3AdxGUgWkCkk1kGokNUBqkNQCqUVSB6QOST2QeiQNQBqQNAJpRNIEpAlJM5BmJC1AWpC0AmlF0gakDUk7kHYkHUA6kHQC6UTSBaQLSTeQbiQ9QHqQ9ALpRdIHpA9JP5B+JANABpAMAhlEMgRkCIm4pd6Bwor/VO5O0s/ETFzkE+c//EzM1SVzZ8aMn8BHREbtq/F0LJb2QAblvdFImJe51LwRVbNEeOThRKjw9cNlmuefGDl/OVb+hdHxvxgPf3cEdAcidyByByK1dAcidyByByJ3IPp+IPL+qYFoOXlzvaOObieUMrb8dMRwj2736HaPbrV0j2736HaPbvfo/vbonv4K+TrlXkAbAAA=',
filter_def: {},
detailUrl: '/voddetail/fyid.html',
play_parse: true,
sniffer: 1,
is_video: 'obj/tos|bd.xhscdn|/ugc/',
lazy: $js.toString(() => {
input = {
parse: 1,
url: input,
//js:'try{let urls=Array.from(document.querySelectorAll("iframe")).filter(x=>x.src.includes("?url="));if(urls){location.href=urls[0].src}}catch{}document.querySelector("button").click()',
js: 'try{location.href=document.querySelector("#playleft iframe").src}catch{}document.querySelector("button.swal-button--confirm").click()',
parse_extra: '&is_pc=1&custom_regex=' + rule.is_video,
}
}),
limit: 6,
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
一级: $js.toString(() => {
let body = input.split("#")[1];
let t = Math.round(new Date / 1e3).toString();
let key = md5("DS" + t + "DCC147D11943AF75");
let url = input.split("#")[0];
body = body + "&time=" + t + "&key=" + key;
print(body);
fetch_params.body = body;
let html = post(url, fetch_params);
let data = JSON.parse(html);
VODS = data.list.map(function (it) {
it.vod_pic = urljoin2(input.split("/i")[0], it.vod_pic);
return it
});
}),
二级: {
title: '.slide-info-title&&Text;.slide-info:eq(3)--strong&&Text',
img: '.detail-pic&&data-original',
desc: '.fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text',
content: '#height_limit&&Text',
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
tab_text: '.swiper-slide&&Text',
lists: '.anthology-list-box:eq(#id) li',
},
搜索: 'json:list;name;pic;;id',
搜索: $js.toString(() => {
let html = fetch(input);
let list = pdfa(html, ".public-list-box");
VODS = list.map(x => {
return {
vod_name: pdfh(x, ".thumb-txt&&Text"),
vod_pic: pdfh(x, ".lazy&&data-src"),
vod_remarks: pdfh(x, ".public-list-prb&&Text"),
vod_content: pdfh(x, ".thumb-blurb&&Text"),
vod_id: pdfh(x, "a&&href")
}
});
}),
图片替换: '&=>&'
}
+40
View File
@@ -0,0 +1,40 @@
var rule = {
title: "路漫漫",
host: "http://www.lmm36.com",
url: "/vod/show/id/fyclassfyfilter.html",
searchUrl: 'http://www.lmm88.com/vod/search/page/fypage/wd/**.html',
searchable: 2,
quickSearch: 0,
filterable: 1,
filter: "H4sIAAAAAAAAAO2Su04CURCG32XqNXu/wKsYitVsAlHRcEs2hISoECuJxqhRYqMFxkIKKFgLXoY9Lm/hHtB1mPqUU87//Tt7kvm6YEN5vwtHUQxlSBez1dcraFAPTyI8d8LjdrQp1mU8mKwvJjLOB+hp29QyLOc30+MobOibAFGbUhtTi1ILU5NSE1ODUgNRs0RoHiAaUBpg6lPqY+pR6mHqUuoWVDzPxMM75c6eWQryp1dkbXsRcX2bJqP/ixTz7kXEuJ8tb+TW++nf1oNYb9Xyj4p/jvvrj8dVkojpHepUa60m6WSfl+nVEHWah6eNnUXp29P3+SKbv6BS+0y+vKKBw0axUUqNctkoNkqpUR4bxUYpNcpno9gopUYFbBQbpdCo3g8SNsur7Q0AAA==",
filter_url: "{{fl.排序}}{{fl.年代}}/page/fypage",
filter_def: "",
headers: {
"User-Agent": "MOBILE_UA"
},
timeout: 5000,
class_name: "日本动漫&国产动漫&欧美动漫&日本动画电影&国产动画电影&欧美动画电影",
class_url: "6&7&8&3&4&5",
class_parse: "",
cate_exclude: "",
play_parse: true,
lazy: $js.toString(() => {
input = {parse: 1, url: input, js: ''};
}),
double: false,
推荐: "*",
一级: ".video-img-box;h6.title&&Text;.lazyload&&data-src;.label&&Text;a&&href",
二级: {
title: ".page-title&&Text;.tag-link&&Text",
img: ".module-item-pic&&.lazyload&&src",
desc: ".video-info-items:eq(3)&&Text;.video-info-items:eq(2)&&Text;;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text",
content: ".video-info-content&&Text",
tabs: ".module-tab-item.tab-item",
lists: ".module-player-list:eq(#id) a",
tab_text: "body&&Text",
list_text: "body&&Text",
list_url: "a&&href"
},
detailUrl: "",
搜索: '.row .video-img-box;h6 a&&Text;.lazyload&&data-src;.label&&Text;a&&href',
}
+12
View File
@@ -0,0 +1,12 @@
Object.assign(muban.mxpro.二级, {
tab_text: 'div--small&&Text',
});
var rule = {
模板: 'mxpro',
title: '驴番[漫]',
host: 'https://www.lvfan.fun',
url: 'vodshow/fyclass--------fypage---/',
class_parse: '.navbar-items li;a&&Text;a&&href;.*/(\\d+)/',
searchUrl: '/vodsearch/**----------fypage---/',
tab_exclude: '排序',
}