fix
This commit is contained in:
Liu committed 2025-01-04 13:36:46 +08:00
1 parent 7f98730b28
commit 359b5008bf
61 files changed
+32792 -19206

No files matched your search

+102 -58
View File
@@ -27,16 +27,25 @@ cheerio.jinja2 = function(template, obj) {
// import {gbkTool} from 'https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/libs/gbk.js'
let vercode = typeof(pdfl) === 'function' ? 'drpy2.1' : 'drpy2';
const VERSION = vercode + ' 3.9.51beta5 20241104';
const VERSION = vercode + ' 3.9.51beta6 20241126';
const UpdateInfo = [{
date: '20241104',
title: 'drpy更新,增加新特性',
version: '3.9.51beta5 20241104',
msg: `
date: '20241126',
title: 'drpy更新,优化去广告算法',
version: '3.9.51beta6 20241126',
msg: `
1. 更新龙头大佬提供的去广告算法
`
},
{
date: '20241104',
title: 'drpy更新,增加新特性',
version: '3.9.51beta5 20241104',
msg: `
1. rule增加 搜索验证标识 属性,可以不定义,默认为 '系统安全验证|请输入验证码'
2. rule增加 searchNoPage 属性,可以不定义,如果定义 1 将关闭该源的搜索翻页功能,超过1页直接返回空
`
}, ];
},
];
function getUpdateInfo() {
return UpdateInfo.map((_o) => {
@@ -1064,7 +1073,7 @@ function fixAdM3u8(m3u8_text, m3u8_url, ad_remove) {
* @returns {string}
*/
function fixAdM3u8Ai(m3u8_url, headers) {
let ts = new Date().getTime();
let ts = (new Date).getTime();
let option = headers ? {
headers: headers
} : {};
@@ -1077,67 +1086,103 @@ function fixAdM3u8Ai(m3u8_url, headers) {
}
i++
}
return i;
return i
}
function reverseString(str) {
return str.split('').reverse().join('');
return str.split("").reverse().join("")
}
//log('播放的地址:' + m3u8_url);
let m3u8 = request(m3u8_url, option);
//log('m3u8处理前:' + m3u8);
m3u8 = m3u8.trim().split('\n').map(it => it.startsWith('#') ? it : urljoin(m3u8_url, it)).join('\n');
//log('m3u8处理后:============:' + m3u8);
// 获取嵌套m3u8地址
m3u8 = m3u8.replace(/\n\n/ig, '\n'); //删除多余的换行符
let last_url = m3u8.split('\n').slice(-1)[0];
m3u8 = m3u8.trim().split("\n").map(it => it.startsWith("#") ? it : urljoin(m3u8_url, it)).join("\n");
m3u8 = m3u8.replace(/\n\n/gi, "\n");
let last_url = m3u8.split("\n").slice(-1)[0];
if (last_url.length < 5) {
last_url = m3u8.split('\n').slice(-2)[0];
last_url = m3u8.split("\n").slice(-2)[0]
}
if (last_url.includes('.m3u8') && last_url !== m3u8_url) {
if (last_url.includes(".m3u8") && last_url !== m3u8_url) {
m3u8_url = urljoin2(m3u8_url, last_url);
log('嵌套的m3u8_url:' + m3u8_url);
m3u8 = request(m3u8_url, option);
log("嵌套的m3u8_url:" + m3u8_url);
m3u8 = request(m3u8_url, option)
}
//log('----处理有广告的地址----');
let s = m3u8.trim().split('\n').filter(it => it.trim()).join('\n');
let ss = s.split('\n')
//找出第一条播放地址
//let firststr = ss.find(x => !x.startsWith('#'));
let firststr = '';
let maxl = 0; //最大相同字符
let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n");
let ss = s.split("\n");
if (m3u8_url.indexOf("ffzy") > 0) {
let j = 0,
k1 = 0,
m = 0,
n = 0,
t = 0;
let s2 = "";
for (let i = 0; i < ss.length; i++) {
let s = ss[i];
let s1 = "";
if (s.startsWith("#EXTINF")) {
s1 = s.slice(8);
n++;
if (n == 1)
k1 = i;
if (s2.indexOf(s1) == -1) {
s2 = s2 + s1;
m++;
}
t = t + parseFloat(s1);
i++;
s = ss[i];
}
if (s.startsWith("#EXT-X-DISCONTINUITY")) {
if (n == 5) {
log("n:" + n);
log("m:" + m);
for (let j = k1; j < k1 + n * 2; j++) {
log(ss[j]);
}
log("广告位置:" + k1);
log("数据条数:" + n);
log("数据种类:" + m);
log("广告时间:" + t.toFixed(5));
ss.splice(k1, 2 * n + 1);
i = i - 2 * n + 1;
}
t = 0;
m = 0;
n = 0;
s2 = "";
}
}
}
let firststr = "";
let maxl = 0;
let kk = 0;
let kkk = 2;
let secondstr = '';
let kkk1 = 1;
let kkk2 = 0;
let secondstr = "";
for (let i = 0; i < ss.length; i++) {
let s = ss[i];
if (!s.startsWith("#")) {
if (kk == 0) firststr = s;
if (kk == 1) maxl = b(firststr, s);
if (kk > 1) {
if (maxl > b(firststr, s)) {
if (secondstr.length < 5) secondstr = s;
kkk = kkk + 2;
if (kk == 0)
firststr = s;
if (kk > 0) {
if (maxl > b(firststr, s) + 1) {
if (secondstr.length < 5)
secondstr = s;
kkk2++
} else {
maxl = b(firststr, s);
kkk++;
kkk1++
}
}
kk++;
if (kk >= 20) break;
if (kk >= 30)
break
}
}
if (kkk > 30) firststr = secondstr;
if (kkk2 > kkk1)
firststr = secondstr;
let firststrlen = firststr.length;
//log('字符串长度:' + firststrlen);
let ml = Math.round(ss.length / 2).toString().length; //取数据的长度的位数
//log('数据条数的长度:' + ml);
//找出最后一条播放地址
let ml = Math.round(ss.length / 2).toString().length;
let maxc = 0;
let laststr = ss.toReversed().find((x) => {
if (!x.startsWith('#')) {
let laststr = ss.toReversed().find(x => {
if (!x.startsWith("#")) {
let k = b(reverseString(firststr), reverseString(x));
maxl = b(firststr, x);
maxc++;
@@ -1147,29 +1192,28 @@ function fixAdM3u8Ai(m3u8_url, headers) {
}
return false
});
log('最后一条切片:' + laststr);
//log('最小相同字符长度:' + maxl);
log("最后一条切片:" + laststr);
let ad_urls = [];
for (let i = 0; i < ss.length; i++) {
let s = ss[i];
if (!s.startsWith('#')) {
if (!s.startsWith("#")) {
if (b(firststr, s) < maxl) {
ad_urls.push(s); // 广告地址加入列表
ad_urls.push(s);
ss.splice(i - 1, 2);
i = i - 2;
i = i - 2
} else {
ss[i] = urljoin(m3u8_url, s);
ss[i] = urljoin(m3u8_url, s)
}
} else {
ss[i] = s.replace(/URI=\"(.*)\"/, 'URI=\"' + urljoin(m3u8_url, '$1') + '\"');
ss[i] = s.replace(/URI=\"(.*)\"/, 'URI="' + urljoin(m3u8_url, "$1") + '"')
}
}
log('处理的m3u8地址:' + m3u8_url);
log('----广告地址----');
log("处理的m3u8地址:" + m3u8_url);
log("----广告地址----");
log(ad_urls);
m3u8 = ss.join('\n');
//log('处理完成');
log('处理耗时:' + (new Date().getTime() - ts).toString());
m3u8 = ss.join("\n");
log("处理耗时:" + ((new Date).getTime() - ts).toString());
log(m3u8);
return m3u8
}
+60 -9
View File
@@ -19,8 +19,15 @@ cheerio.jinja2 = function(template, obj) {
}
};
let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2";
const VERSION = vercode + " 3.9.51beta5 20241104";
const VERSION = vercode + " 3.9.51beta6 20241126";
const UpdateInfo = [{
date: "20241126",
title: "drpy更新,优化去广告算法",
version: "3.9.51beta6 20241126",
msg: `
1. 更新龙头大佬提供的去广告算法
`
}, {
date: "20241104",
title: "drpy更新,增加新特性",
version: "3.9.51beta5 20241104",
@@ -866,30 +873,73 @@ function fixAdM3u8Ai(m3u8_url, headers) {
}
let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n");
let ss = s.split("\n");
if (m3u8_url.indexOf("ffzy") > 0) {
let j = 0,
k1 = 0,
m = 0,
n = 0,
t = 0;
let s2 = "";
for (let i = 0; i < ss.length; i++) {
let s = ss[i];
let s1 = "";
if (s.startsWith("#EXTINF")) {
s1 = s.slice(8);
n++;
if (n == 1) k1 = i;
if (s2.indexOf(s1) == -1) {
s2 = s2 + s1;
m++
}
t = t + parseFloat(s1);
i++;
s = ss[i]
}
if (s.startsWith("#EXT-X-DISCONTINUITY")) {
if (n == 5) {
log("n:" + n);
log("m:" + m);
for (let j = k1; j < k1 + n * 2; j++) {
log(ss[j])
}
log("广告位置:" + k1);
log("数据条数:" + n);
log("数据种类:" + m);
log("广告时间:" + t.toFixed(5));
ss.splice(k1, 2 * n + 1);
i = i - 2 * n + 1
}
t = 0;
m = 0;
n = 0;
s2 = ""
}
}
}
let firststr = "";
let maxl = 0;
let kk = 0;
let kkk = 2;
let kkk1 = 1;
let kkk2 = 0;
let secondstr = "";
for (let i = 0; i < ss.length; i++) {
let s = ss[i];
if (!s.startsWith("#")) {
if (kk == 0) firststr = s;
if (kk == 1) maxl = b(firststr, s);
if (kk > 1) {
if (maxl > b(firststr, s)) {
if (kk > 0) {
if (maxl > b(firststr, s) + 1) {
if (secondstr.length < 5) secondstr = s;
kkk = kkk + 2
kkk2++
} else {
maxl = b(firststr, s);
kkk++
kkk1++
}
}
kk++;
if (kk >= 20) break
if (kk >= 30) break
}
}
if (kkk > 30) firststr = secondstr;
if (kkk2 > kkk1) firststr = secondstr;
let firststrlen = firststr.length;
let ml = Math.round(ss.length / 2).toString().length;
let maxc = 0;
@@ -925,6 +975,7 @@ function fixAdM3u8Ai(m3u8_url, headers) {
log(ad_urls);
m3u8 = ss.join("\n");
log("处理耗时:" + ((new Date).getTime() - ts).toString());
log(m3u8);
return m3u8
}
+1277
View File
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -36,14 +36,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
} catch {
@@ -51,7 +51,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
}),
+3 -3
View File
@@ -37,14 +37,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
} catch {
@@ -52,7 +52,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
}),
+3 -3
View File
@@ -106,7 +106,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 1,
url: id + url,
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
if (id == 0) {
@@ -114,7 +114,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: id + url,
jx: 1,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
@@ -140,7 +140,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: matches[1],
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
+1 -1
View File
@@ -18,7 +18,7 @@ var rule = {
play_parse: true,
parse_url: '',
lazy: $js.toString(() => {
let json = request("http://43.242.202.175:9595/nnjsdm.php?key=789456123&url=" + input);
let json = request("http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input);
let bata = JSON.parse(json);
input = {
parse: 0,
+3 -3
View File
@@ -107,7 +107,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 1,
url: id + url,
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
if (id == 0) {
@@ -115,7 +115,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: url,
jx: 1,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
@@ -141,7 +141,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: matches[1],
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
+2 -2
View File
@@ -101,14 +101,14 @@ globalThis.jxx = function(input) {
parse: 0,
url: bata.url,
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
} else {
input = {
parse: 0,
url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null,
jx: 1,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
}
} catch {
+1 -1
View File
@@ -31,7 +31,7 @@ let common_lazy = `js:
url: url,
};
} else {
input;
input = url && url.startsWith('http') && tellIsJx(url) ? {parse:0,jx:1,url:url}:input;
}`;
// 默认嗅探播放
+3 -3
View File
@@ -1348,14 +1348,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
} catch {
@@ -1363,7 +1363,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
}),
+4 -4
View File
@@ -105,7 +105,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 1,
url: id + url,
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
//log(id);
@@ -114,7 +114,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: url,
jx: 1,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
if (id.includes('http')) {
@@ -123,7 +123,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: purl,
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
}
let html1 = request(h_ost + 'api.php/getappapi.index/vodParse', {
@@ -148,7 +148,7 @@ globalThis.jxx = function(id, url, name, juji) {
parse: 0,
url: matches[1],
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + name + '&js=' + juji + '&key=741852963'
};
} catch {
return {
+3 -3
View File
@@ -47,14 +47,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
} catch {
@@ -62,7 +62,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
}),
+3 -3
View File
@@ -42,14 +42,14 @@ var rule = {
parse: 0,
url: bata.url,
jx: 0,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
} else {
input = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
} catch {
@@ -57,7 +57,7 @@ var rule = {
parse: 0,
url: input.split("?")[0],
jx: 1,
danmaku: "http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=" + input.split("?")[0]
danmaku: "http://103.36.220.166:91/dmku1/tvbox/zh.php?url=" + input.split("?")[0]
};
}
}),
+151 -3
View File
@@ -2,7 +2,7 @@ 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',
searchUrl: '/vod/search/page/fypage/wd/**.html',
searchable: 2,
quickSearch: 0,
filterable: 1,
@@ -19,7 +19,155 @@ var rule = {
cate_exclude: "",
play_parse: true,
lazy: $js.toString(() => {
input = {parse: 1, url: input, js: ''};
function getDAesString(token) {
eval(getCryptoJS());
var key = CryptoJS.enc.Utf8.parse("ejjooopppqqqrwww");
var iv = CryptoJS.enc.Utf8.parse("1348987635684651");
var token = CryptoJS.AES.decrypt(token, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7,
});
return token.toString(CryptoJS.enc.Utf8);
}
var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
var url = html.url;
var from = html.from;
if (html.encrypt == "1") {
url = unescape(url);
} else if (html.encrypt == "2") {
url = unescape(base64Decode(url));
}
if (/\.mp4|\.m3u8|\.flv/.test(url)) {
input = {
parse: 0,
url: url.split("&")[0],
js: ''
};
} else {
var jsh = request(HOST + "/static/player/" + from + ".js", {
headers: {
Referer: input
},
}).match(/\.src\s*=\s*(.*?);/)[1];
//log(MY_HOME);
if (/type=/.test(jsh)) {
jsh = jsh
.replace(/[\+\s']/g, "")
.replace(/MacPlayer.Parse/, "")
.replace(/MacPlayer.PlayUrl/, url)
.replace(/window.location.href/, input);
var playht = fetch(jsh, {
headers: {
Referer: HOST
}
});
} else {
jsh = jsh
.replace(/[\+\s']/g, "")
.replace(/MacPlayer.Parse/, "")
.replace(/MacPlayer.PlayUrl/, url)
.replace(/window.location.href/, input);
jsh = JSON.parse(
fetch(jsh, {
headers: {
Referer: HOST
},
onlyHeaders: true
})
).url;
var playht = fetch(jsh, {
headers: {
Referer: HOST
}
});
}
var postapi = jsh.match(/^(.*?\/\/.*?\/.*?\/)/)[1];
var posturl = postapi + playht.match(/post\("(.*?)"/)[1];
if (/act\s*=/.test(playht)) {
var vid = playht.match(/vid\s*=\s*"(.*?)"/)[1];
var t = playht.match(/var\s*t\s*=\s*"(.*?)"/)[1];
var token = playht.match(/token\s*=\s*"(.*?)"/)[1];
var act = playht.match(/act\s*=\s*"(.*?)"/)[1];
var play = playht.match(/play\s*=\s*"(.*?)"/)[1];
token = getDAesString(token);
var data = JSON.parse(
post(posturl, {
headers: {
Referer: HOST
},
body: {
vid: vid,
t: t,
token: token,
act: act,
play: play,
},
timeout: 5000
})
);
input = {
parse: 0,
url: data.url,
js: ''
};
} else {
var key = "";
playht.match(/var (\w+)="(.*?)";/g).forEach(function(list) {
key += list.match(/"(.*?)"/)[1];
});
const bodys = JSON.parse(
playht
.match(/post\(.*?,(.*?),\n/)[1]
.replace(/"keyyy"\s*:\s*''.*?''/, '"keyyy" : "' + key + '"')
);
var data = JSON.parse(
post(posturl, {
headers: {
Referer: HOST
},
body: bodys
})
);
if (data.ext == "xgplayer") {
var dataurl =
"https://yun.366day.site/mp4hls/xgplayer.php?vid=" + data.url;
var video = fetch(dataurl, {
headers: {
Referer: jsh
}
}).match(
/"url": "(.*?)"/
)[1];
input = {
parse: 0,
url: video,
js: ''
};
} else if (data.ext == "hls" || data.ext == "hls_list") {
input = {
parse: 0,
url: decodeURIComponent(data.url),
js: ''
};
} else {
input = {
parse: 0,
url: data.url,
js: ''
};
}
}
}
}),
double: false,
推荐: "*",
@@ -36,5 +184,5 @@ var rule = {
list_url: "a&&href"
},
detailUrl: "",
搜索: '.row .video-img-box;h6 a&&Text;.lazyload&&data-src;.label&&Text;a&&href',
搜索: "*"
}
+2 -2
View File
@@ -101,14 +101,14 @@ globalThis.jxx = function(input) {
parse: 0,
url: bata.url,
jx: 0,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
} else {
input = {
parse: 0,
url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null,
jx: 1,
danmaku: 'http://43.242.202.175:9595/nnjsdm.php?key=789456123&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
danmaku: 'http://103.36.220.166:91/dmku1/tvbox/zh.php?url=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
}
}
} catch {
File diff suppressed because it is too large. Load diff
-25
View File
@@ -48,14 +48,6 @@
"class_name": "H4sIALGjdWYC/0WSbXKCQAyGb8M5UQcRqgU7DFal2mllKBa/pqNjQexl2M1yi7LZpP2175PNJnkDEJ1FfbIgOqtsKLzMEv6HvH1aUN2UV1pdRA4c8Fwdb+oE1fCpneeowrG0M1Rx0qWiSl3xXWkle6G0Y4wt66bMdHV5PeijXedIsxSPfgHxFJ8MfNlfaAW9e7u4oxqdaATwD1BvUWVTatKNBVEF5GK9w3pfR3QS4CGLDO6PqOJjmxd45VyaKsbYbqxGK+w9em5KD6tXgXCuqOopVAlV7x6J/eDfD61IWwqOBNrYsuabWSqTggHHYMBJujl5zTgPQ7BR7w55UfNQ9h4IWnuo3nbs0mzNAKQrddpymjuBaE0gNpOmcjkt/1EXnyFKxP6V026lsv+ahmOxf+EbY5uammWaf8T4IzDOCeiDUxouiIGdcyZWN/ALQpTFCIwCAAA=",
"class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63"
},
{
"name": "iku喵",
"url": "http://caiji.ikum.cc:8099",
"parse_url": "",
"cate_exclude": "",
"class_name": "H4sIALGjdWYC/yXIOw5AQBRG4d3clVKMgmKEQlBNhiAoiBiPzfjdsQsxmpMvh+MJ+0j2LNh0EJrYbFashKC6t4aQ7deqv38vPaLBKVVPWTu1mo/wE/z5MomTd3KjyMocviDIGLL++wIj0AZ/awAAAA==",
"class_url": "1&2&3&4&20&21&22&23&24&25&26&27"
},
{
"name": "暴风资源",
"url": "https://bfzyapi.com",
@@ -113,15 +105,6 @@
"class_name": "H4sIAFVXhmYC/y2Oaw6CMBCEb9Nz+ohINVGMiBpJ+KNW4gskJPJoT9PulltIF3/Nl5nJ7GJYGpkzDEsrPMMFw6a1vGZmcYP27kTLGPmcmSjuY0fo5zCdEYmNqRpKufh7MA5gFBH5B11zSs+iO9I6PASqFdH3Dapw1CWpk+EiDv/A/kLeOoNKUb3InNhXZuTOber2ioFHJLd28rHlSddLhsmz7/0A4RcQUdYAAAA=",
"class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&30&31"
},
{
"name": "乐视资源",
"url": "https://leshiapi.com",
"parse_url": "",
"cate_exclude": "电影|连续剧|动漫|综艺|电影解说|短剧|伦理片|港台三级|韩国伦理|日本伦理|其他伦理",
"api": "/api.php/provide/vod/at/json/",
"class_name": "H4sIALWjdWYC/zVRWXbCMAy8jc/JUiAJjyWvNC3Lg1KWAE1fQlkKCQ6XsS3nFrVl+yszkmc0UmB04fRIID9w+gZ+h8jnHIof7sdEJDGUfY2q7VjcUo14sGN0pt+BdxTNFqI45PdCI1EfilqkkXpru8L7YLmPtWimyoiCHYxQAUEK9IC1KWV5jNMWe0XsNPH4JlA8pJ8Tvo6rcdsSnWeQOfK+USJHMLbTDDJxL9HL+BtHJRCzxBGzpyWXP76OHDllNokS6A/gtWS8kumZ8E3H7g31spqUuG0jgSjEfVpXVuAtGH2VjV95mbK86/y11wKvzB5bGLZRiyuxmw+5O4Jp2riW8N6yqk1sQjPFdQY9SRPwzO02p+orFPWu+lGqs5arFivGrPwk/H5mxQr2T3kNiHwJxXluYhPoZ6pTNSm/Nf4BxMaYBRkCAAA=",
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&44&46&48&49&50&51&52&53&54&55&56&57&58&59"
},
{
"name": "卧龙资源",
"url": "https://collect.wolongzy.cc",
@@ -130,14 +113,6 @@
"class_name": "H4sIAFZXhmYC/1WR0VLCQAxF/6bfqXQsbB9omYEq2JEHKqtQ2iIC0nbxZ5pk+Qt303VG307uZnJvsjQ9gtqTGHr6+4WaHQjpUdNqUVsNwjdst446lTIlqWmyRKM9+g9McgKXxhLex3iXcJ+Q7hVHT10tWHtWXS2tx209x6+SafluZEuYS7qOLUFU4eXK2uMrpjnT8QxZYkkXFagZ+y53LhxNmz8GHPt3niv6Qa4w1lHV7+kCuAIyeZsHrsBD9S+ak4lvpuVKl58e+iEOFuxdnKDu80SZXvHqMA4g+uAjDHJKJhw6LEltmMqCYt/r2jXFAf/B6WAFs5Yx/QEG4wmPmwEAAA==",
"class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&22&23&24&25&26&27&30&31&32&33&37&38&39&42&43&44&45&46&48&49&51&54"
},
{
"name": "U酷资源",
"url": "https://api.ukuapi.com",
"parse_url": "",
"cate_exclude": "电影|电视剧|综艺|动漫|记录片|伦理片|资讯",
"class_name": "H4sIAFZXhmYC/zWP3Q6CMAyF32bPqVHRcYGSIJBoQmKC8xcwhESB8TRbO95COufV+dqenLYYNVq+GEaNEZ7mgmHXG94y7V+gv5MoeUS+Zjo+TmMi3LxgsbIkQv3piGC+g1lsfVy4KWxS1XLbO0jVCkqHdwlDbSnJrTwEDgHRbyP+7tHbCj4Dtcfsan11RWKKSss9Zar+jDuPyDRLU5QM4mpMOleMp6UOfVdMgdNzf1saQJq5ArOnXZ2v3R/olyhvE30Bu+ncCxgBAAA=",
"class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&30&31&32&33&34"
},
{
"name": "天空资源",
"url": "https://m3u8.tiankongapi.com",
+1 -1
View File
@@ -12,6 +12,6 @@
"播放列表": "<li&&</li>",
"播放标题": "html\">&&</a>",
"播放链接": "href=\"&&\"",
"分类url": "https://www.gyf.lol/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/year/{year}.html",
"分类url": "https://www.gyf.lol/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/page/{catePg}/year/{year}.html",
"分类": "电影$1#剧集$2#综艺$3#动漫$4#短剧$21#少儿$22"
}
+68 -79
View File
@@ -142,6 +142,24 @@
},
"timeout": 10
},
{
"key": "哔哩合集",
"name": "哔哩合集|弹幕",
"type": 3,
"api": "csp_Bili",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"style": {
"type": "rect",
"ratio": 1.597
},
"ext": {
"cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt",
"json": "./JSON/哔哩合集.json"
},
"timeout": 10
},
{
"key": "立播弹幕",
"name": "立播|弹幕",
@@ -323,8 +341,8 @@
}
},
{
"key": "夸克肥猫弹幕",
"name": "肥猫|4K弹幕",
"key": "夸克闪电弹幕",
"name": "闪电|4K弹幕",
"type": 3,
"api": "csp_Wobg",
"searchable": 1,
@@ -335,7 +353,7 @@
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://feimaouc.cloud:666",
"site": "http://1.95.79.193",
"danmu": true
}
},
@@ -502,6 +520,38 @@
"danmu": true
}
},
{
"key": "夸克虎斑弹幕",
"name": "虎斑|4K弹幕",
"type": 3,
"api": "csp_Wobg",
"quickSearch": 1,
"changeable": 1,
"filterable": 1,
"ext": {
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "https://wp.huban.xyz",
"danmu": true
}
},
{
"key": "夸克下饭弹幕",
"name": "下饭|4K弹幕",
"type": 3,
"api": "csp_Wobg",
"quickSearch": 1,
"changeable": 1,
"filterable": 1,
"ext": {
"token": "http://127.0.0.1:9978/file/TVBox/token.txt",
"cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt",
"uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt",
"site": "http://txfyyds.top",
"danmu": true
}
},
{
"key": "115",
"name": "115|4K",
@@ -560,15 +610,6 @@
"quickSearch": 0,
"filterable": 0
},
{
"key": "河马短剧",
"name": "河马|短剧",
"type": 3,
"api": "csp_AppHMDJ",
"searchable": 1,
"quickSearch": 0,
"filterable": 0
},
{
"key": "吉吉短剧",
"name": "吉吉|短剧",
@@ -747,26 +788,6 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "兄弟影视",
"name": "兄弟|APP",
"type": 3,
"api": "csp_AppGetApp",
"searchable": 1,
"quickSearch": 1,
"filterable": 1,
"ext": "KhYl01Kekjo9vLs09V+rOtv/6QaOFwdQp2ne4h22GLkT99eCXh9SJ/lGZNM8zgk1OnFWx0zBQ9Y/9mAjQB67LaEp7Yj7w9SYBEjFbdPjKy3EHp7uBIHXVI7/dZ4r/dJapz6ihlWwqY2KlGuarL/+9suxO4ZJFOg1OxN+dTrTbi2Muff1CmBkNfrY+sENTEbHAsgpQRtycD7pjvPePZ1AgNT8ZuBCcf4lIM858OSMK4u76tpjIfqzVA=="
},
{
"key": "米米影视",
"name": "米米|APP",
"type": 3,
"api": "csp_AppZX",
"searchable": 1,
"quickSearch": 0,
"filterable": 0,
"ext": "KhY021WelCEl+6MsvwnzaLK5sg6yEQRc8CLY+R2wReBS99eCRx9APeYSJ5VWzBI5XnVfjFiTSsduqSYOWQC3AqI3+tLwmZ/aT2z/PZuRbHjEUNX8RMiGfg8bkgTbOVjmN6hVB1V3ZE4DTbUbATLmIUci/wOblS2T54u1dxfP2owIfTg1nKSiYD1ndF3VotBmw5u8hM7jpJZ3Ugcaqy/mTj7oMr8="
},
{
"key": "忍者影视",
"name": "忍者|APP",
@@ -776,13 +797,6 @@
"quickSearch": 1,
"filterable": 1
},
{
"key": "大米星球",
"name": "大米|APP",
"type": 3,
"api": "./JS/drpy2.min.js",
"ext": "./JS/APPV2.js?type=url&params=https://damifan.wiki"
},
{
"key": "西瓜视频",
"name": "西瓜|视频",
@@ -2218,57 +2232,32 @@
"lives": [
{
"name": "直播",
"type": 3,
"api": "csp_Feiyang",
"url": "tv.m3u",
"timeout": 10,
"ua": "okhttp/3.15"
},
{
"name": "电视Live",
"type": 0,
"url": "http://127.0.0.1:9978/proxy?do=live&u=Gather",
"playerType": 2,
"timeout": 10
},
{
"name": "网络Live",
"type": 0,
"url": "http://127.0.0.1:9978/proxy?do=live&url=https://tv.iill.top/m3u/Live",
"playerType": 2,
"timeout": 10
},
{
"name": "范明明",
"type": 0,
"url": "https://live.fanmingming.cn/tv/m3u/ipv6.m3u",
"playerType": 2,
"timeout": 10
},
{
"name": "肥羊国内直播",
"type": 3,
"api": "csp_Feiyang",
"url": "tv.m3u",
"timeout": 10,
"ua": "okhttp/3.15"
},
{
"name": "肥羊虎牙一起看",
"type": 3,
"api": "csp_Feiyang",
"url": "huyayqk.m3u",
"timeout": 10,
"ua": "okhttp/3.15"
},
{
"name": "肥羊B站直播",
"type": 3,
"api": "csp_Feiyang",
"url": "bililive.m3u",
"timeout": 10,
"ua": "okhttp/3.15"
},
{
"name": "肥羊斗鱼一起看",
"type": 3,
"api": "csp_Feiyang",
"url": "douyuyqk.m3u",
"timeout": 10,
"ua": "okhttp/3.15"
},
{
"name": "肥羊YY轮播",
"type": 3,
"api": "csp_Feiyang",
"url": "yylunbo.m3u",
"timeout": 10,
"ua": "okhttp/3.15"
}
],
"flags": [
BIN
View File
Binary file not shown.