mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2025-12-15 11:53:02 +00:00
修复123解析 #123
This commit is contained in:
14
bin/stop.sh
Normal file
14
bin/stop.sh
Normal 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
|
||||
@@ -72,31 +72,17 @@ public class YeTool extends PanBase {
|
||||
client.getAbs(UriTemplate.of(FIRST_REQUEST_URL)).setTemplateParam("key", dataKey).send().onSuccess(res -> {
|
||||
|
||||
String html = res.bodyAsString();
|
||||
// 判断分享是否已经失效
|
||||
if (html.contains("分享链接已失效")) {
|
||||
fail("该分享已失效({})已失效", shareLinkInfo.getShareUrl());
|
||||
// 分享页面是否存在判断\"UserID\"
|
||||
if (!html.contains("\\\"UserID\\\"")) {
|
||||
fail("该分享({})不存在, 可能分享已失效", shareLinkInfo.getShareUrl());
|
||||
return;
|
||||
}
|
||||
|
||||
Pattern compile = Pattern.compile("window.g_initialProps\\s*=\\s*(.*);");
|
||||
Matcher matcher = compile.matcher(html);
|
||||
String fileInfoString = parserHtml(html);
|
||||
|
||||
if (!matcher.find()) {
|
||||
fail("该分享({})文件信息找不到, 可能分享已失效", shareLinkInfo.getShareUrl());
|
||||
return;
|
||||
}
|
||||
String fileInfoString = matcher.group(1);
|
||||
JsonObject fileInfoJson = new JsonObject(fileInfoString);
|
||||
JsonObject resJson = fileInfoJson.getJsonObject("res");
|
||||
JsonObject resListJson = fileInfoJson.getJsonObject("reslist");
|
||||
String shareKey = shareLinkInfo.getShareKey().replaceAll("(\\..*)|(#.*)", "");
|
||||
|
||||
if (resJson == null || resJson.getInteger("code") != 0) {
|
||||
fail(dataKey + " 解析到异常JSON: " + resJson);
|
||||
return;
|
||||
}
|
||||
String shareKey = resJson.getJsonObject("data").getString("ShareKey");
|
||||
|
||||
if (resListJson == null || resListJson.getInteger("code") != 0) {
|
||||
if (fileInfoString == null) {
|
||||
// 加密分享
|
||||
if (StringUtils.isNotEmpty(pwd)) {
|
||||
client.getAbs(UriTemplate.of(GET_FILE_INFO_URL))
|
||||
@@ -137,7 +123,8 @@ public class YeTool extends PanBase {
|
||||
return;
|
||||
}
|
||||
|
||||
JsonObject reqBodyJson = resListJson.getJsonObject("data").getJsonArray("InfoList").getJsonObject(0);
|
||||
JsonObject fileInfoJson = new JsonObject(fileInfoString);
|
||||
JsonObject reqBodyJson = fileInfoJson;
|
||||
reqBodyJson.put("ShareKey", shareKey);
|
||||
if (reqBodyJson.getInteger("Type") == 1) {
|
||||
// 文件夹
|
||||
@@ -350,4 +337,15 @@ public class YeTool extends PanBase {
|
||||
down(client, paramJson, DOWNLOAD_API_URL);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,4 +29,20 @@ public class TestRegex {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
<!-- 项目简介移到卡片内 -->
|
||||
<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>支持网盘:蓝奏云、蓝奏云优享、小飞机盘、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"> >> </el-link></div>
|
||||
<div>文件夹解析支持:蓝奏云、蓝奏云优享、小飞机盘、123云盘</div>
|
||||
|
||||
@@ -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": "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,
|
||||
"msg": "success"
|
||||
}
|
||||
|
||||
###
|
||||
https://gfs302n511.userstorage.mega.co.nz/dl/XwiiRG-Z97rz7wcbWdDmcd654FGkYU3FJncTobxhpPR9GVSggHJQsyMGdkLsWEiIIf71RUXcQPtV7ljVc0Z3tA_ThaUb9msdh7tS0z-2CbaRYSM5176DFxDKQtG84g
|
||||
Reference in New Issue
Block a user