mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2026-05-27 16:57:28 +00:00
Compare commits
6 Commits
copilot/ch
...
copilot/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b05b2f15b9 | ||
|
|
895661b8df | ||
|
|
93d676207c | ||
|
|
b3083c1286 | ||
|
|
7bb3cf7c51 | ||
|
|
2ce5058be0 |
15
README.md
15
README.md
@@ -58,6 +58,7 @@ https://nfd-parser.github.io/nfd-preview/preview.html?src=https%3A%2F%2Flz.qaiu.
|
||||
|
||||
**注意⚠️小飞机解析有IP限制,多数云服务商的大陆IP会被拦截(可以自行配置代理),和本程序无关**
|
||||
**注意⚠️收到很多用户反馈,小飞机近期封号频繁,请尽可能选择其他网盘分享**
|
||||
**注意⚠️123云盘解析可能受账号地区、访问区域、出口IP等因素影响,即使已配置登录认证,跨区域访问仍可能失败,通常更接近网盘侧限制/风控,和本程序无关**
|
||||
**注意⚠️请不要过度依赖 lz.qaiu.top,建议本地搭建或者云服务器自行搭建。请求量过多的话服务器可能会被云盘厂商限制,遇到解析失败的分享链接不要着急提issues,请先检查分享是否有效。**
|
||||
|
||||
## 网盘支持情况:
|
||||
@@ -93,6 +94,13 @@ https://nfd-parser.github.io/nfd-preview/preview.html?src=https%3A%2F%2Flz.qaiu.
|
||||
- Onedrive-pod
|
||||
- Dropbox-pdp
|
||||
- iCloud-pic
|
||||
### 专业版提供
|
||||
- 迅雷网盘-xl
|
||||
- [夸克云盘-qk](https://pan.quark.cn/)
|
||||
- [UC云盘-uc](https://fast.uc.cn/)
|
||||
- [移动云盘-p139](https://yun.139.com/)
|
||||
- [联通云盘-pwo](https://pan.wo.cn/)
|
||||
- [天翼云盘-p189](https://cloud.189.cn/)
|
||||
|
||||
## API接口
|
||||
|
||||
@@ -327,7 +335,7 @@ json返回数据格式示例:
|
||||
| 移动云云空间(个人版) | √ | √(密码可忽略) | 5G(个人) | 不限大小 |
|
||||
| 小飞机网盘 | √ | √ | 10G | 不限大小 |
|
||||
| 360亿方云 | √ | √ | 100G(须实名) | 不限大小 |
|
||||
| 123云盘 | √ | √ | 2T | 100G(>100M需要登录) |
|
||||
| 123云盘 | x | √ | 2T | 100G(>100M需要登录) |
|
||||
| 文叔叔 | √ | √ | 10G | 5GB |
|
||||
| WPS云文档 | √ | X | 5G(免费) | 10M(免费)/2G(会员) |
|
||||
| 夸克网盘 | x | √ | 10G | 不限大小 |
|
||||
@@ -485,6 +493,8 @@ auths:
|
||||
|
||||
**注意:** 目前仅支持 123(ye)的认证配置。
|
||||
|
||||
**补充说明:** 123(ye)登录认证是必要条件之一,但不保证所有部署环境都稳定可用;若公网云服务器解析异常而本地/NAS环境正常,通常更可能与123侧跨区域访问限制或风控相关。建议优先在本地、家庭宽带或NAS环境部署,必要时再结合代理。
|
||||
|
||||
|
||||
**技术栈:**
|
||||
Jdk17+Vert.x4
|
||||
@@ -509,6 +519,3 @@ Core模块集成Vert.x实现类似spring的注解式路由API
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,9 +37,6 @@ public class WsTool extends PanBase {
|
||||
|
||||
MultiMap headers = MultiMap.caseInsensitiveMultiMap();
|
||||
headers.set("User-Agent", userAgent2);
|
||||
headers.set("Accept", "application/json, text/plain, */*");
|
||||
headers.set("Content-Type", "application/json;charset=utf-8");
|
||||
headers.set("Prod", "com.wenshushu.web.pc");
|
||||
headers.set("sec-ch-ua-platform", "Android");
|
||||
headers.set("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
|
||||
headers.set("sec-ch-ua-mobile", "sec-ch-ua-mobile");
|
||||
@@ -53,7 +50,7 @@ public class WsTool extends PanBase {
|
||||
try {
|
||||
// 设置匿名登录token
|
||||
String token = asJson(res).getJsonObject("data").getString("token");
|
||||
headers.set("X-TOKEN", token);
|
||||
headers.set("X-Token", token);
|
||||
|
||||
// 获取文件夹信息
|
||||
httpClient.postAbs(SHARE_URL_API + "task/mgrtask").putHeaders(headers)
|
||||
@@ -71,10 +68,10 @@ public class WsTool extends PanBase {
|
||||
String filebid = asJson(res2).getJsonObject("data").getString("boxid"); // 文件夹bid
|
||||
|
||||
// 调试输出文件夹信息
|
||||
log.debug("文件夹期限: {}", filetime);
|
||||
log.debug("文件夹大小: {}", filesize);
|
||||
log.debug("文件夹pid: {}", filepid);
|
||||
log.debug("文件夹bid: {}", filebid);
|
||||
System.out.println("文件夹期限: " + filetime);
|
||||
System.out.println("文件夹大小: " + filesize);
|
||||
System.out.println("文件夹pid: " + filepid);
|
||||
System.out.println("文件夹bid: " + filebid);
|
||||
|
||||
// 获取文件信息
|
||||
httpClient.postAbs(SHARE_URL_API + "ufile/list").putHeaders(headers)
|
||||
@@ -95,21 +92,21 @@ public class WsTool extends PanBase {
|
||||
if (res3.statusCode() == 200) {
|
||||
try {
|
||||
// 获取文件信息
|
||||
JsonObject fileInfo = asJson(res3).getJsonObject("data")
|
||||
.getJsonArray("fileList").getJsonObject(0);
|
||||
String filename = fileInfo.getString("fname"); // 文件名称
|
||||
String fileUfileid = fileInfo.getString("ufileid", fileInfo.getString("fid")); // 文件ufileid
|
||||
String filename = asJson(res3).getJsonObject("data")
|
||||
.getJsonArray("fileList").getJsonObject(0).getString("fname"); // 文件名称
|
||||
String filefid = asJson(res3).getJsonObject("data")
|
||||
.getJsonArray("fileList").getJsonObject(0).getString("fid"); // 文件fid
|
||||
|
||||
// 调试输出文件信息
|
||||
log.debug("文件名称: {}", filename);
|
||||
log.debug("文件ufileid: {}", fileUfileid);
|
||||
System.out.println("文件名称: " + filename);
|
||||
System.out.println("文件fid: " + filefid);
|
||||
|
||||
// 检查文件是否失效
|
||||
httpClient.postAbs(SHARE_URL_API + "dl/sign").putHeaders(headers)
|
||||
.sendJsonObject(JsonObject.of(
|
||||
"ufileid", fileUfileid,
|
||||
// 新版接口不再需要consumeCode
|
||||
"type", 1
|
||||
"consumeCode", 0,
|
||||
"type", 1,
|
||||
"ufileid", filefid
|
||||
)).onSuccess(res4 -> {
|
||||
|
||||
if (res4.statusCode() == 200) {
|
||||
@@ -118,7 +115,7 @@ public class WsTool extends PanBase {
|
||||
String fileurl = asJson(res4).getJsonObject("data").getString("url");
|
||||
|
||||
// 调试输出文件直链
|
||||
log.debug("文件直链: {}", fileurl);
|
||||
System.out.println("文件直链: " + fileurl);
|
||||
|
||||
if (!fileurl.equals("")) {
|
||||
promise.complete(URLDecoder.decode(fileurl, StandardCharsets.UTF_8));
|
||||
|
||||
Reference in New Issue
Block a user