激活网盘链接,同时自动填写密码,支持绝大多数Discuz论坛,zd423网站
目前為
// ==UserScript==
// @name 论坛网盘链接免密提取
// @namespace http://xhunter.vicp.io
// @description 激活网盘链接,同时自动填写密码,支持绝大多数Discuz论坛,zd423网站
// @include http://www.52pojie.cn/forum*
// @include http://www.52pojie.cn/thread*
// @include *://pan.baidu.com/share/init?shareid=*
// @include http*://bbs.zhiyoo.com/forum.php*
// @include http://www.right.com.cn/forum/*
// @include http://www.zdfans.com/*
// @version 1.0.1
// @author hunter
// @require http://cdn.bootcss.com/jquery/2.2.4/jquery.min.js
// ==/UserScript==
(function() {
function activiteLink($dom, linkList) {
var docu = $dom.html();
for (var i = 0; i < linkList.length; i++) {
docu = docu.replace(new RegExp(linkList[i].url, "g"), "<a target='_blank' class='btn btn-url' color:blue' href='" + linkList[i].url + '#' + linkList[i].password + "'>一键提取</a>")
}
$dom.html(docu)
}
function Link() {
this.url = null;
this.password = null;
this.addLink = function(link, password) {
this.url = link;
this.password = password
}
}
var linkList = new Array();
var urlExp = /((?:https?:\/\/)?(?:yun|pan|eyun).baidu.com\/(?:s\/\w*|share\/\S*\d))/g;
var isInSharePage = location.href.match(urlExp);
if (isInSharePage) {
isInSharePage = location.href;
var password = isInSharePage.match(new RegExp("(\\w{4})$", "gm"));
$("#accessCode").val(password);
$(".g-button-right :contains('提取文件')").click()
} else {
var $docHTML = $("body").html();
var $docText = $("body").text();
var $script = $("script");
var regRuleLink = "((?:https?:\\/\\/)?(?:yun|pan|eyun).baidu.com\\/(?:s\\/\\w*|share\\/\\S*\\d)(#\\w{4})?)";
var regSplit = "\\s*(密|密码|提取码|访问码|提取密码|访问密码)(\\s|\\:|:)*";
var regRulePwd = "\\w{4}";
var regRuleTotal = regRuleLink + regSplit + regRulePwd;
var regExp = new RegExp(regRuleTotal, "gm");
var shareArray = $docText.match(regExp);
var urlArray = new Array();
var urlExp = new RegExp(regRuleLink, "gm");
var pswExp = new RegExp(regSplit + regRulePwd, "gm");
var pswArr = new Array();
if (shareArray != null) {
for (var i = 0; i < shareArray.length; i++) {
if (urlArray.indexOf(shareArray[i].match(urlExp)[0]) == -1) {
urlArray.push(shareArray[i].match(urlExp)[0]);
pswArr.push(shareArray[i].match(pswExp)[0]);
var link = new Link();
link.url = shareArray[i].match(urlExp)[0];
link.password = shareArray[i].match(pswExp)[0];
linkList.push(link)
}
}
}
var pswArray = new Array();
for (var i = 0; i < linkList.length; i++) {
var link = linkList[i];
link.password = link.password.match(new RegExp(regRulePwd, "gm"))[0]
}
$(".t_f").each(function() {
activiteLink($(this), linkList)
});
$(".ratl").each(function() {
activiteLink($(this), linkList)
});
$(".entry").each(function() {
activiteLink($(this), linkList)
})
}
})();