在您安裝前,Greasy Fork希望您了解本腳本包含“可能不受歡迎的功能”,可能幫助腳本的作者獲利,而不能給你帶來任何收益。
此腳本會在您造訪的網站插入廣告。
此腳本只有在您 註冊後才能使用全部的功能, 例如加入群組, 訂閱頻道, 或是點讚頁面。
百度网盘SVIP解析高速下载,24小时维护100%可以用!使用IDM下载更加稳定
// ==UserScript== // @name 百度网盘SVIP解析高速下载-度娘加速 // @namespace momoz // @version 1.1 // @author momo // @description 百度网盘SVIP解析高速下载,24小时维护100%可以用!使用IDM下载更加稳定 // @antifeature ads // @antifeature membership // @license MIT // @icon https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png // @match *://pan.baidu.com/* // @match *://yun.baidu.com/* // @match *://pan.baidu.com/disk/home* // @match *://yun.baidu.com/disk/home* // @match *://pan.baidu.com/disk/main* // @match *://yun.baidu.com/disk/main* // @match *://pan.baidu.com/s/* // @match *://yun.baidu.com/s/* // @match *://pan.baidu.com/share/* // @match *://yun.baidu.com/share/* // @connect baidu.com // @connect bd.shzxkq.com // @connect 127.0.0.1 // @grant GM_addStyle // @grant GM_getResourceText // @run-at document-idle // @require https://lib.baomitu.com/layui/2.9.3/layui.min.js // @resource layuiCSS https://lib.baomitu.com/layui/2.9.3/css/layui.css // @resource myCSS https://bd.shzxkq.com/mm_baiduyun.css // ==/UserScript== (function () { const layuicss = GM_getResourceText("layuiCSS"); GM_addStyle(layuicss); const mycss = GM_getResourceText("myCSS"); GM_addStyle(mycss); var config = { main_url: 'https://bd.shzxkq.com', bd_password: "asdf", title_name: "度娘加速", savePath: 'D:\\', jsonrpc: 'http://localhost:6800/jsonrpc', username: "", } layui.use(['layer'], async function () { var layer = layui.layer, $ = layui.$; await Promise.resolve(new Promise((resolve) => setTimeout(resolve, 888))); if (location.href.startsWith("https://pan.baidu.com/s/")) { //分享界面加按钮 $('.x-button-box').prepend('<a class="g-button" id="downbtn_share" style="background-color: #6800ff;color: #fff;border-color: #6800ff;" href="javascript:;" ><span class="g-button-right"><em class="icon icon-download" title=""></em><span class="text" style="width: auto;">' + config.title_name + '</span></span></a>'); } else { // 其他界面加按钮 if ($('.tcuLAu').is('*')) { //旧版 $('.tcuLAu').prepend('<span class="g-dropdown-button"><a id="downbtn_main" style=" margin-right: 10px;color: #fff;background-color: #6800ff;border-color: #6800ff;" id="downbtn_main" class="g-button" ><span class="g-button-right"><em class="icon icon-download" ></em><span class="text" style="width: auto;">' + config.title_name + '</span></span></a></span>'); } else { //新版 $('.wp-s-agile-tool-bar__header.is-header-tool').prepend('<div class="wp-s-agile-tool-bar__h-group"><button style=" margin-right: 10px;color: #fff;background-color: #6800ff;border-color: #6800ff;" id="downbtn_main" class="u-button nd-file-list-toolbar-action-item" ><i class="iconfont icon-download"></i> <span>' + config.title_name + '</span></button></div>'); } } $('#downbtn_share').click(function () { my_alert("提示:请先保存到自己的网盘后,从网盘里解析!"); return false; }); $('#downbtn_main').click(function () { let xuanzhe_list = get_xuanzhe_list(); let xuanzhe_list2 = Object.keys(xuanzhe_list); if (xuanzhe_list2.length == 0) { my_alert("提示:请先选择一个文件"); return false; } else if (xuanzhe_list2.length > 1) { my_alert("提示:目前仅支持一个文件解析"); return false; } else if (xuanzhe_list[xuanzhe_list2[0]].isdir == 1) { my_alert("提示:目前不支持文件夹解析!"); return false; } let file_info_obj = xuanzhe_list[xuanzhe_list2[0]]; let html_code = `<style> .borderNo_bottom { border-top: 2px #000000 solid; border-left: 2px #000000 solid; border-right: 2px #000000 solid; } .borderNo_topANDleft { border-right: 2px #000000 solid; } .Other_layui-tab-item { border: 2px solid black; height: 550px; text-align: center; } .tab_item_content { position: relative; height: 500px; width: 800px; margin: 0 auto; display: flex; justify-content: center; align-items: center; } .layui-this { color: #000 !important; } .layui-layer-page { border-radius: 0px !important; } .layui-tab-title .layui-this::after { height: 40px !important; ; } .layui-this:after { background-color: rgba(30, 24, 20, 0.45) !important; border-bottom: 0px solid red !important; width: 100% !important; left: 0px !important; } .layui-btn{ background-color: #fb7d4b !important; } .layui-btn-disabled{background-color: #fbfbfb !important;} </style> <body> <div class="layui-tab-content" style="padding-top:0px"> <div class="layui-tab-item layui-show"> <div class="layui-card" style="border: 2px solid black;margin-bottom: -2px;padding:10px 25px;"> <b> <div id="server_filename" style="text-align:center;">当前文件名:</div> </b> <div style="text-align:center;">扫描二维码获取解析密码后,点击解析按钮</div> <div style="text-align:center;"> <img src="https://bd.shzxkq.com/xcx.jpg" style="width:240px;height:240px;"> </div> </div> <div class="layui-card" style="border-left: 2px solid black;padding:10px 25px;border-top: 0xp solid black;border-right: 2px #000000 solid;border-bottom: 2px #000 solid;"> <div> <button class="layui-btn layui-btn-sm layui-btn-disabled style=" margin-top: 10px;background:#2196f3;" id="copy">IDM复制链接</button> <button class="layui-btn layui-btn-sm layui-btn-disabled style=" margin-top: 10px;background:#2196f3;" id="pusharia">推送到Aria2</button> <button type="button" id="main_start" class="layui-btn layui-btn-sm" style="float: right;"><img src="https://bd.shzxkq.com/ico.png" style="width: 15px; margin-left:-5px;">解析</button> </div> </div> </div> </div> </body>`; layer.open({ type: 1, title: false, closeBtn: 1, shadeClose: true, // shade: 0.9, // 遮罩透明度 area: ['500px', '367px'],//宽 高 content: html_code, success: function (layero, index) { $("#server_filename").text("当前文件名:" + file_info_obj.server_filename); $('#main_start').click(function () { if( localStorage.my_password && localStorage.my_password_end && new Date().getTime()< Number(localStorage.my_password_end) ){ layer.load(2, { shade: [0.3, '#FFF'], }); share_one_baidu(); } else { let promptI = layer.prompt({ title: '密码已重置,请重新输入', formType: 1 }, function (value, index) { layer.close(promptI); //layer.msg("密码输入完成"); localStorage.my_password = value; localStorage.my_password_end = get_endTime(); layer.load(2, { shade: [0.3, '#FFF'], }); share_one_baidu(); }); } }); $('#copy').click(function () { if (!$(this).hasClass('layui-btn-disabled')) { var textarea = document.createElement('textarea'); textarea.style.position = 'fixed'; textarea.style.opacity = 0; textarea.value = $(this).attr('down-url'); document.body.appendChild(textarea); textarea.select(); document.execCommand('copy'); document.body.removeChild(textarea); layer.msg('链接复制成功'); } }); $('#pusharia').click(function () { if (!$(this).hasClass('layui-btn-disabled')) { var url = $(this).attr('down-url'); sendAria2(url, $('#server_filename').text().replace("当前文件名:", "")); // sendAria2(url, file_info_obj.server_filename); layer.msg('推送成功'); } }); }, }); }); }); function get_endTime() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hours = date.getHours(); var on_30min = Number(new Date(year + "-" + month + "-" + day + " " + hours + ":30:00")); if (new Date().getTime() < on_30min) { result_time = on_30min; } else { result_time = on_30min + 30 * 60 * 1000; } return result_time; } function my_alert(text_value = "") { layui.layer.open({ type: 1, title: false, closeBtn: 3, shadeClose: true, skin: 'yourclass', content: ` <div style="border: 2px solid black;padding:30px 80px;word-wrap:break-word;"> ${text_value} </div>` }); } function sendAria2(url, out_filename) { var Aria2_config = { "jsonrpc": "2.0", "method": "aria2.addUri", "id": 1, "params": [[url], { "out": out_filename, "dir": config.savePath, "pause": "false",//是否暂停下载 "max-connection-per-server": "15", "seed-ratio": "0", "continue": 'true', "user-agent": "LogStatistic" }] } $.ajax({ url: config.jsonrpc, data: JSON.stringify(Aria2_config), type: "post", //async: false,//false为同步 dataType: "json", success: function (obj) { console.log(obj) } }); } function get_xuanzhe_list() { var xuanzhe_list = {}; var xuanxiang = []; try { xuanxiang = require('system-core:context/context.js').instanceForSystem.list.getSelected(); } catch (e) { xuanxiang = document.querySelector('.wp-s-core-pan').__vue__.selectedList; } xuanxiang.forEach(element => { xuanzhe_list[element.fs_id] = element; }); return xuanzhe_list; } function share_one_baidu() { let xuanzhe_list = Object.keys(get_xuanzhe_list()); let bdstoken = ""; let data_json = {}; try { data_json = $("html").html().match(/(?<=locals\.mset\()(.*?)(?=\);)/)[0]; data_json = JSON.parse(data_json); config.username = data_json.username; bdstoken = data_json.bdstoken; } catch (e) { data_json = $("html").html().match(/(?<=window\.locals\s=\s)(.*?)(?=;)/)[0]; data_json = JSON.parse(data_json); config.username = data_json.userInfo.username; bdstoken = data_json.userInfo.bdstoken; } config.data_json = data_json; $.ajax({ type: 'GET', url: "https://pan.baidu.com/share/set", async: true, data: { bdstoken: bdstoken, period: 1, pwd: config.bd_password, eflag_disable: true, channel_list: "%5B%5D", schannel: 4, fid_list: JSON.stringify(xuanzhe_list) }, dataType: 'json', success: function (res) { console.log(res) if (res.show_msg.indexOf("禁止") > -1) { layer.closeAll('loading'); my_alert("该文件禁止分享"); return false; } else { let shorturl = ""; try { shorturl = res.link.split("/").pop(); } catch (error) { layer.closeAll('loading'); my_alert("错误:初始化准备失败!"); return false; } get_down_list(shorturl, config.bd_password); layer.closeAll('loading'); } }, error: function (res) { my_alert("错误:初始化准备请求访问失败"); layer.closeAll('loading'); }, }) } function get_down_url(res) { let ajax_data = { surl: res.dirdata.surl, pwd: config.bd_password, password: localStorage.my_password, username: config.username, fs_id: res.filedata[0].fs_id, timestamp: res.dirdata.timestamp, sign: res.dirdata.sign, randsk: res.dirdata.randsk, shareid: res.dirdata.shareid, uk: res.dirdata.uk } $.ajax({ type: 'POST', url: config.main_url + '/api.php?m=Download', async: true, data: ajax_data, dataType: 'json', success: function (res) { if (res.error == 0) { let downlink = res.directlink; layer.closeAll('loading'); my_alert("成功:解析成功"); $('#copy').removeClass('layui-btn-disabled').attr('down-url', downlink); $('#pusharia').removeClass('layui-btn-disabled').attr('down-url', downlink); } else { my_alert("失败:" + res.msg); layer.closeAll('loading'); return false; } }, error: function (res) { my_alert("错误:解析请求访问失败"); layer.closeAll('loading'); }, }); } function get_down_list(shorturl, password) { let ajax_data = { surl: shorturl, pwd: password, password: localStorage.my_password, username: config.username } $.ajax({ type: 'POST', url: config.main_url + '/api.php?m=GetList', async: true, data: ajax_data, dataType: 'json', success: function (res) { console.log(res) if (res.error == 0) { get_down_url(res); } else { if (res.msg.indexOf('密码') > -1) { //重置密码 localStorage.my_password = ""; localStorage.my_password_end = ""; layer.closeAll('loading'); my_alert("失败:密码错误(可能密码超出有效期),请重置密码"); return false; } else { my_alert("失败:" + res.msg); layer.closeAll('loading'); return false; } } }, error: function (res) { my_alert("错误:初始解析请求访问失败"); layer.closeAll('loading'); }, }); } })()