Skip to content

Commit 4dc8189

Browse files
author
Taois
committed
feat: 增加调试模式,方便写猫源
1 parent d2d76b0 commit 4dc8189

File tree

7 files changed

+58
-4
lines changed

7 files changed

+58
-4
lines changed

.env.development

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ tx_news_guonei_api_key=
2929

3030
# QQ邮箱配置
3131
QQ_EMAIL =
32-
QQ_SMTP_AUTH_CODE =
32+
QQ_SMTP_AUTH_CODE =
33+
CAT_DEBUG=0

README.md

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

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

88
* [接口文档](docs/apidoc.md) | [接口列表如定时任务](docs/apiList.md) | [小猫影视-待对接T4](https://github.com/waifu-project/movie/pull/135)
99
* [本地配置接口-动态本地](/config?pwd=$pwd)
1010
* [本地配置接口-动态外网/局域网](/config/1?pwd=$pwd)
1111
* [其他配置接口-订阅过滤](/docs/sub.md)
12+
* [猫源调试教程](/docs/catDebug.md)
1213
* [代码加解密工具](/admin/encoder)
1314
* [V我50支付凭证生成器](/authcoder?len=10&number=1)
1415
* [接口压测教程](/docs/httpTest.md)
@@ -23,6 +24,10 @@ nodejs作为服务端的drpy实现。全面升级异步写法
2324

2425
## 更新记录
2526

27+
### 20250814
28+
29+
更新至V1.2.11
30+
2631
### 20250813
2732

2833
更新至V1.2.10

docs/catDebug.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# 猫源调试教程
2+
3+
道长只有windows环境,这里以windows为例
4+
5+
1. 环境变量 .env 里 确保 `CAT_DEBUG=1`
6+
2. 启动时通过 `dev-win-debug` 脚本启动 或者 `yarn dev-win-debug`
7+
3. 谷歌浏览器 输入 `chrome://inspect`,在里面找到本地项目对应的端口
8+
4. 在浏览器上找到类似 这种字符串:
9+
10+
```
11+
Remote Target #LOCALHOST
12+
localhost:9229 (v22.14.0) trace
13+
index.js file:///E:/_gitwork_drpy-node_index.js
14+
```
15+
16+
点击下方的 `inspect` 超链接会打开一个控制台窗口,显示 `devTools`
17+
18+
1.`devTools` 控制台可以看到输出,在源代码来源标签页可以看到运行的js文件。
19+
找到对应的源如 `spider/catvod` 里面的猫测试,进去打断点
20+
2. 确保 在 `config/env.json` 里有 `"enable_cat": "2"`,猫源用T4方式运行
21+
3. 浏览器访问 `http://127.0.0.1:5757/api/猫测试?do=cat&pwd=dzyyds` 这样的链接就可以访问触发程序的断点
22+
23+
## 其它说明
24+
25+
1. 环境变量 .env 里 `CAT_DEBUG=0` 也可以调试,同时支持显示 `getProxyUrl` `ENV` 等特殊变量。
26+
只是调试的时候js需要在(无网域)下面找到 `data:text/javascript;base64,` 开头的文件。
27+
28+
2. DS源是特殊字符串读取虚拟机运行方式,无法调试,我已经试过了,各位就不用再试了,调试源只针对catvod目录下的esm源
29+
3. 已测试 `webstorm` 等工具自带的调试模式无法调试动态import的源,也就是对 `catvod` 源无法调试,但是可以调试ds框架主js相关逻辑。
30+
所以写源调试还是要按我提供的教程来操作。

docs/updateRecord.md

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

3+
### 20250814
4+
5+
更新至V1.2.11
6+
7+
1. 定时任务 增加 `QQ邮箱` 的消息推送方式
8+
2. `cat源` 增加调试模式,但是不支持 `getProxyUrl` 等方法,需要在环境变量.env文件里启用 `CAT_DEBUG=1`
9+
详情参考 [猫源调试教程](/docs/catDebug.md)
10+
311
### 20250813
412

513
更新至V1.2.10

libs/catvod.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
1212
const _data_path = path.join(__dirname, '../data');
1313
const _config_path = path.join(__dirname, '../config');
1414
const _lib_path = path.join(__dirname, '../spider/catvod');
15+
const enable_cat_debug = Number(process.env.CAT_DEBUG) || 0;
1516

1617

1718
const json2Object = function (json) {
@@ -82,7 +83,12 @@ const init = async function (filePath, env = {}, refresh) {
8283
}
8384
log(`Loading module: ${filePath}`);
8485
let t1 = getNowTime();
85-
const module = await loadEsmWithEnv(filePath, env);
86+
let module;
87+
if (enable_cat_debug) {
88+
module = await loadEsmWithHash(filePath, fileHash);
89+
} else {
90+
module = await loadEsmWithEnv(filePath, env);
91+
}
8692
// console.log('module:', module);
8793
let rule;
8894
if (module && module.__jsEvalReturn && typeof module.__jsEvalReturn === 'function') {

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"build": "node index.js",
88
"dev": "node index.js",
99
"dev-win": "chcp 65001 && node --trace-deprecation index.js",
10+
"dev-win-debug": "chcp 65001 && node --trace-deprecation --inspect index.js",
1011
"pm2": "pm2 start index.js --name drpys",
1112
"node22": "node --experimental-sqlite index.js",
1213
"node22-win": "chcp 65001 && node --trace-deprecation --experimental-sqlite index.js",

public/index.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
</head>
99
<body>
1010
<h1 id="drpysdrpy-node">drpyS(drpy-node)</h1>
11-
<p>nodejs作为服务端的drpy实现。全面升级异步写法<br><del>积极开发中,每日一更</del>,当前进度 <code>71%</code><br><del>找工作中,随缘更新</del><br>上班当牛马,下班要带娃,阶段性佛系趁娃睡觉熬夜更新</p>
11+
<p>nodejs作为服务端的drpy实现。全面升级异步写法<br><del>积极开发中,每日一更</del>,当前进度 <code>72%</code><br><del>找工作中,随缘更新</del><br>上班当牛马,下班要带娃,阶段性佛系趁娃睡觉熬夜更新</p>
1212
<ul>
1313
<li><a href="docs/apidoc.md">接口文档</a> | <a href="docs/apiList.md">接口列表如定时任务</a> | <a href="https://github.com/waifu-project/movie/pull/135">小猫影视-待对接T4</a></li>
1414
<li><a href="/config?pwd=dzyyds">本地配置接口-动态本地</a></li>
1515
<li><a href="/config/1?pwd=dzyyds">本地配置接口-动态外网/局域网</a></li>
1616
<li><a href="/docs/sub.md">其他配置接口-订阅过滤</a></li>
17+
<li><a href="/docs/catDebug.md">猫源调试教程</a></li>
1718
<li><a href="/admin/encoder">代码加解密工具</a></li>
1819
<li><a href="/authcoder?len=10&amp;number=1">V我50支付凭证生成器</a></li>
1920
<li><a href="/docs/httpTest.md">接口压测教程</a></li>
@@ -27,6 +28,8 @@ <h1 id="drpysdrpy-node">drpyS(drpy-node)</h1>
2728
<li><a href="/cat/index.html">在线猫ds源主页</a></li>
2829
</ul>
2930
<h2 id="更新记录">更新记录</h2>
31+
<h3 id="20250814">20250814</h3>
32+
<p>更新至V1.2.11</p>
3033
<h3 id="20250813">20250813</h3>
3134
<p>更新至V1.2.10</p>
3235
<h3 id="20250812">20250812</h3>

0 commit comments

Comments
 (0)