mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2025-12-16 04:13:03 +00:00
🚀 核心功能 - 新增完整的客户端下载链接生成器系统 - 支持ARIA2、Motrix、比特彗星、迅雷、wget、cURL、IDM、FDM、PowerShell等8种客户端 - 自动处理防盗链参数(User-Agent、Referer、Cookie等) - 提供可扩展的生成器架构,支持自定义客户端 🔧 技术实现 - ClientLinkGeneratorFactory: 工厂模式管理生成器 - DownloadLinkMeta: 元数据存储下载信息 - ClientLinkUtils: 便捷工具类 - 线程安全的ConcurrentHashMap设计 🌐 前端集成 - 新增ClientLinks.vue界面,支持客户端链接展示 - Element Plus图标系统,混合图标显示 - 客户端检测逻辑优化,避免自动打开外部应用 - 移动端和PC端环境判断 📚 文档完善 - 完整的CLIENT_LINK_GENERATOR_GUIDE.md使用指南 - API文档和测试用例 - 输出示例和最佳实践 从单纯的网盘解析工具升级为完整的下载解决方案生态
3.9 KiB
3.9 KiB
客户端下载链接 API 文档
概述
新增的客户端下载链接 API 允许用户获取各种下载客户端格式的下载链接,包括 cURL、PowerShell、Aria2、迅雷等。
API 端点
1. 获取所有客户端下载链接
端点: GET /v2/clientLinks
参数:
url(必需): 分享链接pwd(可选): 提取码
响应示例:
{
"success": true,
"directLink": "https://example.com/file.zip",
"fileName": "test-file.zip",
"fileSize": 1024000,
"clientLinks": {
"CURL": "curl -L -H \"User-Agent: Mozilla/5.0...\" -o \"test-file.zip\" \"https://example.com/file.zip\"",
"POWERSHELL": "$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession...",
"ARIA2": "aria2c --header=\"User-Agent: Mozilla/5.0...\" --out=\"test-file.zip\" \"https://example.com/file.zip\"",
"THUNDER": "thunder://QUFodHRwczovL2V4YW1wbGUuY29tL2ZpbGUuemlwWlo=",
"IDM": "idm://https://example.com/file.zip",
"WGET": "wget --header=\"User-Agent: Mozilla/5.0...\" -O \"test-file.zip\" \"https://example.com/file.zip\"",
"BITCOMET": "bitcomet://https://example.com/file.zip",
"MOTRIX": "{\"url\":\"https://example.com/file.zip\",\"out\":\"test-file.zip\"}",
"FDM": "https://example.com/file.zip"
},
"supportedClients": {
"curl": "cURL 命令",
"wget": "wget 命令",
"aria2": "Aria2",
"idm": "IDM",
"thunder": "迅雷",
"bitcomet": "比特彗星",
"motrix": "Motrix",
"fdm": "Free Download Manager",
"powershell": "PowerShell"
},
"parserInfo": "百度网盘 - pan"
}
2. 获取指定类型的客户端下载链接
端点: GET /v2/clientLink
参数:
url(必需): 分享链接pwd(可选): 提取码clientType(必需): 客户端类型 (curl, wget, aria2, idm, thunder, bitcomet, motrix, fdm, powershell)
响应: 直接返回指定类型的客户端下载链接字符串
支持的客户端类型
| 客户端类型 | 代码 | 说明 | 输出格式 |
|---|---|---|---|
| cURL | curl |
命令行工具 | curl 命令 |
| wget | wget |
命令行工具 | wget 命令 |
| Aria2 | aria2 |
命令行/RPC | aria2c 命令 |
| IDM | idm |
Windows 下载管理器 | idm:// 协议链接 |
| 迅雷 | thunder |
国内主流下载工具 | thunder:// 协议链接 |
| 比特彗星 | bitcomet |
BT 下载工具 | bitcomet:// 协议链接 |
| Motrix | motrix |
跨平台下载工具 | JSON 格式 |
| FDM | fdm |
Free Download Manager | 文本格式 |
| PowerShell | powershell |
Windows PowerShell | PowerShell 命令 |
使用示例
获取所有客户端链接
curl "http://localhost:8080/v2/clientLinks?url=https://pan.baidu.com/s/1test123&pwd=1234"
获取 cURL 命令
curl "http://localhost:8080/v2/clientLink?url=https://pan.baidu.com/s/1test123&pwd=1234&clientType=curl"
获取 PowerShell 命令
curl "http://localhost:8080/v2/clientLink?url=https://pan.baidu.com/s/1test123&pwd=1234&clientType=powershell"
错误处理
当请求失败时,API 会返回错误信息:
{
"success": false,
"error": "解析分享链接失败: 具体错误信息"
}
注意事项
- Referer 支持: CowTool (奶牛快传) 解析器已正确实现 Referer 请求头支持
- 请求头处理: 所有客户端链接都会包含必要的请求头(如 User-Agent、Referer、Cookie 等)
- 特殊字符转义: PowerShell 命令会自动转义特殊字符(引号、美元符号等)
- 异步处理: API 使用异步处理,确保高性能
- 错误容错: 即使某个客户端类型生成失败,其他类型仍会正常生成
集成说明
该功能已集成到现有的解析器框架中:
- ParserApi: 新增两个 API 端点
- ClientLinkResp: 新的响应模型
- CowTool: 已支持 Referer 请求头
- PowerShell: 新增 PowerShell 格式支持
所有功能都经过测试验证,可以安全使用。