yukaidi
|
5a08ed68c2
|
fix: IzTool 并发安全 - token/authFlag 改为 volatile,header 副本替代共享修改
|
2026-05-29 02:47:27 +08:00 |
|
yukaidi
|
4586138bf1
|
fix: 修复 AESUtils.getRandomString 使用不安全的 Random,改为 SecureRandom
|
2026-05-29 02:40:32 +08:00 |
|
yukaidi
|
9bcdcb2cb7
|
fix: 修复 MkwTool 中 set-cookie 为 null 时的 NPE
|
2026-05-29 02:37:22 +08:00 |
|
yukaidi
|
0b8592559a
|
fix: 修复 CommonUtils.getURLParams() 中 fullUrl.getQuery() 返回 null 时的 NPE
|
2026-05-29 02:36:47 +08:00 |
|
yukaidi
|
c0b18be5ab
|
fix: 修复 ShareLinkInfo.getCacheKey() 中 otherParam.get("UA") 可能导致的 NPE
|
2026-05-29 02:36:20 +08:00 |
|
yukaidi
|
838c86ae15
|
修复JsParserExecutor DCL模式缺少volatile:EXECUTOR字段添加volatile保证多线程可见性
|
2026-05-29 02:23:17 +08:00 |
|
yukaidi
|
ba981d281f
|
修复Token日志泄露:日志中token仅打印前8个字符,其余用...替代
|
2026-05-29 02:21:12 +08:00 |
|
yukaidi
|
ae3ff9ecbb
|
fix(parser): JsPlaygroundLogger 日志列表限制最大 1000 条防止内存泄漏
日志列表 Collections.synchronizedList 无容量限制,长时间运行会无界增长。
新增 addLog() 方法,在添加前检查容量,超过 1000 条时移除最早的条目。
|
2026-05-29 02:09:59 +08:00 |
|
yukaidi
|
bcc4315ea9
|
fix(parser): JsScriptLoader JarFile 改用 try-with-resources 防止文件句柄泄漏
JarFile 在手动 close() 时若中间抛异常会导致文件句柄未关闭,
改为 try-with-resources 确保无论正常或异常都能释放资源。
|
2026-05-29 02:08:50 +08:00 |
|
yukaidi
|
189d1477a8
|
fix: 将 fetch-runtime.js 复制到 test resources,修复测试类加载不到资源文件
CI 运行测试时 JsParserExecutor.loadFetchRuntime() 通过 ClassLoader.getResourceAsStream
找不到 fetch-runtime.js。将文件复制到 parser/src/test/resources/ 确保测试类路径可用。
|
2026-05-29 01:25:32 +08:00 |
|
yukaidi
|
efb135ee48
|
Revert "fix(error): URLUtil 异常不再吞没,改为抛出 IllegalArgumentException"
This reverts commit 0dfee8ab22.
|
2026-05-29 00:37:18 +08:00 |
|
yukaidi
|
33cef5f8e1
|
Revert "fix(resource): ReqIpUtil 使用统一 Vertx 单例"
This reverts commit 1fca578c07.
|
2026-05-29 00:36:55 +08:00 |
|
yukaidi
|
32d467b6d9
|
Revert "fix(security): SecurityClassFilter 改为白名单策略"
This reverts commit a83665ac44.
|
2026-05-29 00:35:10 +08:00 |
|
yukaidi
|
0dfee8ab22
|
fix(error): URLUtil 异常不再吞没,改为抛出 IllegalArgumentException
原代码 catch Exception 后仅打印堆栈,调用方无法感知解析失败。
改为抛出 IllegalArgumentException,让调用方明确知道 URL 解析失败。
|
2026-05-29 00:33:10 +08:00 |
|
yukaidi
|
8dfcf510f6
|
fix(resource): JsParserExecutor WorkerExecutor 懒加载 + 关闭支持
原代码静态初始化 WorkerExecutor,应用关闭时无法释放线程资源。
改为:
- 懒加载创建 WorkerExecutor
- 实现 AutoCloseable 接口
- 添加 shutdownExecutor() 静态方法供应用关闭时调用
|
2026-05-29 00:32:13 +08:00 |
|
yukaidi
|
1fca578c07
|
fix(resource): ReqIpUtil 使用统一 Vertx 单例
原代码在字段级别直接创建 Vertx.vertx() 实例,
可能导致多个 Vertx 实例重复创建,浪费系统资源。
改为使用 WebClientVertxInit.get() 获取统一单例。
|
2026-05-29 00:31:49 +08:00 |
|
yukaidi
|
a83665ac44
|
fix(security): SecurityClassFilter 改为白名单策略
原黑名单策略默认放行所有类,存在安全风险。
改为白名单策略,仅允许明确安全的 Java 类被 JS 访问。
允许: java.util.*, java.time.*, java.lang 基础类型, Nashorn API
拒绝: 默认拒绝所有未在白名单中的类
|
2026-05-29 00:31:38 +08:00 |
|
yukaidi
|
21e8a370c3
|
fix: ShutdownHook 改为同步等待 vertx.close(),修复 JVM 提前退出导致资源未释放
审查发现 vertx.close() 是异步操作,ShutdownHook 线程提交关闭任务后立即退出,
JVM 在资源实际释放前就终止了,与未修复时行为等价。
改为 CompletableFuture.get(10s) 阻塞等待,超时有 warn 日志。
同时移除无用的 mainVertx 字段,修正 JsExecUtils 误导性注释。
|
2026-05-28 23:58:52 +08:00 |
|
yukaidi
|
255e7b2fb5
|
fix: JsParserExecutor 和 JsHttpClient 添加资源清理,修复解析完成后资源泄漏
- JsHttpClient 添加 close() 方法释放 WebClient 连接池
- JsParserExecutor 添加 close() 方法,清除 ScriptEngine 中注入的 Java 对象引用
- parse()/parseFileList()/parseById() 均在 onComplete 回调中调用 close() 释放资源
|
2026-05-28 23:13:09 +08:00 |
|
yukaidi
|
7419e536cf
|
fix: JsExecUtils 缓存 ScriptEngineManager,避免每次调用都创建新实例
ScriptEngineManager 是重量级对象(含类加载器扫描等),将其缓存为 static 字段,
executeDynamicJs/executeOtherJs 每次调用只创建轻量的 ScriptEngine 实例。
|
2026-05-28 23:08:50 +08:00 |
|
yukaidi
|
74df000287
|
fix: PanBase WebClient 改为静态共享单例,修复每请求创建4个实例的资源泄漏
WebClient 是线程安全的,将 client/clientNoRedirects/clientDisableUA 改为 static 共享实例,
避免每次解析请求创建4个独立 WebClient(各含连接池)。
clientSession 仍保持实例级(管理 cookie,非线程安全)。
代理模式下仍创建独立 WebClient 实例。
|
2026-05-28 23:06:45 +08:00 |
|
qaiu
|
2b9168e8df
|
更新 LzTool.java
fix:蓝奏目录识别问题
|
2026-05-28 12:33:16 +08:00 |
|
q
|
ce0fbf65aa
|
fixed test docx
|
2026-04-28 15:57:50 +08:00 |
|
q
|
aaae301cbc
|
release v3.0.0: core refactoring, new AppRun/PostExecVerticle, proxy and router improvements
|
2026-04-22 15:57:35 +08:00 |
|
q
|
110a9beda4
|
fix parser onedrive url decoding and bump vulnerable deps
|
2026-04-22 02:03:04 +08:00 |
|
q
|
b967c7a1bb
|
Merge pull request #177 from qaiu/pr-177
# Conflicts:
# parser/src/main/java/cn/qaiu/parser/PanDomainTemplate.java
# parser/src/test/java/cn/qaiu/parser/PanDomainTemplateTest.java
|
2026-04-19 08:51:44 +08:00 |
|
q
|
c64855d4ad
|
feat: improve downloader integration for parsed files
|
2026-04-19 08:43:27 +08:00 |
|
copilot-swe-agent[bot]
|
e79478c421
|
refactor: address code review - extract constants, improve logging
- Extract Pattern constants as static final fields
- Extract PAGE_SIZE constant for API pagination
- Add logging for NumberFormatException in file size parsing
Agent-Logs-Url: https://github.com/qaiu/netdisk-fast-download/sessions/56418d09-a396-40cf-a080-c71e4a69c323
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-04-18 08:46:06 +00:00 |
|
copilot-swe-agent[bot]
|
c401a84eb8
|
feat: add Feishu cloud disk share parser (file + folder support)
Add FsTool parser for Feishu (飞书) cloud disk share links.
Supports both file and folder share URL formats:
- File: https://xxx.feishu.cn/file/{token}
- Folder: https://xxx.feishu.cn/drive/folder/{token}
The parser:
- Fetches anonymous session cookies from share page
- Uses Range probe to detect filename and size
- Returns download URL with required headers (Cookie, Referer)
- Supports folder listing via v3 API with pagination
- Updates README with Feishu in supported cloud disk list
Agent-Logs-Url: https://github.com/qaiu/netdisk-fast-download/sessions/56418d09-a396-40cf-a080-c71e4a69c323
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-04-18 08:43:26 +00:00 |
|
copilot-swe-agent[bot]
|
a45a64380c
|
优化乐云(LE)正则以支持 /mshare/ 格式,补充测试用例
Agent-Logs-Url: https://github.com/qaiu/netdisk-fast-download/sessions/7341ab49-5648-498c-b153-0fcd3b3f8aad
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-04-12 11:40:55 +00:00 |
|
copilot-swe-agent[bot]
|
49ec54a3b5
|
refactor(tests): 改善测试注释说明,增强可读性
Agent-Logs-Url: https://github.com/qaiu/netdisk-fast-download/sessions/5523822b-ffe2-4e95-ac13-fd3f0dc41970
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-04-12 11:19:51 +00:00 |
|
copilot-swe-agent[bot]
|
d815cc1010
|
fix(PanDomainTemplate): 优化现有网盘域名模板正则表达式
Agent-Logs-Url: https://github.com/qaiu/netdisk-fast-download/sessions/5523822b-ffe2-4e95-ac13-fd3f0dc41970
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-04-12 11:17:06 +00:00 |
|
qaiu
|
d4940ca9ee
|
fixed: 123-YePan: Fix regex pattern for share key extraction
|
2026-04-07 08:20:06 +08:00 |
|
copilot-swe-agent[bot]
|
0b49c55cf3
|
feat: recognize new Fangcloud /share/ URL format in addition to /sharing/ and /s/
Agent-Logs-Url: https://github.com/qaiu/netdisk-fast-download/sessions/dc483348-3899-4448-80ce-c2352e6bc23e
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-04-05 08:20:46 +00:00 |
|
copilot-swe-agent[bot]
|
03503115fd
|
feat: 文叔叔(WS)域名扩展 + 单元测试补充
Co-authored-by: qaiu <29825328+qaiu@users.noreply.github.com>
|
2026-03-18 02:18:53 +00:00 |
|
q
|
256ec3b152
|
Fixed: Lz parser return filename error.
|
2026-03-07 13:45:26 +08:00 |
|
q
|
ba0ac86eea
|
LzToooool
|
2026-03-06 10:38:11 +08:00 |
|
rensumo
|
6458a6e2c5
|
refactor qk parser and add package metadata
|
2026-02-23 08:01:08 +08:00 |
|
q
|
fdf067c25e
|
更新 夸克解析、小飞机解析,前端版本号
|
2026-02-22 19:15:15 +08:00 |
|
rensumo
|
81ffbbd6b1
|
feat: harden donated-account failure token and document key usage
|
2026-02-22 12:24:47 +08:00 |
|
qaiu
|
80fa51fd0a
|
更新 PanDomainTemplate.java 删除118网盘解析
|
2026-02-12 20:35:23 +08:00 |
|
qaiu
|
a170134456
|
删除 P118Tool.java
|
2026-02-12 20:33:49 +08:00 |
|
q
|
3a25e5f2ae
|
feat(v0.2.1): 添加认证参数支持和客户端下载命令生成
主要更新:
- 新增 auth 参数加密传递支持 (QK/UC Cookie认证)
- 实现下载命令自动生成 (curl/aria2c/迅雷)
- aria2c 命令支持 8 线程 8 片段下载
- 修复 cookie 字段映射问题
- 优化前端 clientLinks 页面
- 添加认证参数文档和测试用例
- 更新 .gitignore 忽略编译目录
|
2026-02-05 20:35:47 +08:00 |
|
q
|
c760e47154
|
优化超星解析,清理冗余代码
|
2026-02-04 17:10:52 +08:00 |
|
q
|
ea47bb39eb
|
Fixed 蓝奏云目录解析cookie验证问题
|
2026-02-03 13:27:09 +08:00 |
|
q
|
1b357de2f3
|
Fixed 蓝奏优享解析,v019b21
|
2026-02-02 16:02:36 +08:00 |
|
q
|
cf76a5ddd6
|
fixed: 修复蓝奏优享 #159, #158
|
2026-02-02 15:59:44 +08:00 |
|
q
|
4e27bf0dc4
|
蓝奏云规则更新
|
2026-02-01 10:33:25 +08:00 |
|
q
|
1f3161216a
|
fix(LeTool): 修复子目录 fileId URL 编码问题
- 在构建 parserUrl 时对 fileId 进行 URL 编码
- 避免 %2B 等特殊字符被前端 axios 自动解码导致请求失败
- 添加异常处理和降级方案
|
2026-01-23 17:59:19 +08:00 |
|
q
|
e5f7b164a3
|
fix(LeTool): 修复联想乐云目录解析失败问题
- 添加统一的 HEADERS 定义,包含完整的浏览器请求头
- 修复 API_URL_PREFIX 路径(share -> mshare)
- 添加 getCleanShareId() 方法处理 URL 中的查询参数
- 所有请求统一使用 putHeaders(HEADERS)
- 增加调试日志输出
|
2026-01-23 13:24:11 +08:00 |
|