项目介绍
国内许多下载网站都在使用网盘作为网站的文件下载源,但是这样非常降低用户体验,有没有办法不跳转到网盘,直接下载文件了。当然可以,我们只需要解析出网盘的直连地址,就可以轻松解决这个问题。
今天分享的一款网盘直链解析工具,能把网盘分享下载链接转化为直链,已支持蓝奏云/蓝奏云优享/奶牛快传/移动云云空间/小飞机盘/亿方云/123云盘/Cloudreve等,支持加密分享。
项目地址:https://github.com/qaiu/netdisk-fast-download
重要声明:本项目仅供学习参考;请不要将此项目用于任何商业用途,否则可能带来严重的后果。
网盘支持情况:
20230905 奶牛云直链做了防盗链,需加入请求头:Referer: https://cowtransfer.com/
20230824 123云盘解析大文件(>100MB)失效,需要登录
20230722 UC网盘解析失效,需要登录
网盘名称(网盘标识):
蓝奏云 (lz):登录, 上传, 下载,分享,直链解析
蓝奏云优享 (iz):登录, 上传, 下载, 分享,直链解析
奶牛快传 (cow):登录, 上传, 下载, 分享,直链解析
移动云云空间 (ec):登录, 上传, 下载, 分享,直链解析
小飞机网盘 (fj):登录, 上传, 下载, 分享,直链解析
亿方云 (fc):登录, 上传, 下载, 分享,直链解析
123云盘 (ye):登录, 上传, 下载, 分享,直链解析
文叔叔 (ws):登录, 上传, 下载, 分享,直链解析
Cloudreve自建网盘 (ce):登录, 上传, 下载, 分享,直链解析
API接口说明:
your_host指的是您的域名或者IP,实际使用时替换为实际域名或者IP,端口默认6400,可以使用nginxdai理来做域名访问。
解析方式分为两种类型直接跳转下载链接和获取下载链接(JSON),每一种都提供了两种接口形式parser和网盘标志/分享key拼接的短地址(标志短链),所有规则参考示例。
通用接口: /parser?url=分享链接,加密分享需要加上参数pwd=密码;
标志短链: /网盘标识/分享key 在分享Key后面加上@密码;
直链JSON: 通用接口和标志短链前加上/json 加密分享的密码规则同上;
网盘标识参考上面网盘支持情况
括号内是可选内容: 表示当带有分享密码时需要加上密码参数
移动云云空间,小飞机网盘的加密分享的密码可以忽略
移动云空间分享key取分享链接中的data参数,比如&data=xxx的参数就是xxx
规则示例:
1. 解析并自动302跳转 :
http://your_host/parser?url=分享链接(&pwd=xxx) http://your_host/网盘标识/分享key(@分享密码)
2. 获取解析后的直链--JSON格式
http://your_host/json/parser?url=分享链接(&pwd=xxx) http://your_host/json/网盘标识/分享key(@分享密码)
3. 需要特殊处理的网盘分享:
1. 移动云云空间(ec)使用parser?url= 解析时因为分享链接比较特殊(链接带有参数且含有#符号)所以要么对#进行转义%23要么直接去掉# 或者URL直接是主机名+'/'跟一个data参数,比如
http://your_host/parser?url=https://www.ecpan.cn/web//yunpanProxy?path=%2F%23%2Fdrive%2Foutside&data=81027a5c99af5b11ca004966c945cce6W9Bf2&isShare=1 http://your_host/parser?url=https://www.ecpan.cn/web/%23/yunpanProxy?path=%2F%23%2Fdrive%2Foutside&data=81027a5c99af5b11ca004966c945cce6W9Bf2&isShare=1 http://your_host/parser?url=https://www.ecpan.cn/&data=81027a5c99af5b11ca004966c945cce6W9Bf2&isShare=1
2. Cloudreve自建网盘解析规则:
1. 标志短链: 根据网盘使用https和http选择 http://your_host/ce/https_网盘域名_s_wDz5TK 或 http://your_host/ce/http_网盘域名_s_wDz5TK
网盘域名指的是Cloudreve搭建网盘的主域名比如pan.huang1111.cn,如果存在子路径需要将/替换为_,是否存在子路径看分享链接格式是否是://网盘域名/子路径/s/xxx,一般不存在子路径:网盘域名/s/xxx,
比如: http://127.0.0.1:6400/ce/https_pan.huang1111.cn_s_wDz5TK
2. parser接口 -> http://your_host/parser?url=分享链接(&pwd=xxx)
比如: http://127.0.0.1:6400/parser?url=https://pan.huang1111.cn/s/wDz5TK
json返回数据格式示例:
{ "code": 200, "msg": "success", "success": true, "count": 0, "data": "https://下载链接", "timestamp": 1690733953927