【油猴脚本】鼠标选中跳转蓝奏云有效链接及自动填写提取码

article/2025/8/22 16:50:39

简述

鼠标选中蓝奏云链接时会将链接转化为有效链接并显示跳转按钮,如果选中内容包括提取码则会在对应的网页自动填充。
地址:鼠标选中跳转蓝奏云有效链接及自动填写提取码

功能

在鼠标选中的文字是蓝奏云链接时触发脚本,脚本将从选中文字中提取蓝奏云链接及密码,并且将链接转化为以lanzoui.com为顶级域名地址,然后在鼠标附近显示实时信息,同时也显示一个跳转链接 前往-> 及一个关闭显示信息的按钮。在点下前往-> 后自动关闭选中文本页面的显示信息,同时打开一个地址是对应链接的新窗口,如果之前选中的内容包含密码,则会自动填充并确认密码。同时当前页面对应的蓝奏云资源的密码也会保留在本地,当你下次再打开这个链接时会自动填充密码(前提是保存的数据没有被清除,注意这个密码不是像Chrome之类浏览器的保存密码的形式,所以你不会在浏览器管理面板找到密码)

使用

随便选择一个不包含蓝奏云链接的内容(识别条件是含有lanzou)时的效果如下图所示:
鼠标选中跳转蓝奏云有效链接及自动填写提取码1
选中一个蓝奏云链接但不包含密码的内容时的效果如下图所示:
鼠标选中跳转蓝奏云有效链接及自动填写提取码2
选中一个蓝奏云链接并包含密码的内容时的效果如下图所示:
鼠标选中跳转蓝奏云有效链接及自动填写提取码3
在第一次自动填充密码后再次打开该页面时的效果如下图所示(太快了可能看不清):
鼠标选中跳转蓝奏云有效链接及自动填写提取码4

0.1.0 版本源码

// ==UserScript==
// @name         鼠标选中跳转蓝奏云有效链接及自动填写提取码
// @namespace    https://coycs.com/
// @version      0.1.0
// @description  鼠标选中蓝奏云链接时会将链接转化为有效链接并显示跳转按钮,如果选中内容包括提取码则会在对应的网页自动填充。
// @author       coycs
// @match        http://*/*
// @match        https://*/*
// @match       *.lanzoui.com/*
// @grant        none
// @license MIT
// ==/UserScript==(function () {'use strict'// 获取鼠标位置var movex;var movey;function mousemove(e) {e = e || window.event;if (e.clientX || e.clientY) {movex = e.clientX;movey = e.clientY}}document.onmousemove = mousemove;// 展示有效链接及提取码function show(href, password) {var relay = "";if (password != "") {relay = href + "coycs" + password + "coycs";} else {relay = href;}if (!document.getElementsByClassName("popWindow")[0]) {// 创建节点var div = document.createElement('div');div.setAttribute("style", "background:linear-gradient(#00b09b, #96c93d);position:fixed;padding:20px;z-index:10000;");div.setAttribute("class", "popWindow");div.setAttribute("color", "#fff");div.style.left = movex + 30 + "px";div.style.top = movey + 30 + "px";document.getElementsByTagName("body")[0].appendChild(div);div.innerHTML = `<p padding="5px"  margin-bottom="5px">链接:<span id="hrefText">${href}</span></p><p padding="5px" id="nodePassword" margin-bottom="5px">提取码:<span id="passwordText">${password}</span></p><p id="actionBtns"><a id="hrefBtn" href="${relay}" target="_blank" padding="5px">前往-></a><button id="closeBtn" padding="5px">关闭</button></p>`;var actionBtns = document.getElementById("actionBtns");actionBtns.setAttribute("style", "display: flex;flex-direction: row;justify-content: space-between;");// 前往按钮var hrefBtn = document.getElementById("hrefBtn");hrefBtn.addEventListener("click", function () {window.getSelection().removeAllRanges();document.getElementsByClassName("popWindow")[0].remove();})// 关闭按钮var closeBtn = document.getElementById("closeBtn");closeBtn.setAttribute("style", "background-color:#96c93d;border-style:none;")closeBtn.addEventListener("click", function () {window.getSelection().removeAllRanges();document.getElementsByClassName("popWindow")[0].remove();})} else {var hrefText = document.getElementById("hrefText");var passwordText = document.getElementById("passwordText");hrefBtn = document.getElementById("hrefBtn");hrefText.innerHTML = href;passwordText.innerHTML = password;hrefBtn.setAttribute("href", `${relay}`);}}// 选取文字触发var select = function () {if (window.getSelection && window.getSelection().toString().indexOf("lanzou") != -1) {// 字符串初处理var string1 = window.getSelection().toString();console.log("string1:" + string1);var string2 = string1.substring(string1.indexOf("http"), string1.length).replace(/\s*/g, "");console.log("string2:" + string2);// 获取链接部分var href = "";if (string2.match(/[^\x00-\xff]/g)) {href = string2.substring(0, string2.indexOf(string2.match(/[^\x00-\xff]/g)[0]));} else {href = string2;}var string3 = href;console.log("href:" + href);var domin = href.split("/")[2].split('.').slice(-2).join('.');var dominR = "lanzoui.com";href = href.replace(domin, dominR).replace(/[\x22\x27-\x29\x2c\x3b\x5b-\x5e\x60\x7b-\x7f]/g, "");console.log("href:" + href);// 获取提取码部分var password = string2.replace(string3, "").replace(/[^\x00-\xff]/g, "").replace(":", "");console.log("password:" + password);show(href, password);}}// 选中链接及提取码部分document.addEventListener("mouseup", select);// 自动填写提取码部分// 获取网页链接var url = document.location.href;var urlDomin = url.split("/")[2].split('.').slice(-2).join('.');// 定义目标网站var urlDominR = "lanzoui.com"// 跳转到顶级域名为目标网站的页面if (urlDomin == "lanzous.com"||urlDomin == "lanzouw.com"||urlDomin == "lanzoux.com") {location.href = url.replace(url.split("/")[2].split('.').slice(-2).join('.'), urlDominR);}// 自动填写提取码if (url.indexOf(urlDominR) != -1) {var pwd = document.getElementById("pwd");if (url.indexOf("coycs") != url.lastIndexOf("coycs")) {var link = url.substring(0, url.indexOf("coycs"));var psw = url.substring(url.indexOf("coycs") + 5, url.lastIndexOf("coycs"));localStorage.setItem(link, psw);window.location.href = link;}if (pwd) {var passwddiv_btn = document.getElementsByClassName("passwddiv-btn")[0];var btnpwd = document.getElementsByClassName("btnpwd")[0];// 输入提取码pwd.value = localStorage.getItem(url);// 确认提取码if (passwddiv_btn) {passwddiv_btn.click();} else if (btnpwd) {btnpwd.click();}// localStorage.removeItem(url);}}
})();

注意

识别并提取蓝奏云链接是有一定条件的,因为蓝奏云链接不仅有自定义二级域名,顶级域名还有好几个,还有的是http或者是https,所以比如链接开头不包含http的就识别不到,还有其他个别的情况也会识别错误。但我也考虑了比较多的情况了,所以正常使用应该没有太大问题,选中提取出的链接错误时可以再仔细地选择文本,建议只选择蓝奏云链接,不要把其他内容也选进来了。

还有是关于密码的问题,这个脚本识别密码能力也是有限的,但官方的格式应该没有什么问题,就是下面这种类型的:https://coycs.lanzouw.com/iq2kJxo2s8f 密码:biux,因为有的人会说密码、提取码、验证码等等,而且密码位置也五花八门,还有其他很多干扰项影响识别。如果你实在懒得自己输密码,可以组成官方格式,然后随便在哪个网页的哪个输入框内粘贴格式重组好的然后再用插件识别,比如输在百度搜索的搜索框里。这样下次打开对应蓝奏云资源的网页时就会自动填写密码。


http://chatgpt.dhexx.cn/article/O3cw1jEw.shtml

相关文章

解决:蓝奏云下载链接没法打开问题

假设链接如下&#xff1a; https://wws.lanzous.com/b01hnxn7a 解决: 修改链接&#xff1a;将链接中的lanzous改为lanzoux https://wws.lanzous.com/b01hnxn7a https://wws.lanzoux.com/b01hnxn7a

php蓝奏云网盘源码,蓝奏云网盘pc版易语言开源软件源码

蓝奏云盘是由网友开发的蓝奏云网盘客户端软件&#xff0c;软件界面简洁&#xff0c;简单易用 很多人喜欢&#xff0c;所以大家找了&#xff0c;蓝奏云网盘PC客户端开源源码&#xff0c;此软件源代码全部为 易语言5.6版本编写。 蓝奏云盘源码特色&#xff1a; 1.支持上传任意文件…

蓝奏云直链解析php,【带源码】新思路--蓝奏云直链解析

本帖最后由 Ls30 于 2018-7-11 18:06 编辑 今天在我的群上看到了个买 的还留下了个链接&#xff0c; 打开后我的手机浏览器跳转到了蓝奏云的一个下载页面&#xff0c; 惊奇的发现手机打开这个下载页面与电脑端的不同&#xff0c; 我猜测这是否与电脑端的解析方式有着一定的联系…

【实用软件】蓝奏云批量下载工具

软件介绍 蓝奏是个非主流网盘&#xff0c;老司机们用的比较多&#xff0c;官方限制最大上传文件为100M&#xff0c;不能分享视频等大文件&#xff0c;限制了它的用处。一般应用于分享软件&#xff0c;小型文档&#xff0c;除了下载页面有广告之外&#xff0c;下载速度很快&…

蓝奏云无视密码强制下载器

介绍&#xff1a; 可以强制下载有带密码的蓝凑云链接&#xff0c;只支持直接的分享链接&#xff08;就是蓝凑云的域名加后面的分享的那一段&#xff0c;像我下面图一有那个tp就得把他删除&#xff09;要使用软件内的下载文件&#xff0c;就要打开悬浮窗&#xff01;&#xff0…

蓝奏云软件库源码分享下载

介绍&#xff1a; 蓝奏云软件库&#xff0c;添加分类填入蓝奏云文件夹分享链接&#xff0c;链接密码即可。 非 webview 为接口式获取文件列表&#xff0c;不存储本地&#xff0c;只用在蓝奏云上传文件即可。 后端 thinkphp&#xff0c;前端 uniapp&#xff08;我测试了下发现…

蓝奏云分享文件无法下载地址失效的解决办法

由于蓝奏盘的分享地址经常失效和更改&#xff0c;导致我们分享的下载地址打不开&#xff0c;很多人不知道怎么回事&#xff0c;老是问我蓝奏云下载链接打不开怎么办&#xff0c;今天就给大家讲讲怎么解决这个问题。 解决办法&#xff1a; 如果你打开别人分享的蓝奏云提示的是是…

蓝奏云直链解析

[玫瑰]蓝奏云直链获取在线解析网站源码 蓝奏云链接解析 本地API接口 [玫瑰]支持有无密码和短期直链和永久直链&#xff0c;同时还可以显示文件名和大小。 [玫瑰]这个解析器无需数据库即可搭建&#xff0c;API接口已经本地化&#xff0c;非常简单易用。 [玫瑰]解压密码 123321 链…

Linux下载蓝奏云文件,蓝奏云CMD控制台

蓝奏云CMD控制台是一个蓝奏云的第三方API客户端&#xff0c;封装了对蓝奏云的基本操作: 登录、列出文件、下载文件、上传文件、删除文件(夹)、 清空回收站、恢复文件、创建文件夹、设置文件(夹)访问密码。此外&#xff0c;还解决了蓝奏云的上传格式限制和单文件最大 100MB 的限…

蓝奏云下载地址解析API[直链]

3 月&#xff0c;跳不动了&#xff1f;>>> 介绍 蓝奏云下载地址解析API 模拟蓝奏云真实操作获取下载地址. 下载地址:https://www.90pan.com/b1748355 密码&#xff1a;9zz7 开源地址: https://gitee.com/web/lanzou 软件架构 1.支持检测文件是否被取消 2.支持带密码…

推荐5款免费网盘,空间大不限速!

【欢迎关注公众号“SRE运维部落”&#xff0c;学习资料&#xff0c;电影资源免费送】 最近各个云服务商的存储空间大战基本落幕了&#xff0c;百度云先期胜出&#xff0c;自从PanDownload出事之后&#xff0c;很多小伙伴对收费限速行为表示不满&#xff0c;在这里给大家推荐5款…

将大于100M的文件上传到蓝奏云的方法

简 介&#xff1a;蓝奏云存储文件时最大只能存储100MB的文件&#xff0c;但有时需要存储大于100MB的文件&#xff08;如视频等&#xff09;。本文给出了存储大文件的方法——分卷压缩上传。 关键词&#xff1a; 蓝奏云、分卷压缩、文件存储 01 问题背景 蓝奏云是一个比较好用的…

蓝奏云网盘下载链接无法打开的解决方法(详解 全)

&#x1f388;前言 蓝奏云是一家国内的比较有良心的网盘提供商&#xff0c;提供有不限量的网盘空间&#xff0c;且不限制下载速度&#xff0c;免费用户只限制上传单文件小于100M的文件。算是比较有良心的。而且下载还不用登录才能下载&#xff08;很多标称免费的网盘均需要下载…

【策略模式-strategy】

1&#xff1a;定义&#xff1a; 在《head first Design Pattern》中的定义是&#xff1a;策略模式定义了算法族&#xff0c;分别分装起来&#xff0c;让它们之间可以相互替换&#xff0c;此模式让算法的变化独立于使用算法的客户。 2&#xff1a;设计原则 1) 找出应用中可能需…

策略模式——Strategy

文章目录 案例展示——Strategy怎么用&#xff1f;深入分析——Strategy是什么&#xff1f;Strategy的定义Strategy的优点Strategy的缺点策略模式的扩展——策略枚举 参考 案例展示——Strategy怎么用&#xff1f; 了解一点历史的人都知道商鞅变法&#xff0c;正是由于商鞅变法…

策略模式,Strategy

策略模式的定义是&#xff1a; 定义一组算法&#xff0c;封装每个算法&#xff0c;让它们可以互换。让客户端可以单独切换算法。 其UML类图的示例如下&#xff1a; 在这个模式中&#xff0c;参与者包括&#xff1a; Strategy&#xff1a;为所有支持的算法声明一个共同的接口。…

策略模式/Strategy

策略模式/Strategy 意图/适用场景&#xff1a; 策略模式是针对一组算法&#xff0c;将每一个算法封装到具有共同接口的独立类中&#xff0c;从而使得它们可以互换。这样做的好处是&#xff0c;客户端可以以插件的方式更换算法。 电子商务网站的购物车系统是一个策略模式非常适用…

Strategy - 策略模式

定义 定义一系列的算法&#xff0c;把它们一个一个的封装起来&#xff0c;并且使它们可以相互替换&#xff0c;策略模式使得算法可以独立于使用者而变化。 案例 比如现在有一个文件编辑器Editor&#xff0c;它在保存的时候&#xff0c;可以保存为任意的格式。所有文件内容转换均…

策略模式 strategy

策略模式是对算法的包装&#xff0c;是把使用算法的责任和算法本身分割开来&#xff0c;委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面&#xff0c;作为一 个抽象策略类的子类。用一句话来说&#xff0c;就是&#xff1a;“准备一组算法&#x…

策略模式Strategy

策略模式是行为模式的一种&#xff0c;和模板模式解决的问题一样&#xff0c;实现了通用逻辑和算法细节的解耦合&#xff0c;不同的是模板模式采用继承实现&#xff0c;基类中通用逻辑需要确定下来不可随意更改&#xff0c;策略模式采用组合实现&#xff0c;比较灵活&#xff0…