Skip to content

Commit 5cec229

Browse files
committed
update: 增强解析功能,增加玩偶哥哥弹幕示例
1 parent 7da14e0 commit 5cec229

File tree

10 files changed

+428
-8
lines changed

10 files changed

+428
-8
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,4 @@ dist
141141
/custom.json
142142
/index.json
143143
/vod_cache/
144+
/jx/芒果关姐.js

config/parses.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@ W1,https://jx.xymp4.cc/?url=
2424
# W9,https://jx.yangtu.top?url=
2525
# W10,https://jx.m3u8.tv/jiexi/?url=
2626
W11,https://www.ckplayer.vip/jiexi/?url=
27+
腾讯关姐,{{hostName}}:5759/tencent.php/?url=,1
28+
295关姐,{{hostName}}:5759/295yun.php?url=,1

controllers/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ async function generateSiteJSON(options, requestHost, sub, pwd) {
263263
async function generateParseJSON(jxDir, requestHost) {
264264
const files = readdirSync(jxDir);
265265
const jx_files = files.filter((file) => file.endsWith('.js') && !file.startsWith('_')) // 筛选出不是 "_" 开头的 .js 文件
266-
const jx_dict = getParsesDict();
266+
const jx_dict = getParsesDict(requestHost);
267267
let parses = [];
268268
const tasks = jx_files.map((file) => {
269269
return {

docs/updateRecord.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# drpyS更新记录
22

3+
### 20250206
4+
5+
更新至V1.1.17
6+
7+
1. parses.conf增强,支持{{host}} 与 {{hostName}} 变量,可以配置同机器服务下的其他端口php解析
8+
2. 设置中心新增解析 视频解析设置栏目,暂时可以设置 `芒果关解` 视频分辨率
9+
310
### 20250123
411

512
更新至V1.1.16

js/玩偶哥哥DM[盘].js

Lines changed: 397 additions & 0 deletions
Large diffs are not rendered by default.

js/设置中心.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ var rule = {
183183
aliScanCheck: null,
184184
biliScanCheck: null,
185185
host: 'http://empty',
186-
class_name: '推送&夸克&UC&阿里&天翼&哔哩&系统配置&测试&接口挂载',
187-
class_url: 'push&quark&uc&ali&cloud&bili&system&test&apiLink',
186+
class_name: '推送&夸克&UC&阿里&天翼&哔哩&系统配置&测试&接口挂载&视频解析',
187+
class_url: 'push&quark&uc&ali&cloud&bili&system&test&apiLink&videoParse',
188188
url: '/fyclass',
189189

190190
预处理: async function (env) {
@@ -356,6 +356,10 @@ var rule = {
356356
d.push(genMultiInput('enable_link_jar', '设置允许挂载Jar', '设置为1可以启用。默认即关闭。设置其他值禁用', images.settings));
357357
d.push(getInput('get_enable_link_jar', '查看允许挂载Jar', images.settings));
358358

359+
break;
360+
case 'videoParse':
361+
d.push(genMultiInput('mg_hz', '设置芒果解析画质', '默认为4,可自行配置成其他值 (视频质量,9=4K, 4=1080p, 3=720p, 2=560p)', images.settings));
362+
d.push(getInput('get_mg_hz', '查看芒果解析画质', images.settings));
359363
break;
360364
}
361365
return d
@@ -1002,6 +1006,7 @@ var rule = {
10021006
'enable_link_data',
10031007
'enable_link_push',
10041008
'enable_link_jar',
1009+
'mg_hz',
10051010
];
10061011
let get_cookie_sets = [
10071012
'get_quark_cookie',
@@ -1027,6 +1032,7 @@ var rule = {
10271032
'get_enable_link_data',
10281033
'get_enable_link_push',
10291034
'get_enable_link_jar',
1035+
'get_mg_hz',
10301036
];
10311037
if (cookie_sets.includes(action) && value) {
10321038
try {

libs/drpyS.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1329,7 +1329,9 @@ export async function jx(filePath, env, params) {
13291329
try {
13301330
const jxObj = await initJx(filePath, env); // 确保模块已初始化
13311331
const lazy = await jxObj.lazy;
1332-
return await lazy(params.url || '', params)
1332+
const result = await lazy(params.url || '', params);
1333+
// log(`[jx]: ${JSON.stringify(result)}`);
1334+
return result;
13331335
} catch (e) {
13341336
return {code: 404, url: '', msg: `${filePath} 代理解析错误:${e.message}`, cost: ''}
13351337
}

package.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import url from 'url';
77
const EXCLUDE_DIRS = ['.git', '.idea', 'soft', 'pyTools', 'drop_code', 'jstest', 'local', 'logs', '对话1.txt', 'vod_cache'];
88

99
// 要排除的文件列表
10-
const EXCLUDE_FILES = ['config/env.json', '.env', 'js/UC分享.js', 'js/百忙无果[官].js', 'json/UC分享.json', 'jx/奇奇.js', 'data/settings/link_data.json', 'index.json', 'custom.json'];
10+
const EXCLUDE_FILES = ['config/env.json', '.env', 'js/UC分享.js', 'js/百忙无果[官].js', 'json/UC分享.json', 'jx/奇奇.js', 'jx/芒果关姐.js', 'data/settings/link_data.json', 'index.json', 'custom.json'];
1111

1212
// 获取脚本所在目录
1313
const getScriptDir = () => dirname(resolve(url.fileURLToPath(import.meta.url)));

package.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
EXCLUDE_DIRS = ['.git', '.idea', 'soft', 'pyTools', 'drop_code', 'jstest', 'local', 'logs', '对话1.txt','vod_cache']
88

99
# 要排除的文件列表
10-
EXCLUDE_FILES = ['config/env.json', '.env','js/UC分享.js','js/百忙无果[官].js','json/UC分享.json','jx/奇奇.js','data/settings/link_data.json','index.json','custom.json']
10+
EXCLUDE_FILES = ['config/env.json', '.env','js/UC分享.js','js/百忙无果[官].js','json/UC分享.json','jx/奇奇.js','jx/芒果关姐.js','data/settings/link_data.json','index.json','custom.json']
1111

1212
def get_script_dir():
1313
"""

utils/file.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
import path from "path";
22
import {readFileSync, existsSync} from 'fs';
33
import {fileURLToPath} from "url";
4+
import '../libs_drpy/jinja.js'
45

5-
export function getParsesDict() {
6+
export function getParsesDict(host) {
67
const __filename = fileURLToPath(import.meta.url);
78
const __dirname = path.dirname(__filename);
89
const jx_conf = path.join(__dirname, '../config/parses.conf');
910
let jx_list = [];
1011
if (existsSync(jx_conf)) {
1112
const jx_conf_text = readFileSync(jx_conf, 'utf-8');
12-
const jxs = jx_conf_text.trim().split('\n').filter(it => it.trim() && !it.trim().startsWith('#')).map(it => it.trim());
13+
let jx_conf_content = jx_conf_text.trim();
14+
let var_dict = {host, hostName: host.split(':').length > 1 ? host.slice(0, host.lastIndexOf(":")) : host};
15+
// console.log(var_dict);
16+
jx_conf_content = jinja.render(jx_conf_content, var_dict);
17+
const jxs = jx_conf_content.split('\n').filter(it => it.trim() && !it.trim().startsWith('#')).map(it => it.trim());
1318
// console.log(jxs);
1419
jxs.forEach((jx) => {
1520
let jx_arr = jx.split(',');

0 commit comments

Comments
 (0)