Skip to content

Commit f0519ad

Browse files
author
Taois
committed
feat:更新版本,优化了前面的累积问题
1 parent 1cb86fd commit f0519ad

22 files changed

+1517
-61
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,4 @@ dist
155155
/clipboard.txt
156156
/clipboard.txt.bak
157157
/apps/cat/
158+
/data/temp/

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# drpyS(drpy-node)
22

33
nodejs作为服务端的drpy实现。全面升级异步写法
4-
~~积极开发中,每日一更~~,当前进度 `99.9999%`
4+
~~积极开发中,每日一更~~,当前进度 `99.99999%`
55
~~找工作中,随缘更新~~
66
上班当牛马,下班要带娃,阶段性佛系趁娃睡觉熬夜更新
77

@@ -49,6 +49,10 @@ nodejs作为服务端的drpy实现。全面升级异步写法
4949

5050
## 更新记录
5151

52+
### 20250925
53+
54+
更新至V1.3.5
55+
5256
### 20250919
5357

5458
更新至V1.3.4

config/map.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@
1212
UC分享@@?type=url&params=../json/UC分享.json@@UC分享[盘]
1313
16wMV[听]@@?type=url&params=../json/十六万歌曲.txt
1414
点歌欢唱[B]@@?type=url&params=../json/十六万歌曲.txt
15+
网盘[模板]@@?type=url&params=../json/域名配置.json$蜡笔@@蜡笔ᵐ[盘]
16+
网盘[模板]@@?type=url&params=../json/域名配置.json$木偶@@木偶ᵐ[盘]
17+
网盘[模板]@@?type=url&params=../json/域名配置.json$玩偶$1@@玩偶ᵐ[盘]
18+
网盘[模板]@@?type=url&params=../json/域名配置.json$虎斑@@虎斑ᵐ[盘]
19+
网盘[模板]@@?type=url&params=../json/域名配置.json$二小@@二小ᵐ[盘]
20+
网盘[模板]@@?type=url&params=../json/域名配置.json$多多@@多多ᵐ[盘]
21+
网盘[模板]@@?type=url&params=../json/域名配置.json$欧歌@@欧歌ᵐ[盘]
22+
网盘[模板]@@?type=url&params=../json/域名配置.json$至臻@@至臻ᵐ[盘]
1523
AppFox@@http://app.hktvyb.cc@@TVB云播[AFX]
1624
AppFox@@{"host":"https://cunchu8.obs.cn-north-4.myhuaweicloud.com/config.json","parse":{"JL4K":"http://194.147.100.155:7891/?url="}}@@火猫影视[AFX]
1725
AppFox@@{"host":"http://kumiao.yzbao.com.cn","parse":{"qq|qiyi|mgtv|youku|bilibili":"https://api.qljson.xyz/api/?key=67f6a108dc6d84eaf81ac58417c1f72a&url="}}@@未来影视[AFX]

controllers/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ async function generateSiteJSON(options, requestHost, sub, pwd) {
158158
// console.log(SitesMap);
159159
// console.log(mubanKeys);
160160
// 排除模板后缀的DS源
161-
valid_files = valid_files.filter(it => !/\[]\.js$/.test(it));
161+
valid_files = valid_files.filter(it => !/^APP.*\[]\.js$/i.test(it));
162162
log(`开始生成ds的t4配置,jsDir:${jsDir},源数量: ${valid_files.length}`);
163163
const tasks = valid_files.map((file) => {
164164
return {

docs/updateRecord.md

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

3+
### 20250925
4+
5+
更新至V1.3.5
6+
7+
1. 修复 `DS_REQ_LIB=0` 时 req系列请求不能正确处理禁止重定向和超时问题
8+
2. 修复 `cut` 逻辑错误导致的`番茄小说`二级无数据,增强字符串的`parseX`改用`JSON5`
9+
3. 新增 `网盘` 模板源及map示例
10+
4. 新收录了几个源
11+
5. 增加 `hikerSkipEr` 属性,允许海阔跳过T4源的形式二级
12+
313
### 20250919
414

515
更新至V1.3.4

json/域名配置.json

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{
2+
"玩偶": [
3+
"https://wogg.xxooo.cf",
4+
"https://wogg.333232.xyz",
5+
"https://woggpan.333232.xyz",
6+
"https://wogg.heshiheng.top",
7+
"https://www.wogg.one",
8+
"https://www.wogg.lol"
9+
],
10+
"至臻": [
11+
"https://xiaomiai.site",
12+
"http://mihdr.top",
13+
"http://www.miqk.cc"
14+
],
15+
"蜡笔": [
16+
"http://xiaocge.fun",
17+
"https://feimao666.fun",
18+
"http://feimao888.fun",
19+
"http://feimaoai.site",
20+
"http://www.labi88.sbs",
21+
"http://fmao.site",
22+
"https://fmao.shop"
23+
],
24+
"木偶": [
25+
"http://123.666291.xyz",
26+
"https://mogg.5568.eu.org",
27+
"https://mo.666291.xyz",
28+
"http://666.666291.xyz",
29+
"https://mo.muouso.fun"
30+
],
31+
"小米": [
32+
"https://www.54271.fun",
33+
"https://54271.fun",
34+
"https://www.mucpan.cc",
35+
"https://mucpan.cc"
36+
],
37+
"百家": [
38+
"https://bj.jiexi.news",
39+
"http://baijia.filegear-sg.me",
40+
"http://cj.jiexi.news",
41+
"http://baijia.885525.xyz"
42+
],
43+
"二小": [
44+
"https://wexwp.cc",
45+
"https://erxiaofn.click",
46+
"http://2xiaopan.fun",
47+
"http://xhww.net",
48+
"http://www.xhww.net",
49+
"http://www.2xiaopan.fun"
50+
],
51+
"多多": [
52+
"https://tv.yydsys.top",
53+
"https://tv.yydsys.cc"
54+
],
55+
"虎斑": [
56+
"http://103.45.162.207:20720",
57+
"http://xsayang.fun:12512"
58+
],
59+
"欧歌": [
60+
"https://woog.xn--dkw.xn--6qq986b3xl",
61+
"https://woog.nxog.eu.org"
62+
],
63+
"下饭": [
64+
"http://154.204.177.231"
65+
],
66+
"闪电": [
67+
"http://1.95.79.193"
68+
],
69+
"雷鲸": [
70+
"https://leijing.xyz",
71+
"https://leijing1.com"
72+
],
73+
"盘它": [
74+
"https://www.91panta.cn"
75+
]
76+
}

libs/drpyS.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ async function invokeMethod(filePath, env, method, args = [], injectVars = {}) {
697697
result = await searchParseAfter(moduleObject, result, args[2]);
698698
log(`[invokeMethod js:] 搜索 ${injectVars.input} 执行完毕,结果为:`, JSON.stringify(result.list.slice(0, 2)));
699699
} else if (method === 'class_parse') {
700-
result = await homeParseAfter(result, moduleObject.类型, moduleObject.hikerListCol, moduleObject.hikerClassListCol, injectVars);
700+
result = await homeParseAfter(result, moduleObject.类型, moduleObject.hikerListCol, moduleObject.hikerClassListCol, moduleObject.hikerSkipEr, injectVars);
701701
}
702702
return result;
703703
}
@@ -787,6 +787,10 @@ async function initParse(rule, env, vm, context) {
787787
if (!rule.hasOwnProperty('sniffer')) { // 默认关闭辅助嗅探
788788
rule.sniffer = false;
789789
}
790+
// 二级为*自动添加hikerSkipEr属性允许跳过形式二级
791+
if (!rule.hasOwnProperty('hikerSkipEr') && rule.二级 === '*') {
792+
rule.hikerSkipEr = 1;
793+
}
790794
rule.sniffer = rule.hasOwnProperty('sniffer') ? rule.sniffer : '';
791795
rule.sniffer = !!(rule.sniffer && rule.sniffer !== '0' && rule.sniffer !== 'false');
792796
rule.isVideo = rule.hasOwnProperty('isVideo') ? rule.isVideo : '';

libs/drpysParser.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ export async function homeParse(rule) {
424424
return context;
425425
}
426426

427-
export async function homeParseAfter(d, _type, hikerListCol, hikerClassListCol, injectVars) {
427+
export async function homeParseAfter(d, _type, hikerListCol, hikerClassListCol, hikerSkipEr, injectVars) {
428428
if (!d) {
429429
d = {};
430430
}
@@ -435,6 +435,10 @@ export async function homeParseAfter(d, _type, hikerListCol, hikerClassListCol,
435435
if (hikerClassListCol) {
436436
d.hikerClassListCol = hikerClassListCol;
437437
}
438+
// 跳过形式二级
439+
if (hikerSkipEr) {
440+
d.hikerSkipEr = hikerSkipEr;
441+
}
438442
const {
439443
classes,
440444
filters,
@@ -1485,7 +1489,7 @@ export async function invokeWithInjectVars(rule, method, injectVars, args) {
14851489
}
14861490
break;
14871491
case 'class_parse':
1488-
result = await homeParseAfter(result, rule.类型, rule.hikerListCol, rule.hikerClassListCol, injectVars);
1492+
result = await homeParseAfter(result, rule.类型, rule.hikerListCol, rule.hikerClassListCol, rule.hikerSkipEr, injectVars);
14891493
break;
14901494
case '一级':
14911495
result = await cateParseAfter(rule, result, args[1]);

libs/dsGlobal.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/**
22
* 全局模块注册器
3-
*
3+
*
44
* 将drpy-node项目中的核心模块和工具库注册到全局对象(globalThis)上,
55
* 使得这些模块可以在整个应用程序中直接访问,无需重复导入。
6-
*
6+
*
77
* 主要功能:
88
* - 注册网络请求工具(reqs)
99
* - 注册加密工具(forge)
@@ -12,12 +12,12 @@
1212
* - 注册各大网盘服务接口(夸克、UC、阿里、百度等)
1313
* - 注册压缩工具和网络通信组件
1414
* - 注册结果处理函数
15-
*
15+
*
1616
* 使用场景:
1717
* - 在drpy源解析器中直接使用全局工具
1818
* - 在插件开发中访问核心功能
1919
* - 在脚本执行环境中提供统一的API接口
20-
*
20+
*
2121
* @module dsGlobal
2222
* @author drpy-node
2323
* @since 1.0.0
@@ -87,4 +87,13 @@ globalThis.WebSocket = WebSocket;
8787
globalThis.WebSocketServer = WebSocketServer;
8888

8989
// 结果设置函数 - 用于设置和处理执行结果
90-
globalThis.setResult = setResult;
90+
globalThis.setResult = setResult;
91+
92+
// ds沙箱文件读写函数
93+
globalThis.pathLib = pathLib;
94+
95+
// UA
96+
globalThis.MOBILE_UA = MOBILE_UA;
97+
globalThis.PC_UA = PC_UA;
98+
// 其他常用
99+
globalThis.$js = $js;

libs_drpy/drpyCustom.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ export const objectToQueryString = (obj) => {
681681

682682
/**
683683
* 获取加密前的原始的js源文本
684-
* @param js_code
684+
* @param {string} js_code
685685
*/
686686
export async function getOriginalJs(js_code) {
687687
// let current_match = /var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;
@@ -825,8 +825,8 @@ export const jsDecoder = {
825825

826826
/**
827827
* vodDeal函数 - 处理播放源排序和重命名
828-
* @param vod
829-
* @param rule
828+
* @param {Object} vod
829+
* @param {Object} rule
830830
* @returns {*}
831831
*/
832832
export function vodDeal(vod, rule) {

0 commit comments

Comments
 (0)