mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2026-11-02 01:33:44 +00:00
0103
fix
This commit is contained in:
1 parent
7f98730b28
commit
359b5008bf
61 files changed
+32792
-19206
No files matched your search
+102
-58
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Vendored
+60
-9
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1277
File diff suppressed because it is too large.
Load diff
+3
-3
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user