Compare commits

..

2 Commits
dev ... v1.1.3

Author SHA1 Message Date
Hmjz100
9fb5b9c7a0 合并 v1.1.3 #372 从 hmjz100/dev
爆竹声中一岁除,春风送暖入屠苏。LinkSwift 迎来功能更新:
1、新增 - IDM 客户端设置;
2、优化 - 链接缓存逻辑;
3、适配 - 百度网盘分享页。
2026-02-16 23:58:16 +08:00
Hmjz100
e203fe7395 v1.1.2.1
1、新增 - API 下载的推送到 IDM 功能;(感谢 @Night-stars-1 帮助)
2、修复 - 复制 Aria2、cURL 命令行错误。
2025-12-28 23:51:43 +08:00
9 changed files with 4478 additions and 5396 deletions

View File

@@ -24,12 +24,13 @@ body:
我已确认阅读并同意 [AGPL-3.0 第 16 条](https://www.gnu.org/licenses/agpl-3.0.txt#:~:text=16.%20Limitation%20of%20Liability.) 。
无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。
required: true
- label: 我已修改上方的 “请修改我为您的问题”。
required: true
- label: 我已确认是此脚本的问题,而不是其他原因(例如网络、脚本依赖或操作)。
required: true
- label: 我已安装金丝雀版,并且确认金丝雀版未修复此问题。
- label: 我已查找过其他议题,确认没有重复的疑问或讨论。
- label: 我已安装 [金丝雀版](https://github.com/hmjz100/LinkSwift/raw/dev/(改)网盘直链下载助手.user.js) ,并且确认金丝雀版未修复此问题。
required: true
- label: 我已修改上方标题的 “请修改我为您的问题” 为自己的问题
- label: 我已查找过其他议题,确认没有重复的疑问或讨论
required: true
- type: dropdown
@@ -88,7 +89,7 @@ body:
id: userscript-manager-version
attributes:
label: 用户脚本管理器版本
description: 使用的用户脚本管理器版本?(如是 Via 请输入浏览器版本)
description: 使用的用户脚本管理器版本?
validations:
required: true

View File

@@ -5,33 +5,6 @@ labels: ["enhancement/新功能"]
assignees:
- hmjz100
body:
- type: markdown
attributes:
value: |
感谢您花时间填写此报告。
- type: checkboxes
attributes:
label: 确认
description: 您必须确认、同意并勾选以下事项。
options:
- label: |
我已确认阅读并同意 [AGPL-3.0 第 15 条](https://www.gnu.org/licenses/agpl-3.0.txt#:~:text=15.%20Disclaimer%20of%20Warranty.) 。
本项目不提供任何明示或暗示的担保,使用风险由您自行承担。
required: true
- label: |
我已确认阅读并同意 [AGPL-3.0 第 16 条](https://www.gnu.org/licenses/agpl-3.0.txt#:~:text=16.%20Limitation%20of%20Liability.) 。
无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。
required: true
- label: 我已确认此脚本不存在此功能,而不是因其他原因(例如网络、脚本依赖或操作)造成的无功能。
required: true
- label: 我已安装金丝雀版,并且确认金丝雀版未实现此功能。
required: true
- label: 我已查找过其他议题,确认没有重复的功能请求。
required: true
- label: 我已修改上方标题的 “请修改我为您的问题” 为自己的问题。
required: true
- type: textarea
id: issue-today
attributes:

View File

@@ -1,36 +1,34 @@
# 贡献指南
# 代码贡献指南
## 开发环境
编者的环境如下:
- 开发工具
Visual Studio Code、TRAE CN、Github Desktop、Git
- 编码程序
Visual Studio Code、Github Desktop
- AI 辅助(按常用排序,纯聊天及古法CV,无助理)
Google Gemini网页、TRAE CN 包含的模型IDE 内聊天)、阿里 通义千问、深度求索 DeepSeek、OpenAI ChatGPT、Microsoft Copilot
- AI 辅助(按常用排序,纯网页聊天,无助理)
Google/Gemini、阿里/通义千问、深度求索/DeepSeek、OpenAI/ChatGPT、Microsoft/Copilot
- 浏览器(按常用排序,除第一位外不常访问)
Microsoft Edge > Supermium > 百分浏览器
Microsoft Edge > 百分浏览器
- 浏览器插件(有冲突时会适配)
脚本管理器、uBlock Origin、ZeroOmega、Dark Reader、Header Editor
- 脚本管理器(按常用排序,除第一位外不常访问)
暴力猴 > 脚本猫 > Via > 篡改猴
暴力猴 > 脚本猫 > 篡改猴 > Via
- 使用的网盘
脚本中有提到的均在使用,但不常用
脚本中有提到的均在使用,但不常用
## 开发指南
首先,克隆本项目的 dev 分支……然后开始编码……
首先,克隆本项目的 dev 分支……
为 base 编写的函数记得署上自己的帐号名/昵称,并加上 description……
不需要修改脚本版本,只需要做好自己想做的功能即可……
余下待编。总之编好后提交拉取请求 **到 dev 分支** 即可。
余下待编。总之编好后 PR **提交到 dev 分支**即可。
---

3
.gitignore vendored
View File

@@ -1,3 +0,0 @@
temp/
node_modules
package-lock.json

View File

@@ -1,64 +1,38 @@
<details>
<summary>【置顶】【Q&A】为啥本脚本不能破解百度网盘限速其他脚本又能</summary>
<p><br/>在本站,您可能见过某些宣称限制下载” “不限速解析” “无视黑号” 的脚本,安装后,却又要求完成特定【任务】才能获取【加速下载链接】</p>
<p>这些脚本究竟是如何实现的?为何本脚本无法做到?</p>
<p>主流网盘对非会员用户的限速机制,<strong>是由客户端与服务端协同控制实现的</strong></p>
<p>因此,在以前,即便有用 Cheat Engine 修改客户端倍速等 “邪修” 方法,绕过了本地限速。那么也会被服务端检测到,导致直接 “黑号”。</p>
<p>由此,我们可得结论:<strong>仅靠前端脚本是无法突破网盘的限速机制的</strong></p>
<p>
既然纯前端无法突破限速,那那些脚本又是如何 “做到” 的?<br/>
——答案其实很简单:<strong>它们并非真正 “破解” 了限速,而是通过后端服务器 “借用” 了他人会员权限</strong><br/>
无论是脚本,还是一些 “解析站”,底层逻辑如出一辙,<strong>本质上都是 “换汤不换药”</strong>
</p>
<p>它们的工作原理总结如下:</p>
<ol>
<li>
<strong>上传</strong>
<ol>
<li>(你勾选了某个文件,并选择了获取下载链接)</li>
<li>然后,脚本会调用网盘的 API无感 “帮” 你生成文件的分享链接</li>
<li>在解析站中,这一步一般是由你自行完成。</li>
</ol>
</li>
<li>
<strong>中转</strong>
<ol>
<li>脚本将分享链接发送至作者的第三方服务器</li>
<li>服务器判定权限不足,要求扫码关注公众号进小程序看广告完成任务<br/>(除了公众号外,还可能是要求安装某视频平台 APP 完成任务)</li>
<li>历尽千辛万苦,完成了任务后,服务器会从作者自建的会员账号 Cookie 池中选取一个可用的账号<br/>(类似于 ChatGPT 共享账号)</li>
</ol>
</li>
<li>
<strong>下载</strong>
<ol>
<li>服务器用选中的会员账号,调用网盘的 API转存你的文件获取文件的不限速直链</li>
<li>直链被返回给脚本,进行后续的下载操作<br/>(在此步中,返回的链接一般会被脚本直接发送到下载器)</li>
</ol>
</li>
<p>在本站可能见过一些脚本,标着限制下载” “不限速解析” “无视黑号” ,实则安装后又需要完成特定【任务】才【加速下载链接】的脚本。<br/>它们是怎么做到的?为什么我这脚本却做不到?</p>
<p>主流网盘对非会员用户的限速是由客户端与服务端共同控制的。<br/>所以,即使有通过 CE 修改客户端速度的 “歪门邪道” 绕过客户端限速,那么也会被服务端检测到直接黑号。<br/>这样,我们就得出了【仅靠前端脚本无法绕过限速机制】这一结论。</p>
<p>那些脚本的工作原理大致如下:</p>
<ol>
<li>首先,脚本会先调用官方 API 接口,无感 “帮” 你生成文件的分享链接;</li>
<li>然后,脚本将生成的分享链接发到作者的服务器;</li>
<li>之后,服务器返回权限不足或者别的啥的提示,脚本显示公众号或小程序的二维码;</li>
<li>此时,脚本在完成任务前会不停向服务器确认任务是否完成;</li>
<li>扫码关注公众号或看广告后,服务器检测到完成了,然后会从作者购买的会员号 Cookie 池中选一个账号;(类似 ChatGPT 共享账号)</li>
<li>然后服务器调用官方 API 接口,用选出的账号转存你的文件,并调用官方 API 接口获取直链;</li>
<li>最后,把会员账号的不限速下载链接返回给脚本,脚本一般会将下载链接发送到指定的下载器中。(这样能够方便很多不会操作的用户)</li>
</ol>
<p>简言之,这类工具本质上是<strong>借用他人会员权限</strong>来实现的不限速。</p>
<p>也就是说,这些工具其实是【借用的】别人的会员权限来实现不限速。</p>
<p>但使用这类服务时,你也可能面临以下风险:</p>
<ol>
<li><strong>账号被封</strong><br/>由于依赖分享链接实现功能,如果你分享的文件曾被举报过,可能会导致对方账号和你的账号一同被封禁。</li>
<li><strong>隐私泄露</strong><br/>如果分享的是私密资源,第三方也有可能看到你的文件内容(懂的都懂,比如 “冠希哥” 事件)</li>
<li><strong>服务失效</strong><br/>一旦这些工具背后的会员账号被平台批量封禁(业内俗称 “烧号”),而作者停止维护了,这些工具就彻底失效。</li>
</ol>
<p>而本脚本与它们的区别在于:</p>
<ol>
<li><strong>无第三方</strong><br/>不会访问也没有任何第三方服务器,杜绝隐私泄露与中间环节</li>
<li><strong>直连官方</strong><br/>仅调用网盘服务 API 接口获取直链,支持自由选择下载器</li>
<li><strong>权限可控</strong><br/>下载速度完全取决于您自身账号的权限(<strong>非会员仍会被限速</strong></li>
</ol>
<p>若您希望获得更快的下载速度,建议安装网盘官方客户端,通过贡献上行带宽换取下载加速,这在一定程度上能够帮助平台降低存储分发成本。</p>
<ul>
<li>账号 - 由于依赖分享链接实现功能,如果你分享的文件曾被举报过,可能会导致对方账号和你的账号一同被封禁。</li>
<li>隐私 - 如果分享的是私密资源,第三方也有可能看到你的文件内容(懂的都懂,比如 “冠希哥” 事件)</li>
<li>依赖 - 一旦这些工具背后的会员账号被平台批量封禁(业内俗称 “烧号”),而作者停止维护工具就彻底失效。</li>
</ul>
<p>而这脚本,不会访问任何第三方服务器,<br/>只会通过调用网盘的官方接口来获取对应文件的下载直链,并且允许您选择您喜欢的下载器用于下载直链。</p>
<p>所以,您通过直链能获得的下载速度,完全取决于您自己账号的权限。<br/>如果你不是会员,下载依然会被限速。</p>
<p>如果你希望获得更快的下载速度,也可以尝试安装网盘官方客户端,把你的机子变成 PCDN用上传换下载速度为他们省点存储经费。</p>
</details>
<center>
<p>“出淤泥而不染,濯清涟而不妖”</p>
<hr>
<p>
搭配使用,效果更佳!👋扩展脚本
<br/>
<a href="https://scriptcat.org/script-show-page/2385" target="_blank">123 云盘会员青春版</a> | <a href="https://scriptcat.org/script-show-page/2236" target="_blank">百度网盘会员青春版</a> | <a href="https://scriptcat.org/script-show-page/2470" target="_blank">阿里云盘会员青春版</a>
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</p>
<p>
<img alt="Github Stargazers" src="https://img.shields.io/github/stars/hmjz100/LinkSwift?label=星标&logo=github&logoColor=white&labelColor=black&color=gold&style=for-the-badge&cacheSeconds=10">
<img alt="Github Forks" src="https://img.shields.io/github/forks/hmjz100/LinkSwift?label=复刻&logo=github&logoColor=white&labelColor=black&color=grey&style=for-the-badge&cacheSeconds=10">
@@ -92,11 +66,11 @@
<img src="https://starchart.cc/hmjz100/LinkSwift.svg?variant=adaptive&amp;line=%23574ab8" alt="Starchart"><br/>Github 星标历史
</center>
#### 反馈
#### 卑微的小标题
如果喜欢的话还请留个 [好评](https://scriptcat.org/zh-CN/script-show-page/1604/comment) 和 [星标](https://github.com/hmjz100/LinkSwift) 哦\~或者随便给脚本评个分也行的(>\_<),还可以来[看看我的其他脚本!](https://scriptcat.org/users/114812)
这个脚本只有一个人在修改\~如果喜欢的话还请留个 [好评](https://scriptcat.org/zh-CN/script-show-page/1604/comment) 和 [星标](https://github.com/hmjz100/LinkSwift) 哦\~或者随便给脚本评个分也行的(>\_<),还可以来[看看我的其他脚本!](https://scriptcat.org/users/114812)
* 为确保高效处理反馈,如有 Bug 等问题请[前往 Github 发议题反馈](https://github.com/hmjz100/LinkSwift/issues),于本平台提交的反馈将不会被受理。
* 如有 bug 等问题请前往 Github 发 [issues 反馈](https://github.com/hmjz100/LinkSwift/issues)
***

View File

@@ -25,13 +25,10 @@
<img src="https://img.shields.io/badge/Google_Chrome-≥76.0-yellow.svg?style=for-the-badge" alt="Google Chrome-≥76.0">
<img src="https://img.shields.io/badge/Microsoft_Edge-≥88.0-blue.svg?style=for-the-badge" alt="Microsoft Edge-≥88.0">
<img src="https://img.shields.io/badge/支持平台-Windows_|_Mac_|_Linux_|_Android-blueviolet.svg?style=for-the-badge" alt="支持平台">
<br/>
<img alt="Starchart" src="https://starchart.cc/hmjz100/LinkSwift.svg?variant=adaptive&line=%23574ab8">
</p>
## 介绍
支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 光鸭云盘 / 夸克网盘 / UC网盘 / 123云盘 九大网盘
相比较原脚本,增加了更多功能~
## 安装
根据需要选择合适的源,点击链接即可安装
@@ -42,6 +39,7 @@
#### 正式版
- Github 国际: [hmjz100/LinkSwift/(改)网盘直链下载助手.user.js](https://github.com/hmjz100/LinkSwift/raw/main/(改)网盘直链下载助手.user.js)
- OpenUserJS 国际(更新不及时): [hmjz100/LinkSwift.user.js](https://openuserjs.org/install/hmjz100/LinkSwift.user.js)
- Gitee 国内: [hmjz100/LinkSwift/(改)网盘直链下载助手.user.js](https://gitee.com/hmjz100/LinkSwift/raw/main/(改)网盘直链下载助手.user.js)
- 脚本猫 国内: [hmjz100/1604/LinkSwift.user.js](https://scriptcat.org/scripts/code/1604/LinkSwift.user.js)
#### 金丝雀版
@@ -49,22 +47,28 @@
- Github 国际: [hmjz100/LinkSwift/(改)网盘直链下载助手.user.js](https://github.com/hmjz100/LinkSwift/raw/dev/(改)网盘直链下载助手.user.js)
### (改)百度网盘会员青春版
迁移到新仓库啦~ <a href="https://github.com/hmjz100/BaiduNetDiskYouthMember#安装">跳转到仓库</a>
### 123 云盘会员青春版
<a href="https://github.com/hmjz100/123panYouthMember#安装">跳转到仓库</a>
## 说明
> [!IMPORTANT]
> 本项目所获取的下载链接均基于各大网盘服务商公开的 API 接口获取。
> 项目未以任何形式承诺、宣传或实现对网盘限速机制、功能的破解。
>
> 若在实际使用过程中获得较快的下载速度,通常系由于服务商接口策略、用户本地网络环境或服务商阶段性下发的带宽限制调整所致,
>
> 若在实际使用过程中获得较快的下载速度,通常系平台策略差异、网络环境或服务商阶段性调整所致,
> 请勿将其误解为本项目具备破解限速的能力或提供相应服务。
> [!IMPORTANT]
> 本项目始终遵循合规与克制的原则,坚持技术中立,不触及、不损害任何网盘服务商的核心利益,
> 本项目始终遵循合规与克制的原则,不触及、不损害任何网盘服务商的核心利益,
> 仅为协助无法或不便使用官方客户端的用户实现合法的文件下载需求。
>
>
> 任何第三方在推广、转载或介绍本项目过程中所作出的夸大、误导性宣传*,均不代表本项目立场。
> 由此产生的一切后果与责任,与本项目无关,须由相关行为主体自行承担。
> *(包括但不限于 “加速下载”“速度起飞”“限速破解” 等表述)
> *(包括但不限于 “加速下载”“速度起飞” 等表述)
基于[【网盘直链下载助手】](https://www.baiduyun.wiki/install.html)修改
- 原作者: [油小猴](https://www.youxiaohou.com/)
@@ -72,10 +76,14 @@
- 本脚本发布至脚本猫: [https://scriptcat.org/script-show-page/1604](https://scriptcat.org/script-show-page/1604)
- 还有 OpenUserJS: [https://openuserjs.org/scripts/hmjz100/LinkSwift](https://openuserjs.org/scripts/hmjz100/LinkSwift)
## 简介
支持 百度网盘/阿里云盘/中国移动云盘/天翼云盘/迅雷云盘/夸克网盘/UC网盘/123云盘 八大网盘,相比较原脚本,增加了更多功能~
#### 卑微的小标题
~~这个脚本只有一个人在修改\~~~ 如果喜欢的话还请留个 Star 哦\~
- 为确保高效处理反馈,如有 Bug 等问题请在此平台[发布议题反馈](https://github.com/hmjz100/LinkSwift/issues),其余平台的反馈将不会被受理。
- 如有 bug 等问题请在这发[议题反馈](https://github.com/hmjz100/LinkSwift/issues)
## 贡献者
@@ -85,18 +93,16 @@
<img src="https://contrib.rocks/image?repo=hmjz100/LinkSwift" />
</a>
## 版本号
正式版v1.1.3
测试版:v1.1.4
## 版本号
v1.1.3基于原版 v6.2.7
本脚本目前仅在 Github、Gitee、脚本猫脚本站 与 OpenUserJS 发布;
如果您是在其他渠道获取到本脚本的,安装后所带来的问题开发者概不负责。
如果您是在其他渠道获取到本脚本的,安装后所带来的问题者概不负责。
## 更新日志
| 版本号 | 创建日期 | 更新日志 |
| -------- | -------- | -------- |
| 1.1.4 | 2026年09月09日 | (测试版,非最终品质)<br/>残暑未消风先快,一叶轻舟过万重。🍂🥮<br/>告别了繁杂与沉闷LinkSwift 带来以下更新:<br/>1、新增 - 支持光鸭云盘;<br/>2、适配 - 变来变去的 123 云盘;<br/>3、优化 - 网络请求头标准化;<br/>4、优化 - 调样式,改类名,优逻辑;<br/>5、优化 - 使用 eslint 处理与检查脚本代码问题;<br/>6、优化 - 夸克网盘 Cookie 传递;<br/>(感谢 <a href="https://github.com/kwkvh" target="_blank">kwkvh</a> 提供的想法)<br/>7、修复 - 迅雷云盘样式调整导致脚本弹窗异常变大;<br/>8、修复 - 推送到 ABDM 下载器实际成功却显示失败。 |
| 1.1.3 | 2026年02月16日 | LinkSwift 开发者在此祝您新春快乐!<br/>爆竹声中一岁除春风送暖入屠苏。LinkSwift 迎来功能更新:<br/>1、新增 - IDM 客户端设置;<br/>2、优化 - 链接缓存、浮动提示框;<br/>3、适配 - 百度网盘分享页。 |
| 1.1.2.1 | 2025年12月28日 | 1、新增 - API 下载的推送到 IDM 功能;<br/>(感谢 <a href="https://github.com/Night-stars-1" target="_blank">Night Stars</a> 的帮助)<br/>2、修复 - 复制 Aria2、cURL 命令行错误。 |
| 1.1.2 | 2025年12月26日 | 1、适配 - 123 云盘新策略;<br/>2、适配 - 夸克、UC 网盘分享页;<br/>3、新增 - 增强下载的多块多线程支持;<br/>4、优化 - 页面绿化的部分匹配规则;<br/>5、优化 - 增强下载进度条样式。 |

View File

@@ -1,45 +0,0 @@
import js from "@eslint/js";
export default [
js.configs.recommended,
{
files: ["**/*.user.js"],
languageOptions: {
ecmaVersion: 2022,
sourceType: "script", // 适配油猴脚本的非模块化特性
globals: {
// 基础环境
window: "readonly", document: "readonly", console: "readonly",
location: "readonly", navigator: "readonly", history: "readonly",
localStorage: "readonly", sessionStorage: "readonly",
setTimeout: "readonly", setInterval: "readonly",
clearTimeout: "readonly", clearInterval: "readonly",
fetch: "readonly", URL: "readonly", URLSearchParams: "readonly",
Blob: "readonly", File: "readonly", FormData: "readonly",
alert: "readonly", confirm: "readonly", prompt: "readonly",
requestAnimationFrame: "readonly", cancelAnimationFrame: "readonly",
MutationObserver: "readonly", HTMLElement: "readonly",
btoa: "readonly", atob: "readonly", structuredClone: "readonly",
// GM 环境
GM: "readonly", GM_info: "readonly", GM_getValue: "readonly", GM_setValue: "readonly",
GM_deleteValue: "readonly", GM_listValues: "readonly", GM_addStyle: "readonly",
GM_xmlhttpRequest: "readonly", GM_registerMenuCommand: "readonly",
GM_openInTab: "readonly", GM_setClipboard: "readonly",
GM_getResourceText: "readonly", unsafeWindow: "readonly",
// 第三方库
$: "readonly", jQuery: "readonly", Swal: "readonly", md5: "readonly"
}
},
rules: {
"prefer-const": ["error", { "destructuring": "all" }],
"no-unused-vars": "warn",
"no-empty": "off",
"no-useless-escape": "off",
"no-prototype-builtins": "off",
"no-control-regex": "off",
"no-irregular-whitespace": "off"
}
}
];

View File

@@ -1,38 +0,0 @@
{
"name": "linkswift",
"version": "1.1.3.1",
"description": "一个基于 JavaScript 的网盘文件下载地址获取工具",
"main": "eslint.config.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"check": "npx eslint . --fix"
},
"repository": {
"type": "git",
"url": "git+https://github.com/hmjz100/LinkSwift.git"
},
"keywords": [
"linkswift",
"link",
"swift",
"download",
"file",
"address",
"get"
],
"author": "hmjz100",
"license": "AGPL-3.0",
"type": "commonjs",
"bugs": {
"url": "https://github.com/hmjz100/LinkSwift/issues"
},
"homepage": "https://github.com/hmjz100/LinkSwift#readme",
"devDependencies": {
"@eslint/js": "^10.0.1",
"eslint": "^10.6.0"
},
"dependencies": {
"@eslint/js": "^10.0.1",
"eslint": "^10.6.0"
}
}

File diff suppressed because one or more lines are too long