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 {