whitesev / 网盘链接识别

Published:

Version: 2024.1.11+e49494c updated

Summary: 识别网页中显示的网盘链接,目前包括百度网盘、蓝奏云、天翼云、中国移动云盘(原:和彩云)、阿里云、文叔叔、奶牛快传、123盘、腾讯微云、迅雷网盘、115网盘、夸克网盘、城通网盘(部分)、坚果云、UC网盘、BT磁力,支持蓝奏云、天翼云(需登录)、123盘、奶牛、UC网盘(需登录)和坚果云(需登录)直链获取下载,页面动态监控加载的链接,可自定义规则来识别小众网盘/网赚网盘或其它自定义的链接。

Support: https://github.com/WhiteSevs/TamperMonkeyScript/issues

License: GPL-3.0-only

🏆声明

本脚本没有百度网盘夸克城通直链解析功能,主体是识别链接,其中百度网盘只有跳转第三方解析百度网盘链接,第三方网站需自行填写!此功能只为方便跳转而已!

本脚本名称是 网盘链接识别,不是解析!!!
本脚本名称是 网盘链接识别,不是解析!!!
本脚本名称是 网盘链接识别,不是解析!!!

🎁演示GIF

网盘链接识别演示.gif

🌈 使用方式

识别出链接时,页面侧边栏会出现一个悬浮按钮。

功能 设备 操作
显示链接界面 PC 点击
手机 点击
显示设置界面 PC 双击/右击后点击设置
手机 双击
显示历史匹配记录 PC 油猴菜单中打开/悬浮按钮右击菜单中选择打开
手机 油猴菜单中打开
显示访问码规则 PC 油猴菜单中打开/悬浮按钮右击菜单中选择打开
手机 油猴菜单中打开
显示自定义规则 PC 油猴菜单中打开/悬浮按钮右击菜单中选择打开
手机 油猴菜单中打开
显示主动识别文本 PC 油猴菜单中打开/悬浮按钮右击菜单中选择打开
手机 油猴菜单中打开
复制链接 PC 链接界面/历史匹配记录界面右击链接
手机 链接界面/历史匹配记录界面长按链接
访问链接 PC 链接界面/历史匹配记录界面右击链接
手机 链接界面/历史匹配记录界面长按链接
修改访问码 PC 链接界面/历史匹配记录界面右击链接
手机 链接界面/历史匹配记录界面长按链接

🌍 介绍

  • 手机,电脑均可使用
  • 识别到网盘链接会屏幕侧边栏出现悬浮按钮
  • 可拖动悬浮按钮到任意位置,它会自动吸附到侧边栏,还可以设置透明度和大小,让它不影响浏览网页(手机)【提示:有默认最大值和最小值】
  • 可点击网盘图标小按钮,可定位该链接在网页中出现的位置
  • 可自行设置弹窗动画,内含 15 种动画
  • 可自行设置页面文本延时检测时间(0.6秒~`5秒,默认0.8秒),建议如果是视频网站比如bilibili`,加入黑名单,播放视频会卡
  • 可点击间隔的字符(innerText)或间隔的字符(innerHTML),恢复默认值
  • 可设置打开存储匹配记录,开启后所有匹配到的网盘链接都可以在设置中打开历史匹配记录打开,可以查看到匹配的网盘链接网站搜索过滤
  • 可菜单中打开访问码规则,可自定义规则在xxx网站下的xxx网盘的访问码固定为xxx

📢 总设置

弹窗

  • 动画:设置弹窗显示/隐藏的过渡动画
  • 点击弹窗遮罩层关闭弹窗:开启后可以直接点击遮罩层关闭弹窗
  • 拖拽窗口:可以点击标题来移动弹窗窗口
  • 限制拖拽距离:当开启时,弹窗窗口将会限制它的拖拽上下左右的最大值

文件弹窗

  • 排序名:一般是多文件直链弹窗的显示的文件夹文件的排序,自动记忆选择的排序规则
  • 排序规则:一般是多文件直链弹窗的显示的文件夹文件的排序,自动记忆选择的排序规则

小图标导航

  • 点击定位分享码:在识别的链接弹窗内,点击网盘小图标可以定位到页面中的包含该分享码的元素中的位置并且页面会滚动至元素
  • 选中分享码:光标选中包含分享码的元素,如果是#text元素,则选中分享码文字
  • 循环定位:关闭则每个包含分享码的元素只定位一次

悬浮按钮

  • 大小:设置悬浮按钮的大小(15px~`250px`)
  • 透明度:设置悬浮按钮的透明度(0.1~1),数值越低悬浮按钮越透明
  • 背景轮播时间:当匹配到多个网盘链接时,会按本值时间进行切换已匹配到的网盘图标
  • 背景显示时间:当匹配到多个网盘链接时,会按照本值设置网盘图标显示的停留时间

Toast

  • 位置:设置Toast显示的位置,如:顶部、底部、中间
  • 同时显示最多数量:设置Toast最多同时显示的数量
  • 逆序弹出:设置Toast显示的顺序

功能

  • 匹配间隔:监听网页动态加载来进行匹配,值越大每次匹配的间隔时间越长,请设置合适的时间,值太小可能会导致浏览器卡顿,(0.6秒~5秒)
  • 匹配类型:可选择普通文本innerText(默认)、超文本innerHTML和全部(包括innerTextinnerHTML)
  • 历史记录排序规则:功能历史匹配记录中的显示的网盘链接排序规则
  • 读取剪贴板:读取剪贴板内容,识别网盘链接(注意:只有在使用chromium内核中且当前网址为https中才会生效,使用Gecko内核的浏览器不生效,Safari中未测试)
  • 存储匹配记录:开启该设置可把每次匹配到的网盘链接进行存储
  • 自动输入访问码:开启后可通过右击长按出现的菜单选项访问链接,如果存在访问码,将自动填入访问码,目前存在部分网盘未实现自动填入(没找到这个网盘的存在链接的)
  • 获取重定向后的直链:开启后可对某些网盘直链解析链接进行重定向后的链接获取
  • 允许匹配当前URL:开启后会每次加载时额外匹配当前URL地址,比如蓝奏云链接

快捷键

  • 打开设置界面:点击右边按钮来设置快捷键打开设置界面,如果已存在设置的快捷键,再次点击可删除设置的快捷键
  • 打开历史匹配记录:点击右边按钮来设置快捷键打开历史匹配记录界面,如果已存在设置的快捷键,再次点击可删除设置的快捷键
  • 打开访问码规则:点击右边按钮来设置快捷键打开自定义访问码规则界面,如果已存在设置的快捷键,再次点击可删除设置的快捷键
  • 打开用户自定义规则:点击右边按钮来设置快捷键打开自定义规则界面,如果已存在设置的快捷键,再次点击可删除设置的快捷键
  • 打开主动识别文本:点击右边按钮来设置快捷键打开主动识别文本界面,如果已存在设置的快捷键,再次点击可删除设置的快捷键
网盘 新标签页打开 单文件解析 多文件解析 Scheme转发直链 提取码间隔前(Text/HTML) 提取码间隔后(Text/HTML) 其它功能
https://favicon.yandex.net/favicon/v2/https://pan.baidu.com/?size=16 百度网盘 20/300 10/15 自行配置第三方网站解析
https://favicon.yandex.net/favicon/v2/https://www.lanzoux.com/?size=16 蓝奏云 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://cloud.189.cn/?size=16 天翼云 √(需登录) √(需登录) 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://yun.139.com/?size=16 中国移动云盘(原:和彩云) 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://www.aliyundrive.com/?size=16 阿里云 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://www.wenshushu.cn/?size=16 文叔叔 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://cowtransfer.com/?size=16 奶牛快传 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://www.123pan.com/?size=16 123云盘 √(文件>100MB则需登录) √(文件>100MB则需登录) 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://www.weiyun.com/?size=16 腾讯微云 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://pan.xunlei.com/?size=16 迅雷网盘 20/300 10/15
https://favicon.yandex.net/favicon/v2/http://www.115.com/?size=16 115网盘 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://www.ctfile.com/?size=16 城通网盘 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://pan.quark.cn/?size=16 夸克网盘 20/300 10/15
🚖BT磁力 支持Scheme转发
https://favicon.yandex.net/favicon/v2/https://www.jianguoyun.com/?size=16 坚果云(需登录) 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://onedrive.live.com/?size=16 OneDrive 20/300 10/15
https://favicon.yandex.net/favicon/v2/https://drive.uc.cn/?size=16 UC网盘 √(需登录) √(需登录) 20/300 10/15

🔧 帮助

1. 百度网盘配置

百度网盘链接解析的配置,主要是使用了开源项目https://github.com/yuantuo666/baiduwp-php的网站

参数
网址 网站的 url,末尾带/,如:https://www.example.com/
表单参数 POST请求的表单参数,例如:surl={#shareCode#}&pwd={#accessCode#}&Password=xxxxx,其中参数中存在{#shareCode#}或者{#accessCode#}时,会自动把它们转换成提取码分享码

ZPJRUv.png

2. Scheme 调用方式

首先开启该设置后,需要在手机上装特定的 app
https://baiqi.lanzoul.com/b066di6gb
密码:bzyb

该链接格式为jumpwsv://go?package={#package#}&activity={#activity#}&intentAction={#intentAction#}&intentData=网盘链接&intentExtra={#intentExtra#}

参数
{#package#} App包名
{#activity#} App的Activity入口
{#intentAction#} Activity Action Intent常量,一般是android.intent.action.VIEW
{#intentExtra#} 可以为空,若使用,则为{"参数1":"值1","参数2":"值2"},注意&换成{-and-}#换成{-number-}

下面几个是示例 scheme 链接,可以直接复制粘贴到里面去

  • 使用IDM+下载该链接
jumpwsv://go?package=idm.internet.download.manager.plus&activity=idm.internet.download.manager.UrlHandlerDownloader&intentAction=android.intent.action.VIEW&intentData={#intentAction#}&intentExtra=
  • 使用IDM+内部浏览器访问该链接
jumpwsv://go?package=idm.internet.download.manager.plus&activity=acr.browser.lightning.activity.BrowserLauncher&intentAction=android.intent.action.VIEW&intentData={#intentAction#}&intentExtra=
  • 使用IDM+内部浏览器隐身访问该链接
jumpwsv://go?package=idm.internet.download.manager.plus&activity=acr.browser.lightning.activity.IncognitoActivity&intentAction=android.intent.action.VIEW&intentData={#intentAction#}&intentExtra=
  • 使用ADM下载该链接
jumpwsv://go?package=com.dv.adm&activity=com.dv.get.AEditor&intentAction=android.intent.action.VIEW&intentData={#intentAction#}&intentExtra=
  • 使用ADM内部浏览器访问该链接
jumpwsv://go?package=com.dv.adm&activity=com.dv.get.WebBrow&intentAction=android.intent.action.VIEW&intentData={#intentAction#}&intentExtra=
  • 使用手机版迅雷下载该链接(可以是magnet格式)
jumpwsv://go?package=com.xunlei.downloadprovider
&activity=com.xunlei.downloadprovider.launch.dispatch.mocklink.LinkDLBtFileExplorerActivity&intentAction=android.intent.action.VIEW&intentData={#intentAction#}&intentExtra=

3. 什么是提取码间隔前Text/HTML

网盘链接分为两块,分享码提取码,其中,由于网站的网盘链接的多样性,分享码提取码关键字之间可能存在很长的干扰的字符串,比如:👇

https://pan.baidu.com/s/xxxxxxxxxx
这个是干扰字符串
提取码:
本贴隐藏内容
abcd

那么这个这个是干扰字符串中文就是干扰的字符串,设置间隔长度即为设置分享码提取码关键字之间的最大干扰字符串长度。
Text是对应匹配类型普通文本
HTML是对应匹配类型超文本

4. 什么是提取码间隔后Text/HTML

当匹配提取码关键字时,如密码提取码访问码时,它们后面的字母就是访问码,但是有些时候存在干扰字符串,比如:👇

https://pan.baidu.com/s/xxxxxxxxxx
提取码:
本贴隐藏内容
abcd

那么这个本贴隐藏内容中文就是干扰的字符串,设置间隔长度即为设置提取码关键字提取码之间的最大干扰字符串长度。
Text是对应匹配类型普通文本
HTML是对应匹配类型超文本

5. 为什么在设置中开启读取剪贴板且剪贴板中存在网盘链接,但是并没有成功识别?

  1. 可能是设置中需要识别的网盘自定义的提取码间隔前/后(Text/HTML)不够准确。
  2. 该功能只能在Chromium内核中生效,如Edge、Chrome、Kiwi中、Via、X浏览器,且当前网址必须是https安全网站,http不可以,使用Gecko内核的浏览器的话,API不会生效,如fireFox、可拓,Safari无法测试。

6. 如何配置自定义规则

[
    { // 只有分享码的
        "key": "test1", // (必须)这是需要识别的网盘的唯一key,如果和脚本里的key重复的话会覆盖,如果用户自定义中存在相同的key,将会合并,即一个key匹配多种网盘链接
        "icon": "", // 用于显示的网盘图标,可以是data:image格式,或者是url图片,如果没有,会是空白图标
        "regexp": { // (必须)匹配规则
            "link_innerText": "www.test.com/file/\\?surl=([0-9a-zA-Z])+", // (必须)当设置中匹配类型为文本/全部,使用该规则
            "link_innerHTML": "www.test.com/file/\\?surl=([0-9a-zA-Z])+", // (必须)当设置中匹配类型为超文本/全部,使用该规则
            "shareCode": "www.test.com/file/\\?surl=([0-9a-zA-Z])+", // (必须)用于提取出shareCode
            "shareCodeNeedRemoveStr": "^www.test.com/file/\\?surl=", // (必须)用于删除提取出的shareCode前面的域名、路径字符串
            "acceesCodeNotMatch": "^(font|div|xxxx)", // 用于排除肯定不是提取码的关键字
            "uiLinkShow": "https://www.test.com/file/?surl={#shareCode#}", // (必须)显示出的链接
            "blank": "https://www.test.com/file/?surl={#shareCode#}", // (必须)用于超链接打开
            "copyUrl": "https://www.test.com/file/?surl={#shareCode#}", // (必须)用于复制到剪贴板

        },
        "setting": { // 设置
            "name": "wangpantest1", // 在设置中显示的网盘名
            "isBlank": true // 是否让识别到的网盘链接改为新标签页打开
        }
    },
    { // 存在提取码的
        "key": "test2", // (必须)这是需要识别的网盘的唯一key,如果和脚本里的key重复的话会覆盖,如果用户自定义中存在相同的key,将会合并,即一个key匹配多种网盘链接
        "icon": "https://www.test2.com/favicon.ico", // 用于显示的网盘图标,可以是data:image格式,或者是url图片,如果没有,会是空白图标
        "regexp": { // (必须)匹配规则
            "link_innerText": "www.test2.com/file/\\?surl=([0-9a-zA-Z])+[\\s\\S]{0,20}(密码|访问码|提取码)[\\s\\S]{0,10}[0-9a-zA-Z]{4}|)", // (必须)当设置中匹配类型为文本/全部,使用该规则
            "link_innerHTML": "www.test2.com/file/\\?surl=([0-9a-zA-Z])+[\\s\\S]{0,100}(密码|访问码|提取码)[\\s\\S]{0,15}[0-9a-zA-Z]{4}|)", // (必须)当设置中匹配类型为超文本/全部,使用该规则
            "shareCode": "www.test2.com/file/\\?surl=([0-9a-zA-Z])+", // (必须)用于提取出shareCode
            "shareCodeNeedRemoveStr": "^www.test2.com/file/\\?surl=", // (必须)用于删除提取出的shareCode前面的域名、路径字符串
            "checkAccessCode": "(密码|访问码|提取码)[\\s\\S]+", // 用于判断提取码是否存在
            "accessCode": "([0-9a-zA-Z]{4})", // 匹配提取码
            "acceesCodeNotMatch": "^(font|div|xxxx)", // 用于排除肯定不是提取码的关键字
            "uiLinkShow": "https://www.test2.com/file/?surl={#shareCode#} 提取码:{#accessCode#}", // (必须)显示出的链接
            "blank": "https://www.test2.com/file/?surl={#shareCode#}", // (必须)用于超链接打开,提取码会自动复制到剪贴板
            "copyUrl": "链接:https://www.test2.com/file/?surl={#shareCode#}\n密码:{#accessCode#}", // (必须)用于复制到剪贴板

        },
        "setting": { // 设置
            "name": "wangpantest2", // 在设置中显示的网盘名
            "isBlank": true // 是否让识别到的网盘链接改为新标签页打开
        }
    },
    ...
]

Rating: 0