Add files via upload

This commit is contained in:
n3rddd 2024-06-17 21:01:46 +08:00 committed by GitHub
parent 16880d50a1
commit 6814385e20
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 360 additions and 1 deletions

102
JN/dr_py/js/JRKAN直播.js Normal file
View File

@ -0,0 +1,102 @@
// 道长 hipy仓库 https://github.com/hjdhnx/hipy-server
var rule = {
title: 'JRKAN直播',
host: 'http://www.jrkankan.com/?lan=1',
// JRKAN备用域名:www.jrkankan.com / www.jrkan365.com / jrsyyds.com / www.jryyds.com / jrskan.com / jrsbxj.com
// JRKAN网址发布:qiumi1314.com
url: '/fyclass',
searchUrl: '',
searchable: 0,
quickSearch: 0,
class_name: '全部',
class_url: '/',
//class_url:'?live',
headers: {
'User-Agent': 'MOBILE_UA'
},
timeout: 5000,
play_parse: true,
lazy: $js.toString(() => {
let _id = input.match(/id=(.*?)&/)[1];
_id = decodeURIComponent(_id);
let html = request(input);
// log(html);
let src = html.match(/src='(.*?)'/)[1].replace('"+id1+"', _id);
log('src:' + src);
//let _url = `http://play.sportsteam356.com/play/${_id}.html`;
let _url = urljoin(input, src);
log('_url:' + _url);
html = request(_url);
_url = 'http:' + pdfh(html, 'iframe&&src');
log('iframe_url:' + _url);
function J_get(name, url) {
url = url ? url : 'http://cloud.yumixiu768.com/player/msss.html?id=/live/705782/playlist.m3u8?k=f8444f76c5852ada0b6ac9181714b310&t=1819702363';
var start = url.indexOf(name + '=');
if (start == -1) return '';
var len = start + name.length + 1;
var end = url.indexOf('######', len);
if (end == -1) end = url.length;
return unescape(url.substring(len, end));
}
let id = J_get('id', _url);
if (id) {
let purl = "//hls.szsummer.cn" + id;
if (!purl.startsWith('http')) {
purl = 'https:' + purl;
}
log('play_url:' + purl);
input = {parse: 0, url: purl};
}
}),
limit: 6,
double: false,
推荐: '*',
一级: $js.toString(() => {
let d = [];
let html = request(input);
let tabs = pdfa(html, 'ul.d-touch');
tabs.forEach((it) => {
let ps = pdfh(it, '.name&&Text');
let pz = pdfh(it, '.name:eq(1)&&Text');
let pk = pdfh(it, '.name:eq(2)&&Text');
let img = pd(it, 'img&&src');
let timer = pdfh(it, '.lab_time&&Text');
let url = pd(it, 'a.me&&href');
d.push({
title: pz + '🆚' + pk,
desc: timer + '🏆' + ps,
img: img,
url: url
});
});
setResult(d);
}),
二级: {
"title": ".sub_list li:lt(2)&&Text;.sub_list li:eq(0)&&Text",
"img": "img&&src",
"desc": ";;;.lab_team_home&&Text;.lab_team_away&&Text",
"content": ".sub_list ul&&Text",
"tabs": "js:TABS=['JRKAN直播']",
lists: $js.toString(() => {
//log(TABS);
LISTS = [];
let html = request(input);
let data = pdfa(html, '.sub_playlist&&a');
let lists1 = [];
data.forEach((it) => {
let name = pdfh(it, 'strong&&Text');
let url1 = pdfh(it, 'a&&data-play');
// log(url1);
if (url1.length > 8) { //过滤无效选集
let url = pd(it, 'a&&data-play', input);
lists1.push(name + '$' + url);
}
});
LISTS.push(lists1);
}),
},
搜索: '',
}

38
JN/dr_py/js/最新4K.js Normal file
View File

@ -0,0 +1,38 @@
var rule = {
模板: '首图2',
title: '最新4K',
host: 'https://www.1080.ee',
url: '/vodtype/fyclass-fypage.html',
searchUrl: '/vodsearch/**----------fypage---.html',
cate_exclude: '专题',
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
lazy: $js.toString(() => {
let html = request(input);
html = JSON.parse(html.match(/r player_.*?=(.*?)</)[1]);
let url = html.url;
// log('url:'+url);
let config = {};
let jscode = request(HOST + '/static/js/playerconfig.js');
// log('jscode:'+jscode);
eval(jscode + '\nconfig=MacPlayerConfig;');
let jx = config.player_list[html.from].parse;
if (jx == '') {
jx = config.parse
}
log('jx:' + jx);
let p = 'url=' + url;
let video = JSON.parse(request(jx.replace('?url=', 'API.php'), {
headers: {
'Referer': HOST
},
body: p,
method: 'POST'
})).url;
log(video);
input = {
jx: 0,
url: video,
parse: 0
}
}),
}

View File

@ -6,4 +6,81 @@ var rule = {
tab_exclude: '排序',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/**----------fypage---.html',
lazy: $js.toString(() => {
let html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
let url = html.url;
if (html.encrypt == '1') {
url = unescape(url);
} else if (html.encrypt == '2') {
url = unescape(base64Decode(url));
}
if (/m3u8/.test(url)) {
input = {
jx: 0,
url: url,
parse: 0
}
} else {
let config = {};
eval(request(HOST + '/static/js/playerconfig.js') + '\nconfig=MacPlayerConfig;');
let jx = HOST + config.player_list[html.from].parse;
if (jx == '') {
jx = HOST + config.parse;
}
log(jx);
eval(request(jx + url, {
headers: {
'Referer': input
}
}).match(/let config = {[\s\S]*?}/)[0]);
log(config.url);
eval(getCryptoJS());
function rc4(data, key, t) {
let pwd = key || 'ffsirllq';
let cipher = '';
key = [];
let box = [];
let pwd_length = pwd.length;
if (t == 1) {
data = atob(data);
} else {
data = encodeURIComponent(data);
}
let data_length = data.length;
for (let i = 0; i < 256; i++) {
key[i] = pwd[i % pwd_length].charCodeAt();
box[i] = i;
}
for (let j = 0, i = 0; i < 256; i++) {
j = (j + box[i] + key[i]) % 256;
let tmp = box[i];
box[i] = box[j];
box[j] = tmp;
}
for (let a = 0, j = 0, i = 0; i < data_length; i++) {
a = (a + 1) % 256;
j = (j + box[a]) % 256;
let tmp = box[a];
box[a] = box[j];
box[j] = tmp;
let k = box[((box[a] + box[j]) % 256)];
cipher += String.fromCharCode(data[i].charCodeAt() ^ k);
}
if (t == 1) {
return decodeURIComponent(cipher);
} else {
return btoa(cipher);
}
}
let play = rc4(config.url, "202205051426239465", 1);
input = {
jx: 0,
url: play,
parse: 0
}
}
}),
}

16
JN/dr_py/js/追剧兔.js Normal file
View File

@ -0,0 +1,16 @@
Object.assign(muban.短视2.二级, {
img: '.lazy&&data-src',
});
var rule = {
模板: '短视2',
title: '追剧兔',
host: 'https://zjtu.tv',
class_name: '电影&电视剧&综艺&动漫&记录&短剧',
class_url: '1&2&3&4&5&20',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
detailUrl: '/project-fyid/',
推荐: '.public-list-box;a&&title;.lazy&&data-src;.public-list-prb&&Text;a&&href',
图片替换: $js.toString(() => {
input = input.replace('mac://', 'https://');
}),
}

View File

@ -1 +1,127 @@
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
var rule = {
title: '黑料不打烊[密]',
host: 'https://hl49.co',
url: '/category/fyclass/fypage.html',
searchUrl: '/index/search_article?word=**&page=fypage',
searchable: 1,
quickSearch: 0,
filterable: 0,
headers: {
'User-Agent': 'Mozilla/5.0',
},
class_parse: '.slider-content&&a;span&&Text;a&&href;.*/(\\d+)\.html',
hostJs: $js.toString(() => {
HOST = 'https://mgj.uzrpy.com';
try {
let html = request(rule.host);
HOST = pdfh(html, ".box-wrap&&a&&href") || HOST;
} catch (e) {
log(`获取Host错误${e.message}`);
}
}),
hikerListCol: "card_pic_1",
hikerClassListCol: "card_pic_1",
lazy: typeof MY_NAME !== "undefined" ? $js.toString(() => {
var list = jsp.pdfa(request(input), '.dplayer');
input = {
parse: ""
};
if (list.length === '1') {
let url = JSON.parse(pdfh(list[0], '.dplayer&&config')).video.url;
input.url = url.startsWith("http") ? url : "https://hls.vdtuzv.com" + url;
} else {
var a = []
list.forEach((data, id) => a.push('第' + (id + 1) + '部'))
input.url = $(a, 1)
.select(list => {
input = input.match(/\d+/)[0] - 1
return $(JSON.parse(pdfh(list[input], '.dplayer&&config'))
.video.url)
.lazyRule(() => input.startsWith("http") ? input : "https://hls.vdtuzv.com" + input)
}, list)
}
}) : void 0,
play_parse: true,
limit: 6,
proxy_rule: $js.toString(() => {
//log(input);
// 测试:https://www.wakatool.com/base64img
if (input) {
let t1 = new Date().getTime();
let _type = input.url.split('.').slice(-1)[0];
let data = request(input.url, {toBase64: true});
//log(data);
let t2 = new Date().getTime();
log(`网络请求获取图片耗时:${t2 - t1}ms`);
// log(`当前线程:${java.lang.Thread.currentThread().getName()}`);
let key = CryptoJS.enc.Utf8.parse("f5d965df75336270");
let iv = CryptoJS.enc.Utf8.parse("97b60394abc2fbe1");
let encrypted = CryptoJS.AES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(data)
}, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Base64);
let img_base64 = 'data:image/' + _type + ';base64,' + encrypted;
let t3 = new Date().getTime();
log(`已获取图片${input.url}解密耗时:${t3 - t2}ms`);
// // input = [200, 'text/plain', img_base64];
// input = [302, 'text/html', '', {Location:'https://www.baidu.com'}];
input = [200, 'image/' + _type, img_base64, null, 1];
// input = [200, 'text/plain', data];
}
}),
预处理: $js.toString(() => {
rule.cate_exclude = '';
}),
推荐: '*',
一级: $js.toString(() => {
let d = [];
let html = request(input);
let list = pdfa(html, '.video-item');
list.forEach(item => {
var pic = pdfh(item, 'img&&onload');
var url = pd(item, 'a&&href', MY_URL);
var title = pdfh(item, '.title&&Text');
if (title) {
d.push({
title: title,
img: pic,
desc: "0",
url: url
});
}
});
setResult(d);
}),
//一级: '.video-item;.title&&Text;img&&onload;;a&&href',
图片替换: $js.toString(() => {
if (/loadImg/.test(input)) {
input = input.split("'")[1];
}
input = getProxyUrl() + '&url=' + input;
}),
二级: "*",
搜索: $js.toString(() => {
let d = [];
let u = input.split("?");
let h = post(u[0], {
body: u[1]
});
let list = JSON.parse(h).data.list;
list.forEach(item => {
let pic = item.thumb;
let url = `${rule.host}/archives/${item.id}.html`
d.push({
title: item.title,
desc: item.created_date,
img: pic,
url: url
});
});
setResult(d);
})
}