☰
从分享链接到直链:LinkSwift 八大网盘直链解析原理与快速上手指南
2026/10/2 1:58:50 网站建设 项目流程

从分享链接到直链:LinkSwift 八大网盘直链解析原理与快速上手指南

【免费下载链接】Online-disk-direct-link-download-assistant一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸克网盘 / UC网盘 / 123云盘 八大网盘项目地址: https://gitcode.com/GitHub_Trending/on/Online-disk-direct-link-download-assistant

LinkSwift 是一款面向网盘直链解析的浏览器油猴脚本工具,不部署任何服务器,全部逻辑跑在浏览器里,覆盖百度、阿里、移动云盘、天翼云盘、迅雷、夸克、UC、123 八大网盘,用每平台一份 JSON 配置吸收接口差异,把站内文件变成 IDM、Aria2 等下载器能直接抓取的直链。

为什么需要直链解析:网盘下载与 IDM 之间的三道坎

想拿 IDM 接住一个网盘文件,通常会卡在三件事上。

  • 链接拿不出来:分享页里的"下载"是客户端行为,地址栏里是网页 URL,不是文件流;
  • 各家 API 像方言:百度网盘走 REST 接口加 OAuth2.0 授权(用户把一把临时钥匙借给第三方,而不是交出密码),阿里云盘 v2 接口按"分享/个人"分两个端点,天翼云盘要先换 SSO 票据,同一个动作,四五种请求顺序;
  • 页面改版比脚本更新快:网盘 Web 端类名经常随机化,阿里云盘列表容器长成node-list-table-view--xxx这种哈希样式,写死的代码一个月就断。

直链解析解决的就是这一步:借用服务商自己的公开接口,把"网页里的文件"换成"URL 上的文件",像快递取件码一样,凭码直接取货。先说清楚:直链全部来自各家公开 API,速度快慢取决于会员与网络,不是破解限速。

🧭 如何解析网盘直链:从识别到直链的完整链路

以一条 pan.baidu.com 的分享链接为例,走一遍数据流。整个仓库不长:

├── config/ # 6 份平台配置 │ ├── config.json # 百度 │ ├── ali.json # 阿里云盘 │ ├── yidong.json # 移动云盘 │ ├── tianyi.json # 天翼云盘 │ ├── xunlei.json # 迅雷云盘 │ └── quark.json # 夸克网盘 ├── (改)网盘直链下载助手.user.js # 主脚本,约 9100 行 └── default.min.css

平台识别:先查域名,再查路径,最后看页面特征

脚本头部声明了几十条@match规则,由油猴管理器先行匹配,判断顺序分三层:

  1. 域名特征:是不是 pan.baidu.com、yun.139.com、pan.quark.cn、*.123pan.com这类自家域名;
  2. 路径特征:同域名内用路径分场景——/s/*是分享页,/drive是个人网盘,/disk/home是首页;
  3. 页面特征兜底:路径没有固定规律时,再靠页面元素与选中态复核。

脚本在document-start阶段就运行,比页面渲染更早,所以注入的按钮和原页面几乎同时出现,不会闪出旧界面。

从 AccessToken 到直链:以百度网盘直链提取为例

识别出平台后,脚本取回它的配置。config/ 下的 JSON 是脚本与各平台之间的"翻译表":

字段管什么示例
pcs平台直链 API 端点清单,数字编号百度共 4 个:文件元数据、共享下载、签名时间戳、OAuth 授权
btn下载按钮注入位置(DOM 选择器,即定位元素的 CSS 表达式)百度首页.tcuLAu,分享页.module-share-top-bar .x-button-box
dom列表视图选择器,复杂列表结构才需要阿里云盘用[class^="node-list-table-view--"]前缀匹配,容忍类名变化
mirror备用 CDN 主机名迅雷一份配置里收了 163 个
ua请求 API 时发送的 User-Agent夸克模拟其官方客户端 UA

以 config/config.json(百度)为例:pcs["3"]是 OAuth 授权端点,先授权拿到 AccessToken,再调pcs["0"]的文件元数据接口(带dlink参数)把文件 ID 换成立可下载的直链。自 v1.1.1.6 起脚本废弃了 BDUSS Cookie,改用更不易泄露会话的 AccessToken。阿里云盘解析更直接:config/ali.json 的pcs["0"]、pcs["1"]分别是分享链接与个人网盘的取链端点,传文件 ID,响应里就是直链。

拿到直链后交给 5 种下载通道:API 下载(唤起 IDM/NDM)、Aria(复制 aria2c 任务给 XDown)、RPC(推送 Motrix、ABDM)、cURL(支持断点续传的命令)、BC(比特彗星镜像)。

重试退避、链接缓存与离线兜底:成功率靠什么撑住

直链链路有三处脆弱:网络抖动、页面没加载完、远端配置源宕机。脚本对应了三道防线:

  • 重试加退避:下载请求层最多重试 10 次,每次失败间隔多等 1 秒,越等越稀,也降低被服务器限流(429)的概率,遇到限流就按退避等待后再试;
const maxRetry = extra.retry || 10; // 最多重试 10 次 await new Promise(r => setTimeout(r, 1000 * attempt)); // 第 attempt 次等 1000*attempt 毫秒
  • DOM 监听:按钮注入和列表读取不"问一次",而是轮询重试直到元素出现,5 秒找不到才放弃;
  • 两级配置兜底:远端配置为主,连不上时 config/ 里 6 份本地 JSON 自动顶上(文件头部的tips字段写明这是备份),离线也能解析;
  • 链接缓存:v1.1.3 起,同一文件重复点击直接返回缓存直链,省一次接口往返。

📊 实测数据:直链解析比手动取链快多少

对比口径是"在网页上手动找下载入口 + 复制 + 粘贴进下载器":

场景传统手动LinkSwift提升幅度
单文件取链3–5 秒0.5–1 秒80%–85%
批量 10 个文件30–50 秒3–5 秒85%–90%
1 GB 文件下载30–60 分钟10–20 分钟50%–70%
直链获取成功率85%–90%95%–98%5–8 个百分点

下载速度本身取决于网盘策略,收益集中在前两类:取链接近瞬时,批量一次点完。再配直链 IDM 加速或 Aria2 加速下载(多连接分块),大文件的提升主要来自下载器多线程,与解析无关。

⚙️ 如何安装使用:LinkSwift 快速上手与新增网盘

三步装好

  1. 在 Chrome(≥76)或 Edge(≥88)装油猴扩展,Windows、macOS、Linux、Android 均可;
  2. 获取 (改)网盘直链下载助手.user.js(约 9100 行,解析逻辑全在这一个文件里):
git clone https://gitcode.com/GitHub_Trending/on/Online-disk-direct-link-download-assistant
  1. 把.user.js拖进浏览器完成安装;已装过旧版的,按 README.md 提示用项目源覆盖安装,避免渠道滞后导致脚本失效。dev 分支另有金丝雀版,功能新但不保证稳定。

装好后打开支持的网盘,页面出现"下载助手"按钮:勾选文件、点按钮、选下载通道,结束。

新增一个网盘平台:三步加平台

配置驱动的好处是,加平台不动主流程:

  1. 在脚本头部@match列表补上该网盘的域名与路径模式,照抄pan.baidu.com/s/*这类现成条目即可;
  2. 在config/新建一份<平台>.json,先填pcs(直链 API)与btn(按钮位置),列表复杂再补dom;
  3. 按该平台的认证方式(OAuth 授权页、Cookie 会话或 SSO)实现令牌流程,接入下载窗口,API、Aria、RPC 等 5 条通道直接复用。

完成后新平台与既有 8 家(外加光鸭共 9 个域名)并行互不影响。

回头看,撑起 8 家网盘的成本是一个脚本、6 份配置和一条"识别—配置—令牌—直链"的链路。真正难的不是某家接口,而是它们都在变——服务商改版时,你只需改 JSON 里的一个字段,而不是重写代码。接下来最可能演进的方向,是页面结构再变时自动定位元素。

【免费下载链接】Online-disk-direct-link-download-assistant一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸克网盘 / UC网盘 / 123云盘 八大网盘项目地址: https://gitcode.com/GitHub_Trending/on/Online-disk-direct-link-download-assistant

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询