修复123解析 #123

This commit is contained in:
q
2025-09-12 17:34:07 +08:00
parent 55e6227de0
commit 5c60493a24
5 changed files with 56 additions and 25 deletions

14
bin/stop.sh Normal file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
# set -x
# 找到运行中的 Java 进程的 PID
PID=$(ps -ef | grep 'netdisk-fast-download.jar' | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then
echo "未找到正在运行的进程 netdisk-fast-download.jar"
exit 1
else
# 杀掉进程
echo "停止 netdisk-fast-download.jar (PID: $PID)..."
kill -9 "$PID"
fi

View File

@@ -72,31 +72,17 @@ public class YeTool extends PanBase {
client.getAbs(UriTemplate.of(FIRST_REQUEST_URL)).setTemplateParam("key", dataKey).send().onSuccess(res -> { client.getAbs(UriTemplate.of(FIRST_REQUEST_URL)).setTemplateParam("key", dataKey).send().onSuccess(res -> {
String html = res.bodyAsString(); String html = res.bodyAsString();
// 判断分享是否已经失效 // 分享页面是否存在判断\"UserID\"
if (html.contains("分享链接已失效")) { if (!html.contains("\\\"UserID\\\"")) {
fail("该分享已失效({})已失效", shareLinkInfo.getShareUrl()); fail("该分享({})不存在, 可能分享已失效", shareLinkInfo.getShareUrl());
return; return;
} }
Pattern compile = Pattern.compile("window.g_initialProps\\s*=\\s*(.*);"); String fileInfoString = parserHtml(html);
Matcher matcher = compile.matcher(html);
if (!matcher.find()) { String shareKey = shareLinkInfo.getShareKey().replaceAll("(\\..*)|(#.*)", "");
fail("该分享({})文件信息找不到, 可能分享已失效", shareLinkInfo.getShareUrl());
return;
}
String fileInfoString = matcher.group(1);
JsonObject fileInfoJson = new JsonObject(fileInfoString);
JsonObject resJson = fileInfoJson.getJsonObject("res");
JsonObject resListJson = fileInfoJson.getJsonObject("reslist");
if (resJson == null || resJson.getInteger("code") != 0) { if (fileInfoString == null) {
fail(dataKey + " 解析到异常JSON: " + resJson);
return;
}
String shareKey = resJson.getJsonObject("data").getString("ShareKey");
if (resListJson == null || resListJson.getInteger("code") != 0) {
// 加密分享 // 加密分享
if (StringUtils.isNotEmpty(pwd)) { if (StringUtils.isNotEmpty(pwd)) {
client.getAbs(UriTemplate.of(GET_FILE_INFO_URL)) client.getAbs(UriTemplate.of(GET_FILE_INFO_URL))
@@ -137,7 +123,8 @@ public class YeTool extends PanBase {
return; return;
} }
JsonObject reqBodyJson = resListJson.getJsonObject("data").getJsonArray("InfoList").getJsonObject(0); JsonObject fileInfoJson = new JsonObject(fileInfoString);
JsonObject reqBodyJson = fileInfoJson;
reqBodyJson.put("ShareKey", shareKey); reqBodyJson.put("ShareKey", shareKey);
if (reqBodyJson.getInteger("Type") == 1) { if (reqBodyJson.getInteger("Type") == 1) {
// 文件夹 // 文件夹
@@ -350,4 +337,15 @@ public class YeTool extends PanBase {
down(client, paramJson, DOWNLOAD_API_URL); down(client, paramJson, DOWNLOAD_API_URL);
return promise.future(); return promise.future();
} }
String parserHtml(String html) {
// 正则匹配 { ... } 中包含 S3KeyFlag 的对象
Pattern pattern = Pattern.compile("\\{[^{}]*?S3KeyFlag[^{}]*?\\}");
Matcher matcher = pattern.matcher(html);
if (matcher.find()) {
return matcher.group().replace("\\", "");
}
return null;
}
} }

View File

@@ -29,4 +29,20 @@ public class TestRegex {
System.out.println(matcher.group(1)); System.out.println(matcher.group(1));
} }
} }
@Test
public void testYeShareKey() {
String url = "ABCD1234-asdasd";
String shareKey = url.replaceAll("(\\..*)|(#.*)", "");
System.out.println(shareKey);
url = "ABCD1234-adasd.html";
shareKey = url.replaceAll("(\\..*)|(#.*)", "");
System.out.println(shareKey);
url = "ABCD1234-adasd#123123";
shareKey = url.replaceAll("(\\..*)|(#.*)", "");
System.out.println(shareKey);
url = "ABCD1234-adasd.html#123123";
shareKey = url.replaceAll("(\\..*)|(#.*)", "");
System.out.println(shareKey);
}
} }

View File

@@ -48,7 +48,7 @@
</div> </div>
<!-- 项目简介移到卡片内 --> <!-- 项目简介移到卡片内 -->
<div class="project-intro"> <div class="project-intro">
<div class="intro-title">NFD网盘直链解析0.1.9_bate8</div> <div class="intro-title">NFD网盘直链解析0.1.9_bate9</div>
<div class="intro-desc"> <div class="intro-desc">
<div>支持网盘蓝奏云蓝奏云优享小飞机盘123云盘奶牛快传移动云空间QQ邮箱云盘QQ闪传等 <el-link style="color:#606cf5" href="https://github.com/qaiu/netdisk-fast-download?tab=readme-ov-file#%E7%BD%91%E7%9B%98%E6%94%AF%E6%8C%81%E6%83%85%E5%86%B5" target="_blank"> &gt;&gt; </el-link></div> <div>支持网盘蓝奏云蓝奏云优享小飞机盘123云盘奶牛快传移动云空间QQ邮箱云盘QQ闪传等 <el-link style="color:#606cf5" href="https://github.com/qaiu/netdisk-fast-download?tab=readme-ov-file#%E7%BD%91%E7%9B%98%E6%94%AF%E6%8C%81%E6%83%85%E5%86%B5" target="_blank"> &gt;&gt; </el-link></div>
<div>文件夹解析支持蓝奏云蓝奏云优享小飞机盘123云盘</div> <div>文件夹解析支持蓝奏云蓝奏云优享小飞机盘123云盘</div>

View File

@@ -1,13 +1,13 @@
### ###
POST http://127.0.0.1:6400/v2/shout/submit POST https://lzzz.qaiu.top/v2/shout/submit
Content-Type: application/json Content-Type: application/json
{ {
"content": "CREATE UNIQUE INDEX `idx_uk_code` ON `t_messages` (`code`);" "content": "ok 123123123123123123123123123123123123123123123123123123123123231123123"
} }
### ###
GET http://127.0.0.1:6400/v2/shout/retrieve?code=878696 GET http://lzzz.qaiu.top/v2/shout/retrieve?code=414016
### ###
响应: 响应:
@@ -16,3 +16,6 @@ GET http://127.0.0.1:6400/v2/shout/retrieve?code=878696
"code": 200, "code": 200,
"msg": "success" "msg": "success"
} }
###
https://gfs302n511.userstorage.mega.co.nz/dl/XwiiRG-Z97rz7wcbWdDmcd654FGkYU3FJncTobxhpPR9GVSggHJQsyMGdkLsWEiIIf71RUXcQPtV7ljVc0Z3tA_ThaUb9msdh7tS0z-2CbaRYSM5176DFxDKQtG84g