LinkSwift+油猴脚本+Aria2:网盘不限速方案全解析
2026/9/15 22:23:10 网站建设 项目流程

我家里的宽带是千兆,平时下载 Steam 游戏能跑到 80MB/s 以上,但一到网盘场景就瞬间回到十年前——2GB 的项目压缩包,非会员下载速度稳定在 100KB/s 上下,偶尔飘到 300KB/s 都算惊喜。后来我把 LinkSwift 配合油猴脚本这一整套链路跑通之后,同样的文件直接从 100KB/s 拉到了 50MB/s 以上,基本贴着带宽上限跑。这篇文章就是把这套“网盘不限速方案”从原理到实操一步步拆开讲清楚,适合经常下大文件、需要备份分发资源、或者在团队里做资料流转的朋友。

LinkSwift 加上油猴脚本这两个词,很多人单独听过,但没把它们拼在一起用过。先说结论:这套方案的本质不是“破解网盘”,而是绕过网盘客户端的限速策略,把下载任务转移到真正支持多线程并发的下载器上。整个过程不涉及任何敏感工具,你只需要一个浏览器扩展、一个用户脚本管理器、一个开源下载器,外加几个配置步骤。

1. 网盘为什么限速,以及“不限速”到底是怎么实现的

要想理解这套方案,得先搞清楚网盘下载为什么慢。网盘服务商给普通用户的带宽资源是有限的,为了控制成本,他们会在多个层面限制下载速度:服务端限制单个客户端连接的速度,客户端本身也做了限速逻辑,非付费用户还会被分配到更低的调度优先级。这些策略叠加下来,你看到的 100KB/s,并不是网络不行,而是服务端和客户端联手“故意”压着速度。

传统浏览器下载是单连接下载,网盘网页版给到的也是临时生成的加密链接,限速生效得非常容易。要做突破,常见思路有三个方向:

  • 多线程分块下载:把一个文件切成多个区间段,同时建立多个连接下载不同部分的字节,最终合并成完整文件。下载器(如 Aria2、Motrix、IDM)都支持这种方式,单连接限速 100KB/s,开 16 线程就能到 1.6MB/s,开 64 线程就能接近宽带上限。
  • 获取真实直链:网盘页面里的下载按钮,背后其实是一个有有效期、有 IP 绑定的临时链接。如果能提取到这个直链,就可以丢给任何下载器去下载,而不必依赖限速严重的官方客户端。
  • 接管下载行为:浏览器默认下载器既不能多线程,也没法断点续传,我们需要把下载行为“无缝”转移到外部下载器上,LinkSwift 在链路里承担的就是这个角色。

这套组合拳打下来,核心逻辑就变成了:油猴脚本负责在网盘页面里自动解析出真实直链,LinkSwift 负责嗅探/接管下载动作,Aria2 或 Motrix 这类下载器负责多线程高速下载。三者各管一段,互不干扰。

这里要特别说明一下“直链”和“普通链接”的关系。网盘页面上那个下载按钮,你复制出来的通常是一串很长的带参数地址,里面有签名、时间戳、IP 限制参数。油猴脚本做的事情,就是把这些参数按照网盘的接口协议重新请求一次,换取一个更干净的、适合下载器使用的直链。整个过程都是调用的网盘官方接口,只是把网页端隐藏的逻辑显式化。

2. LinkSwift 到底是个什么工具:定位、安装与核心配置

2.1 先搞清楚 LinkSwift 在想什么

LinkSwift 是一个浏览器侧的下载辅助扩展,核心功能是接管页面里的下载链接并转发给外部下载器。它有点像大家熟知的 IDM 集成扩展,但更轻量,也更适合同国际化下载器配合使用。我用的 LinkSwift 版本面向 Chrome/Edge 内核浏览器,装好之后会在页面右下角或工具栏出现一个悬浮按钮,实时显示嗅探到的链接。

它能做的事,大致有这几类:

  • 链接嗅探:自动分析当前页面里的各种元素,识别出视频、压缩包、文档等文件链接,即使页面没有显式给出下载按钮,只要资源在页面的网络请求里出现过,就能被捕获。
  • 下载接管:当页面上触发了下载动作时,LinkSwift 会拦截浏览器的默认下载,询问你要不要交给外部下载器处理。
  • URL 转发与 RPC 对接:把最终链接通过 Aria2 JSON-RPC 接口推送到本地下载器,并自动带上你预设的请求头(UA、Referer、Cookie),这是很多下载器单独做不到的。

有人会问:既然有油猴脚本能解析直链,为什么还需要 LinkSwift?答案是两者处理环节不同。油猴脚本运行在页面 DOM 环境里,负责“解析和生成链接”;LinkSwift 运行在浏览器扩展层,负责“接收和转发下载任务”。少掉任何一环,链路都通不起来。

2.2 安装前的准备清单

在动手装 LinkSwift 之前,先把环境准备好,别等到配置到一半才发现缺东西:

项目要求说明
浏览器Chrome 90+ / Edge 90+ / Firefox 能装 Tampermonkey 的版本LinkSwift 主要适配 Chromium 内核,Firefox 也能用但行为略有差异
下载器Aria2 / Motrix / XDown 任一建议直接用 Motrix,因为它内置了 Aria2 并带图形界面,对新手友好
脚本管理器Tampermonkey 或 Violentmonkey用来承载油猴脚本,下文第三节详细讲
可用的网盘账号你自己有权限下载的文件账号确保有权限,别拿别人私有文件做实验

我自己用的是 Motrix,因为它的 RPC 监听端口默认就是 16800,Token 也是固定生成的,跟 LinkSwift 对接时几乎不需要额外设置。

2.3 安装与初始配置步骤

第一步,去扩展商店搜索 LinkSwift 安装。如果商店里搜不到官方版本,去项目 GitHub Releases 页面下载 zip,在浏览器扩展管理页打开“开发者模式”,选择“加载已解压的扩展程序”。这里有个小坑:GitHub 上有些分支版本是社区维护的,安装前看一下最近更新时间,超过一年没更新的基本可以放弃。

安装完成后,进入扩展的“设置”页面,重点配置两个地方:

一个是下载器对接参数。选择 Aria2 RPC 模式,填写 RPC 地址和 Token。以 Motrix 为例,它的默认地址是http://127.0.0.1:16800/jsonrpc,Token 可以在 Motrix 的“偏好设置 - 进阶设置 - Aria2 密钥”里直接复制。LinkSwift 会通过这个 RPC 接口把任务推给 Aria2。

另一个是请求头模板。很多网盘的直链对 Referer 和 UA 非常敏感,如果下载器发出的请求头不对,服务端会直接返回 403。LinkSwift 支持给不同站点配置不同的请求头模板,比如对某个网盘域名强制携带Referer: https://pan.xxx.com/和固定的 User-Agent。配置方式是:

# LinkSwift 请求头模板示例,加到扩展配置的 Headers Override 里 Referer: {网盘域名} User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36

保存之后,整个工具基座就算搭好了。这时候随便在一个有文件下载的页面试一下,浏览器再点下载按钮时,LinkSwift 应该会弹出接管提示,点“发送到下载器”就能看到 Motrix 开始跑任务。注意,这一步跑通之前,先别急着去找什么网盘脚本,否则后面出了问题很难判断是哪一环的锅。

2.4 LinkSwift 和其他下载辅助工具怎么选

很多人电脑上其实已经装了别的工具,这里给一份对比,方便你判断要不要换:

工具接管方式多线程RPC 对接适用场景
LinkSwift扩展嗅探+接管依赖外部下载器支持 Aria2 RPC网盘直链提取后的高速下载
Tampermonkey 脚本直连页面内跳转不支持不支持小文件下载,速度提升有限
IDM独立软件+扩展支持不开放 RPC通用网络资源下载,偏重网页视频音频
XDown独立软件支持支持 Aria2需要多协议下载的场合
Motrix独立软件支持原生 Aria2作为 LinkSwift 的后端下载器

不夸张地说,LinkSwift 在“配合油猴脚本实现网盘满速下载”这件事上的价值,不是因为它能下载,而是因为它把“脚本生成的直链”和“下载器的并发能力”中间那条最后一公里的路修通了。没有它,你拿到直链还得手动复制粘贴到 Motrix 里,有了它,一步到位。

3. 油猴脚本在整套方案里扮演的角色

3.1 油猴脚本到底是什么

“油猴脚本”严格说并不是一个工具,而是运行在 Tampermonkey 或 Violentmonkey 这类用户脚本管理器里的一段 JavaScript 代码。它能在特定网页加载后自动执行,修改页面结构、发起额外网络请求、弹窗提示,甚至下载文件。因为运行在浏览器提供的高度授权环境里,它能做到普通网页 JS 做不到的事情,比如跨域请求、保存数据、本地通知等。

在网盘加速这个场景里,油猴脚本通常负责这样几件事:

  • 在网盘文件页面自动识别文件列表,解析每个文件背后的真实下载接口。
  • 把解析结果以“下载”按钮或“复制直链”按钮的形式插到页面里。
  • 点击按钮后,将直链直接推给本地 RPC 服务(也就是 LinkSwift 对接的 Aria2),跳过浏览器下载。
  • 有些进阶脚本还会自动拼接多个分片 URL,实现更细粒度的并发控制。

3.2 一个最小可用脚本的核心结构

如果你对代码不敏感,直接去脚本市场装别人写好的就行。但为了避免出问题后两眼一抹黑,我建议至少看懂脚本的元信息和关键 API。

元信息块长这样:

// ==UserScript== // @name 网盘直链提取助手 // @namespace https://your-namespace.example // @version 1.2.0 // @description 自动解析网盘下载直链,并推送到本地 Aria2 下载器 // @match https://pan.example.com/* // @grant GM_xmlhttpRequest // @grant GM_download // @connect pan.example.com // @connect 127.0.0.1 // @run-at document-end // ==/UserScript==

这里面最关键的是@connect@grant@connect声明了脚本可以跨域请求哪些主机名,本地下载器的127.0.0.1必须写进去,否则脚本无法把直链推给 Aria2。@grant则声明了需要使用哪些油猴增强 API,GM_xmlhttpRequest用来发跨域请求,GM_download用来触发下载。

脚本主体逻辑一般分三步:

  1. 监听页面里的下载按钮点击事件,或者主动扫描文件列表,获得文件 ID 和文件名。
  2. GM_xmlhttpRequest请求网盘的解析接口,带上 Cookie 和其他参数,换取直链(JSON 返回)。
  3. 拿到直链后,调用GM_xmlhttpRequesthttp://127.0.0.1:16800/jsonrpc发一个 Aria2 RPC 请求,参数包含method: aria2.addUri,把下载任务挂到 Motrix 上。

最终的效果是:你在网页里点一下“高速下载”,Motrix 里立刻新增任务,并开始多线程拉取。

3.3 脚本该去哪装,以及怎么判断脚本是否靠谱

装脚本的渠道,最常见的是 GreasyFork(油猴中文网/脚本集散地)。搜索关键词可以用“网盘 直链”或“网盘 aria2”。但我说句实话,脚本市场的代码质量参差不齐,有些已经被网盘接口变动搞失效了,有些甚至夹带了广告、挖矿代码。判断脚本是否靠谱,建议看三个指标:

  • 安装量和更新时间:安装量过千、最近一个月内有更新的,基本是维护状态良好的脚本。
  • GitHub 开源托管:脚本详情页如果带有项目主页链接,能去 GitHub 看源码/issue,优先级高于匿名发布的脚本。
  • token 权限声明:如果脚本声明了奇怪的@connect域名(比如外部广告域名),或者请求了GM_setValue后向不知名 API 发送你的页面数据,直接弃用。

另外,重要提醒:装好脚本后,第一次使用时别急着点所有文件,先拿个小文件(几 MB 的 doc/pdf)试跑,确认日志输出和下载器接管都正常,再跑大文件。

4. 从零到满速:完整实操链路

4.1 第一步:装好三件套

三件套指的是:Tampermonkey 扩展、LinkSwift 扩展、Motrix 下载器。安装顺序无所谓,反正最后都要用到。装好后,浏览器右上角应该能看到 Tampermonkey 和 LinkSwift 的图标,Motrix 则需要在系统托盘/菜单栏常驻运行。

建议先启动 Motrix 并确认 RPC 服务已开启。Motrix 默认开启,但有些安装版会被安全软件拦截,检查方法是直接访问http://127.0.0.1:16800/jsonrpc,浏览器访问会返回一段 JSON 错误信息(因为没有 POST 数据),这反而说明服务存活。

4.2 第二步:把 LinkSwift 指向 Motrix

在 LinkSwift 设置里找到下载器配置:

  • 下载器类型选择:Aria2
  • RPC 地址:http://127.0.0.1:16800/jsonrpc
  • RPC Token:从 Motrix 的偏好设置里复制,一长串随机字符
  • 加密方式:Motrix 一般用 none,如果开了 TLS 就用 tls

保存后,LinkSwift 图标上会显示一个绿色状态提示“已连接到 Aria2”,这表示链路打通了一半。

4.3 第三步:安装并启用网盘用户脚本

去 GreasyFork 搜索适配目标网盘的脚本,安装后 Tampermonkey 图标上会出现一个红色角标。打开网盘文件页面,正常情况下脚本会在页面上插入一个额外的按钮或面板,比如“直链复制”“发送到 Aria2”。如果没有看到,按 F12 打开控制台,看有没有红色报错,多半是页面结构变动导致脚本功能没挂载上。

这里有几种情况需要区分:有的脚本只支持列目录页,不支持分享页;有的脚本需要在文件下载页面点选文件后才会显示按钮;还有的脚本第一次用会让你手动扫码或登录授权。这些提示一般会在页面顶部或 console 里打印出来,按提示操作即可。

4.4 第四步:实测下载并调优

选一个几百 MB 的文件,点脚本生成的“高速下载”按钮,然后立刻切到 Motrix 观察任务状态。正常情况下,任务会显示下载中,并且速度会分阶段上涨:启动 2-3 秒后从几百 KB/s 爬到几 MB/s,再过几秒稳定下来。

如果速度只有 1-2MB/s 就到顶了,先别急着怪网盘,优先查这几个参数:

  • 线程数:Motrix 的默认最大连接数是 16,有些网盘 / 直链服务器支持更高的并发,可以改成 32 或 64。改法在“偏好设置 - 进阶设置 - 最大连接数”。不是说 64 就一定更快,但值得试。
  • 是否走代理:如果 Motrix 设置了系统代理或代理插件,下载直链时可能绕路,反而拖慢速度。确认代理设置为“直连”或“不适用下载服务器”。
  • DHT 网络:BitTorrent 场景才需要 DHT,普通 HTTP 下载关不关无所谓,但如果下载器开了 WebRTC,可能影响连接效率,可以关掉。

调优之后重新下载同一个文件,速度通常会有明显改善。我自己实测的感受是:16 线程下有一个网盘大概能到 8MB/s,改成 32 线程后直接翻到 17MB/s,再高就触及服务器带宽上限了。

4.5 速度上不去的检查表

如果你按上面的步骤走了还是慢,逐项排查:

检查项判断方法常见原因
下载器 RPC 是否在线LinkSwift 图标状态Motrix 被关了或端口被占用
线程数是否够Motrix 任务属性看并发默认 16 对部分大文件不够
请求头带没带 Cookie下载任务右键复制链接看 curlCookie 过期,重新在网盘登录即可
直链是否失败Motrix 任务报错 403/410直链有效期过了,回页面重新解析
网络带宽是否饱和同时测一个全速 HTTP 资源本地网络本身有限速
服务端限速切换网盘其他文件测试该网盘对全部直链都限速,换存储方案

5. 踩坑记录:从脚本失效到任务失败,完整排查链路

5.1 场景一:脚本突然不弹按钮了

有一天打开网盘页面,发现脚本插入的按钮消失了,刷新也没用。这基本可以断定:网盘页面结构或者接口变了。网盘产品为了反自动化,经常调整页面 DOM 和接口参数,脚本不会立刻跟上。

排查链路:

  1. 打开浏览器控制台,看有没有红色的 JS 报错,比如Cannot read properties of undefined,说明脚本在期望某个 DOM 节点时没找到,崩了。
  2. 打开 Tampermonkey 的脚本状态页,确认脚本被启用了,且“已匹配页面”里确实匹配当前 URL。
  3. 去 GreasyFork 该脚本的讨论区,看最近有没有人反馈同样问题,以及有没有新版本。
  4. 如果脚本长时间没更新,就找功能相近的替代脚本。

这一步最耗时间的是调试脚本和页面之间的兼容问题。如果你只是使用者,不打算自己改代码,最务实的做法就是用站内搜索找到维护频率最高的脚本,而不是自己硬扛。

5.2 场景二:脚本按钮能出来,但点了没反应

这种情况大概是脚本解析接口时没有拿到直链,常见原因有两个:

  • Cookie 没传对。部分脚本依赖你登录网盘后的 Cookie,如果你的登录态过期,解析接口会返回未授权。解决方法是重新刷新网盘页面,确认账号还是登录状态,再重新解析。
  • 跨域请求被拦截。脚本@connect里没有包含网盘接口域名,或者没有包含127.0.0.1,导致 GM_xmlhttpRequest 请求被浏览器拒绝。检查脚本头部@connect列表,把缺失的域名加上。

排除方式:在控制台手动执行一次解析函数(如果你看得懂日志),看脚本打出的file_idurl是什么。正常情况下,日志会打出一个以 http 开头的直链;如果打印的是 error 对象或空串,问题就在请求环节。

5.3 场景三:任务已经推给 Motrix,但一直报 403

这是直链下载里最常见的问题。直链虽然能解析出来,但服务端会校验请求来源,最常见的限制就是 Referer 和 User-Agent。之前说过,在 LinkSwift 的请求头配置里给网盘域名加对应的 Referer 和 UA,能解决 80% 的 403。

如果加了还不行,看 Motrix 的任务日志里具体返回码:

  • 403:防盗链拒绝。检查请求头。
  • 401:认证失败。直链绑定了 IP 或 Cookie,尝试重新解析。
  • 416:请求的字节范围超出文件大小。通常是下载器带着错误的 Range 发请求,清掉任务重新解析即可。
  • 404:直链路径已失效。回网盘页面重新点解析按钮。

5.4 场景四:速度还是低,但下载器没有报错

这种“软故障”最磨人。任务在下载器里正常跑,速度就是上不去。我的排查顺序是:

  1. 先用浏览器自带下载从小文件试一下,看原始网页下载速度是不是本身就很低。
  2. 再换一个不同网盘的直链试试,判断是服务端限速还是下载器配置问题。
  3. 最后调大线程数、更换 UA 重新下载。

有一次我遇到一个网盘,所有线程加起来只能跑 2MB/s,我当时以为是 LinkSwift 配置问题,后来测试同一个直链用 curl 单连接也只能跑 1.5MB/s,才明白是服务端对直链的带宽分配就是这么多,不是客户端能突破的。这种情况下,合理的选择是压缩包分包(比如用 7z 分卷,单卷不超过 1GB),减少单文件体积,或者换用更支持高速分发的存储方案。

6. 合规边界:哪些能做,哪些最好别碰

6.1 做这套方案时,时刻记住“权限”二字

LinkSwift + 油猴脚本提供的,是一种“技术能力”。能力本身是中性的,用在哪里决定了它的性质。我平时用这套方案,只针对两类文件:一是自己上传到网盘、需要备份下来的文件;二是别人明确公开分享、允许下载的文件。这两类文件,我用多线程下载器去拉速度,没有任何问题。

但如果你在考虑用它去下载没有授权的资源,那就得冷静思考。类似于:借助脚本去批量拉取他人私有文件、绕过付费机制获取付费文件,都是越界行为。轻则账号被封,重则面临法律风险。我不建议任何人把这类方案当成“免费会员替代品”来用。

另外,网盘服务的条款里通常写明了“不得以非官方客户端获取资源”。严格来说,使用脚本提取直链下载,在灰色地带。所以我的建议是:只做小范围、自己账号、合法授权的下载,不要拿它去做下载站、批量搬运、商业分发。这样既保护自己,也不给脚本作者和工具开发者惹麻烦。

6.2 如果需要长期高速分发,直接换思路

如果你经常要分享几 GB 的安装包或素材给团队,与其每次都在网盘限速里挣扎,不如直接换用为分发而生的方案:

  • 对象存储 + CDN:把压缩包传到存储桶,开启公读,拿到直链给大家下载,带宽不够就加 CDN 加速,这才是真正的“满速”。
  • 内网穿透 + 自建 HTTP 目录:适合小团队,自己机器上用 nginx 开个目录,配好带宽限制,下载速度完全可控。
  • 基于 P2P 的分享方案:比如用魔法分发类工具,通过多节点互相加速,分享的人越多,下载越快。
  • 压缩分包 + 多盘并行:如果一定得用网盘,那就用 7-Zip 分卷,拆成 500MB 一个的小包,多个网盘同时下载,再把分卷合并。这个办法土,但稳定。

我这套 LinkSwift + 油猴脚本的方案,本质上是在“现有网盘限制”前提下最大程度榨干速度的务实做法。但它不是银弹。真到了商用或者大规模分发场景,时间成本比工具成本贵多了,花钱买个正经的 CDN 直链反而是最划算的路。

最后再分享一个我自己总结的小技巧:每次升级浏览器版本后,如果发现 LinkSwift 或者油猴脚本行为异常,第一反应不是重装,而是去看这两个扩展的更新日志和 GitHub issue。浏览器从 Chrome 120 升到 124 之后,扩展权限机制有过一次大调整,不少旧版脚本/扩展的@connect和跨域逻辑会失效,直接弃用旧版换成新版本通常就能解决。工具链这种东西,只有保持版本同步,才能长期稳定地用下去。

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

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

立即咨询