网盘直链下载助手实战指南:九大网盘直链提取的原理与上手全流程
【免费下载链接】Online-disk-direct-link-download-assistant一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸克网盘 / UC网盘 / 123云盘 八大网盘项目地址: https://gitcode.com/GitHub_Trending/on/Online-disk-direct-link-download-assistant
开篇:当 300KB/s 成为日常,谁不想换个活法?
如果你曾对着百度网盘的进度条怀疑人生,或者为了下一个文件被迫装三四个网盘客户端,那么这篇文章正是为你准备的。网盘直链下载助手(LinkSwift)是一个基于 JavaScript 的网盘文件下载地址获取工具,它用一个油猴脚本解决了九大网盘平台的下载痛点——不装客户端、不看广告、不折腾会员页面,勾选文件、点击按钮、拿到直链,剩下的交给 Aria2、IDM 或浏览器自己。接下来,我们从原理到实战,把它一次讲透。
一、问题拆解:网盘下载到底难在哪三个环节
1. 客户端绑架与限速体验
大多数网盘把「客户端」当作流量入口:网页端下载要跳转客户端,客户端又对免费用户做带宽限制。实测对比中,非会员通过浏览器直链与官方客户端下载同一文件,速度差距常达数十倍——而直链获取工具要解决的,正是"网页里明明有文件,却拿不到干净下载地址"这件事。
2. 多平台协议碎片化
九大网盘的鉴权机制互不兼容:百度用 OAuth2.0 的 AccessToken,阿里走 JWT 令牌,夸克和 UC 要求伪装成客户端 UA,天翼和移动则依赖 Cookie 会话。同一个下载需求,要在九个不同协议之间来回切换,这就是工具存在的价值。
3. 门槛不在"会点按钮",而在"看懂报错"
普通用户卡住的往往不是操作,而是「按钮没出现」「直链 403」「文件名乱码」这类问题。一个成熟的工具,应当把错误提示和规避方案做到位,而不是抛一个裸报错让用户自己猜。
二、核心机制深挖:它究竟是怎么拿到直链的
1. 模块化架构:每个网盘一个适配器
脚本源码围绕config对象组织,每个网盘对应一个独立模块。以百度网盘适配器为例,它同时声明了 API 端点、按钮挂载点和下载说明:
// 源码中 config.$baidu 适配器的核心声明(结构简化) $baidu: { api: { // 1. OAuth2.0 授权入口,换取 AccessToken getAccessToken: "https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&scope=basic,netdisk&redirect_uri=oob", // 2. 文件元数据接口,dlink=1 表示返回直链 getLink: "https://pan.baidu.com/rest/2.0/xpan/multimedia?method=filemetas&dlink=1", // 3. 目录列表接口,用于递归获取文件夹内文件 getFiles: "https://pan.baidu.com/rest/2.0/xpan/file?method=list" }, // 按钮挂载点:通过 CSS 选择器定位网盘页面的工具栏 mount: { home: ".wp-s-agile-tool-bar__header", share: ".module-share-top-bar .x-button-box" } }这种「API + 挂载点」的双层声明,让新增网盘只需照葫芦画瓢,也为脚本长期跟进网盘改版提供了结构基础。
2. 关键流程:授权 → 批量查询 → 生成直链
以百度网盘为例,一次典型的直链提取走三步。注意fsids支持数组传参,多个文件可以合并为一次请求,这正是批量下载不卡的秘密:
// 简化自源码的百度直链获取逻辑 async function getBaiduDirectLinks(fsids, accessToken) { // 1. 构造查询 URL,method=filemetas + dlink=1 是关键参数组合 const url = new URL("https://pan.baidu.com/rest/2.0/xpan/multimedia"); url.searchParams.set("method", "filemetas"); // 查询文件元数据 url.searchParams.set("dlink", "1"); // 返回内容中携带临时直链 url.searchParams.set("access_token", accessToken); url.searchParams.set("fsids", JSON.stringify(fsids)); // 批量查询,一次拿到多个文件 // 2. 发起请求并解析响应 const res = await fetch(url); const data = await res.json(); // 3. 每条记录里的 dlink 字段即临时下载地址 return data.list.map(item => item.dlink); }拿到直链后,脚本还要做两件事:一是处理各家平台的防盗链策略,比如阿里云盘要求携带正确的 Referer、夸克和 UC 需要伪装成客户端 UA;二是把直链转成不同下载器能消费的格式,源码里的convertLinkToAria2、convertLinkToCurl、convertLinkToBitComet就是干这个的:
// 简化自源码:把直链转为 aria2c 命令行 function convertLinkToAria2(link, filename, headers) { filename = fixFilename(filename); // 处理特殊字符,避免命令行注入 return `aria2c "${link}" --out "${filename}"${headers ? " " + headers : ""}`; }3. 九大网盘协议对比
| 网盘平台 | 认证方式 | 核心 API 端点 | 直链特性 |
|---|---|---|---|
| 百度网盘 | AccessToken(OAuth2.0) | /rest/2.0/xpan/multimedia | 支持 fsids 批量查询 |
| 阿里云盘 | JWT 令牌 | /v2/file/get_download_url | 需携带 Referer |
| 中国移动云盘 | Cookie 会话 | /hcy/file/getDownloadUrl | 支持批量复制 |
| 天翼云盘 | Cookie + Token | /open/file/getFileDownloadUrl.action | 独立 Token 获取流程 |
| 迅雷云盘 | SessionId | /drive/v1/files/ | 内置海量镜像节点轮换 |
| 夸克网盘 | Cookie + UA 伪装 | /1/clouddrive/file/download | 需 Electron 客户端 UA |
| UC网盘 | Cookie + UA 伪装 | /1/clouddrive/file/download | 与夸克同源不同 UA |
| 123云盘 | Cookie 会话 | /api/v2/file/download_info | 分享页深度适配 |
| 光鸭云盘 | 分享 Token | /nd.bizuserres.s/v1/... | 支持分享页直链 |
这张表背后的工作量很直白:九个平台、九套鉴权、九份 UI 挂载点,全部收进一个 600KB 左右的脚本里,这就是「一个工具覆盖全平台」的含义。
三、亮点呈现:不只是"能用",而是"好用"
特性清单速览
- 九大网盘统一入口:百度、阿里、移动、天翼、迅雷、光鸭、夸克、UC、123,一个脚本全覆盖
- 六种以上下载出口:浏览器直下、API 下载、增强下载(Beta)、Aria2、RPC 推送、cURL 命令、比特彗星、IDM、AB Download Manager
- 链接缓存机制:已获取的令牌与链接会缓存,有效期内重复使用,无需反复授权
- 增强下载(Beta):脚本跨域请求下载,支持多线程、智能多分片,并显示预估剩余时间与实时速度
- 视觉自定义:24 种主题色、深色模式适配,连 Dark Reader 都考虑到了
- 分享页全覆盖:不仅支持登录态网盘页,还适配了各家的分享链接页面
几个值得单独说的创新点
批量查询合并请求。百度的filemetas接口天然支持fsids数组,脚本把勾选的文件一次性提交。选中 20 个文件时,网络请求从 20 次压到 1 次,这在网盘改版导致接口限流时尤其管用。
UA/Referer 自动补全。夸克和 UC 的直链要求请求方携带伪造的客户端 UA,阿里云盘要求正确 Referer,百度超过 50MB 的文件需要pan.baidu.com的 UA。这些细节脚本都自动处理了,用户感知不到,但缺了任何一个,直链就是一条 403。
与「会员青春版」脚本搭配使用。项目还附带「百度网盘会员青春版」脚本,与直链助手配合,前者处理网盘内的会员相关功能,后者负责把文件"请"到本地,属于官方推荐的组合玩法。
四、实战手把手:从安装到第一份直链
第一步:环境准备
- 浏览器:Chrome 76+、Edge 88+、Firefox 78+
- 脚本管理器:Tampermonkey(篡改猴)或 Violentmonkey
第二步:获取并安装脚本
git clone https://gitcode.com/GitHub_Trending/on/Online-disk-direct-link-download-assistant克隆仓库后,打开浏览器脚本管理器,将(改)网盘直链下载助手.user.js拖入或导入即可完成安装。脚本在document-start阶段运行,页面加载的第一时间就会注入按钮,无需等待。仓库config/目录下的ali.json、quark.json、tianyi.json等文件是各平台的配置备份,当脚本无法访问远程配置时会自动兜底调用。
第三步:基础使用流程
- 登录任意支持的网盘,进入文件列表页
- 勾选目标文件(支持多选与文件夹)
- 点击工具栏上新增的「API 下载」按钮
- 在弹出的下载窗口中选择出口:直接下载、增强下载、Aria2、IDM、比特彗星等
- 首次使用百度网盘时,按提示完成 OAuth2.0 授权,令牌会自动缓存
第四步:高频故障速查表
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 下载按钮未出现 | 脚本未加载或页面结构改版 | 刷新页面;检查脚本管理器是否已启用脚本 |
| 百度直链报 9019 | AccessToken 过期 | 重新触发授权流程获取新令牌 |
| 直链访问返回 403 | UA/Referer 与平台要求不符 | 优先使用「增强下载」,脚本会自动补全请求头 |
| 50MB 以上文件下载失败 | 浏览器直链限制 | 改用增强下载,或交给 Aria2/IDM |
| 文件名乱码或为空 | 平台不回报文件名 | 使用增强下载,或手动复制文件名 |
| 夸克/UC 无法获取链接 | 接口策略调整 | 升级到最新版本脚本 |
五、进阶与收束:把工具用出生产力
高级配置:Aria2 联动
在下载窗口中选择 Aria2 后,脚本会生成类似下面的命令,可直接粘贴到任意支持aria2c协议的环境:
aria2c "https://xxx.dlink.example" --out "电影.mkv" --header "User-Agent: pan.baidu.com"脚本同样支持 RPC 推送——配置好本地或远程的 Aria2 RPC 地址后,点一下按钮就能把任务直接丢给下载器,适合在服务器、NAS 等无图形界面环境批量取回文件。
第三方集成与社区贡献
脚本以油猴 API 为基础,天然兼容各类浏览器环境。项目提供 Issue 渠道收集 bug 与建议,开发者可从仓库中查看各网盘适配器的实现作为二次开发样板,提交 PR 时附上功能说明与测试用例即可。项目采用 AGPL-3.0 开源协议,欢迎社区共同维护。
合规边界:速度是平台给的,不是脚本"破"的
需要澄清一个常见误解:本项目获取的下载链接全部来自各网盘服务商公开的 API 接口,它不做任何限速破解,也不承诺加速。实际下载速度取决于服务商的带宽策略与你的网络环境。脚本的职责,是替那些不方便使用官方客户端的用户,走一条合法、克制的路径完成文件获取。使用时请尊重版权,仅下载有权访问的内容,并避免高频请求对服务器造成压力。
展望:直链工具的下一步
从更新日志看,项目保持着高频迭代:新增 IDM 客户端设置、优化链接缓存、适配百度分享页、增强下载支持多线程分片……可以预见的方向包括:AI 辅助选择最优下载策略、更智能的镜像节点调度、以及跨设备配置同步。工具会变,但「一个入口,九大网盘,把选择权还给用户」这件事,值得长期做下去。
【免费下载链接】Online-disk-direct-link-download-assistant一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸克网盘 / UC网盘 / 123云盘 八大网盘项目地址: https://gitcode.com/GitHub_Trending/on/Online-disk-direct-link-download-assistant
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考