在您安装前,Greasy Fork 希望您知道此脚本包含可能不受欢迎的功能,也许会帮助脚本作者获利,而不能给你带来任何收益。
你只有在参与某些事后才能使用脚本的全部功能,如加入某群组、订阅某频道或在某页点赞等。
这个脚本会在你访问的网站插入广告。
这个脚本含有追踪您的操作的代码。
Greasy Fork is available in English.
一个百度网盘直链获取助手,支持IDM、Aria2、Motrix加速下载。适配 Chrome✔,Edge✔,FireFox✔官方浏览器 长期维护,放心食用
// ==UserScript== // @name 百度网盘直连助手🚀-ED4m // @namespace https://github.com/gited4m/paned4m // @description 一个百度网盘直链获取助手,支持IDM、Aria2、Motrix加速下载。适配 Chrome✔,Edge✔,FireFox✔官方浏览器 长期维护,放心食用 // @version v0.2 // @antifeature membership // @antifeature ads // @antifeature tracking // @license MIT // @author ED4m // @match *://pan.baidu.com/* // @match *://yun.baidu.com/* // @require https://lib.baomitu.com/jquery/3.6.0/jquery.js // @require https://lib.baomitu.com/sweetalert/2.1.2/sweetalert.min.js // @require https://lib.baomitu.com/clipboard.js/2.0.6/clipboard.min.js // @run-at document-idle // @grant unsafeWindow // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_listValues // @grant GM_openInTab // @grant GM_notification // @grant GM_xmlhttpRequest // @connect localhost // @connect gitee.com // @connect 127.0.0.1 // @connect baidu.com // @connect ed4m.blog // ==/UserScript== const ccudhtyfgrbf = (str, len, suffix) => { if (!suffix) suffix = "..."; if (len <= 0) return ""; if (!str) return ""; let templen = 0; for (let i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 255) { templen += 2; } else { templen++; } if (templen === len) { return str.substring(0, i + 1) + suffix; } else if (templen > len) { return str.substring(0, i) + suffix; } } return str; }; const saveStart = (res) => { let start = info.getCommonValue('start'); if (start) { return false }; start = new Date().getTime(); info.setCommonValue('start', start); }; const rridnchfd = (len22) => { len22 = len22 || 4; const $chars = 'AEJPTZaejptz258'; const maxPos = $chars.length; let pwd = ''; for (let i = 0; i < len22; i++) { pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; }; (function () { const isOldHomePageA = () => { const url = location.href; return url.indexOf(".baidu.com/disk/home") > 0; }; const isNewHomePageB = () => { const url = location.href; return url.indexOf(".baidu.com/disk/main") > 0; }; const isSharePageC = () => { const path = location.pathname.replace('/disk/', ''); return /^\/(s|share)\//.test(path); }; if (window !== window.top) { return; } if (location.href.includes('yun.baidu.com')) { location.href = location.href.replace('yun.baidu.com', 'pan.baidu.com'); return; } const qfsgtxbf = () => { const hkUrl = "https://pan.baidu.com/pcloud/user/getinfo?query_uk="; const details = { responseType: 'json', method: 'GET', timeout: 11000, url: hkUrl + '&aaa=' + new Date().getTime(), onload: res => { var cccode = res.status; if ( cccode == 200) { globalDataConfig.domainB = res.response.user_info.intro; } else { console.log(res); } } }; GM_xmlhttpRequest(details); }; let uInfo = {}; const ttrhfydguu = (response) => { const rpcDir = (jjjehdytgrfb()("#dialogTxtSavePath").val()).replace(/\\/g, '/'); const rpcUrl = jjjehdytgrfb()("#dialogAriaRPC").val(); const rpcToken = jjjehdytgrfb()("#dialogAriaToken").val(); if (getSSConfig().mine == "checked") {delete response.aria2info.params[2].dir; } const dd = { "id": "INFOAIR", "jsonrpc": "2.0", "method": "aria2.addUri", "params": [ [ response.directlink ], { "max-connection-per-server": 16, "dir": rpcDir, "out": response.filedata.filename, "user-agent": "netdisk;7.2.6.2;PC;" } ] }; const data = JSON.stringify(dd); try { GM_xmlhttpRequest({ url: rpcUrl, timeout: 3500, method: 'POST', data: data, onloadstart: () => { ee7ry5(); }, ontimeout: (res) => { eyufsdkmfsdfAria('发生错误!'); eeeydhfgryfh('连接到 RPC 服务器超时:请检查 Aria2/Motrix 是否已连接,RPC 配置是否正确!'); teydgste(false); console.info(res); }, responseType: 'json', onload: (res) => { console.log('发送至 Aria2/Motrix,返回:', res); if (res.status == 200) { var esss = res.response.result; if (esss) { teydgste(true); eyufsdkmfsdfAria('开始下载了,切换过去看看吧~'); } else { eyufsdkmfsdfAria('发生错误!'); eeeydhfgryfh(res.response.message); teydgste(false); } } else { eyufsdkmfsdfAria('发生错误!'); eeeydhfgryfh(`发送至 Aria2/Motrix 失败!服务器返回:${res.responseText}`); teydgste(false); console.info(res); } }, onerror: (res) => { eyufsdkmfsdfAria('发生错误!'); eeeydhfgryfh('发送至 Aria2/Motrix 时发生错误,请重试!'); teydgste(false); console.info(res); } }); } catch (error) { eyufsdkmfsdfAria('发生错误!'); eeeydhfgryfh('发送至 Aria2/Motrix 时发生未知错误,请重试!'); teydgste(false); console.info(error); } }; const uudhncy000 = () => { globalDataConfig.downloading = 1; eyufsdkmfsdf('正在分享当前文件...'); qqujch5(); jjjehdytgrfb()('#VaptchaCode').hide(); }; const iuhdyeg = (isYes = false) => { if (!isYes) { globalDataConfig.downloading = 0; } qqujch5(); }; const ee7ry5 = () => { globalDataConfig.sending = 1; eyufsdkmfsdfAria('正在发送至Aria2/Motrix...'); qqujch5(); }; const teydgste = (isYes) => { globalDataConfig.sending = 0; if (isYes==true) { jjjehdytgrfb()("#dialogBtnAria").val('Aria2/Motrix已经开始下载了'); } else { jjjehdytgrfb()("#dialogBtnAria").val('发送至Aria2/Motrix'); } qqujch5(); }; let uuryfht = function (response, pwd, fs_id, token) { tmpData.token = token; tmpData.fs_id = fs_id; tmpData.pwd = pwd; tmpData.response = response; } let getTmpData = function () {return tmpData;} const ppzhsncbe = fileList => { const fileStat = { file_num: 0, dir_num: 0 }; fileList.forEach(item => { item.isdir == 0 ? fileStat.file_num++ : fileStat.dir_num++; }); return fileStat; }; const ythtght = () => { const pageTypeConfig = ttudhpage(); const yunData = getYunConfig(); if (!yunData && pageTypeConfig !== 'new') { Sqksh(); return; } if (pageTypeConfig === 'share') { iishfygr('必须先转存到自己网盘中,然后进入网盘进行下载!'); ishhf(); } else { const fileList = oxncjfhq(); const fileStat = ppzhsncbe(fileList); if (fileList.length>0) { if ( fileStat.dir_num > 0||fileStat.file_num > 1) { eeeydhfgryfh('请选择一个文件进行下载(暂时不支持文件夹和多文件批量下载)'); } else if (fileStat.dir_num === 0 && fileStat.file_num === 1) { showudhcbffff(fileList, fileStat); iuhdyeg(); } } else { iishfygr('请选择一个文件进行下载'); } } }; const showudhcbffff = (fileList, fileStat) => { const theFile = fileList[0]; const content = ` <div id="downloadDialog"> <div id="dialogTop"> <span id="dialogFileNamets">请点击下方按钮,开始下载 ${ccudhtyfgrbf(theFile.server_filename, 40)}</span> </div> <div id="dialogMiddle"> <div id="dialogLeft"> <div id="dialogQr"> <img id="dialogQrImg" src="" /> </div> </div> <div id="dialogRight"> <div id="dialogContent"> <input id="dialogBtnGetUrl" type="button" value="点击获取直链地址" class="btnInterface" /> <div id="dialogRemark"> ■ 下载速度<strong>因人而异</strong>,特别是共享网络(例如 校园网) </div> <div id="dialogRemark"> ■ 暂时不支持文件夹和多文件批量和超大文件下载 </div> <div id="dialogOpTips"></div> <div id="VaptchaCode"> <div id="dialogVaptchaCodeInput"> <span id="dialogVaptchaCodeTips"></span> <input id="dialogCode" type="text" value="${getSSConfig().code}" /> </div> <div id="dialogCodeRemark"></div> </div> <div id="dialogOpButtons"> <input id="dialogBtnIdm" type="button" data-clipboard-text="" value="复制直链地址" class="btnInterface btnGreen" /> <div id="dialogOpTipsIdm"></div> <input id="dialogBtnAria" type="button" value="推送Aria2/Motrix" class="btnInterface btnGreen" /> <div id="dialogOpTipsAria"></div> <div id="dialogDivSavePath"> 保存路径:<input type="text" id="dialogTxtSavePath" value="${getSSConfig().savePath}" style="width: 170px;" /> <span id="dialogAriaConfigClick">配置Aria2/Motrix>></span> <div id="dialogAriaConfig"> <input type="text" id="dialogAriaRPC" value="${getSSConfig().jsonRpc}" title="RPC地址" placeholder="RPC地址" style="width: 240px;" /> <input type="text" id="dialogAriaToken" value="${getSSConfig().token}" title="token" placeholder="token" style="width: 77px;" /> <br /> <input type="checkbox" id="dialogAriaMine" value="checked" ${getSSConfig().mine}> 使用自己的Aria2/Motrix(如更改此项必须勾选) </div> </div> </div> </div> </div> </div> <div id="dialogClear"></div> <div id="dialogBottom"></div> </div> `; GM_xmlhttpRequest({ responseType: 'json', method: "get", url: "https://gitee.com/ed4m/pan/raw/master/config", headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: (ress) => { console.log('----->>>>>',ress) jjjehdytgrfb()("#dialogBottom").html(`<a href="${ress.response.txt[0].url}" target="_blank">${ress.response.txt[0].label}</a>`); jjjehdytgrfb()("#dialogQrImg").attr('src', ress.response.wecgzh); } }); yyhcydgbfhgrt(content, { closeOnClickOutside: false,button: '关 闭' }); const dialogShareBtnClick = () => { if (globalDataConfig.downloading === 1) { return false;} uudhncy000(); const t = getTmpData(); if (t.fs_id == theFile.fs_id && t.response ) { getDLUrl(t.response, t.pwd, t.fs_id, ''); console.log('已分享过此文件,不再重复分享'); return; } else { console.log('未分享过此文件,开始分享'); } const bdstoken = ''; const pwd = rridnchfd(4); try { GM_xmlhttpRequest({ responseType: 'json', timeout: 11000, method: 'POST', data: `fid_list=[${theFile.fs_id}]&schannel=4&period=1&channel_list=[]&pwd=${pwd}`, url: `/share/set?channel=chunlei&clienttype=0&web=1&channel=chunlei&app_id=250528&bdstoken=${bdstoken}&clienttype=0`, ontimeout: (res) => { eyufsdkmfsdf(res.response.err || res.response.msg || '发生错误!'); eeeydhfgryfh('分享文件时连接百度接口超时,请重试!'); iuhdyeg(); }, onload: function (res) { var hahaha = res.response.errno; var cccode = res.status; if ( cccode == 200) { switch (hahaha) { case 115: eyufsdkmfsdf('发生错误!') eeeydhfgryfh('该文件禁止分享!\n返回状态码:' + res.response.errno); iuhdyeg(); break; case -6: eyufsdkmfsdf('发生错误!') eeeydhfgryfh('请重新登录!\n返回状态码:' + res.response.errno); iuhdyeg(); break; case 110: eyufsdkmfsdf('发生错误!') eeeydhfgryfh('您今天分享太多,24小时后再试吧!\n百度返回状态码:' + res.response.errno); iuhdyeg(); break; case 0: uuryfht(res.response, pwd, theFile.fs_id, ''); getDLUrl(res.response, pwd, theFile.fs_id, ''); break; default: eyufsdkmfsdf(res.response.err || res.response.msg || '发生错误!'); eeeydhfgryfh('分享文件失败,请重试!\n返回状态码:' + res.response.errno + '\n使用分享按钮试试,就知道了。'); iuhdyeg(); break; } } else { eyufsdkmfsdf(res.response.err || res.response.msg || '发生错误!'); eeeydhfgryfh('分享文件失败,无法获取直链下载地址!\n百度返回:' + res.responseText); iuhdyeg(); } }, onerror: (res) => { eyufsdkmfsdf(res.response.err || res.response.msg || '发生错误!'); eeeydhfgryfh('分享文件时发生错误,请重试!'); iuhdyeg(); } }); } catch (error) { eyufsdkmfsdf('发生错误!') eeeydhfgryfh('未知错误,请重试!'); iuhdyeg(); console.info(error); } }; jjjehdytgrfb()("#dialogBtnGetUrl").click(dialogShareBtnClick); jjjehdytgrfb()("#dialogAriaConfigClick").click(pppsorj); copyythfudhry53(); }; let getYunConfig = function () { return unsafeWindow.yunData; }; let iishfygr = function (err) { yyhcydgbfhgrt(err, {icon: 'error'}); } let eeeydhfgryfh = function (err) { if(err.indexOf('请求直链下载地址失败') == -1){ alert(err); } } const pppsorj = () => { const t = jjjehdytgrfb()("#dialogAriaConfig"); if (t.css("display") === "none") { t.show();} else {t.hide();} }; let eyufsdkmfsdf = function (info) { jjjehdytgrfb()("#dialogOpTips").show().html(info); } let eyufsdkmfsdfAria = function (info) { jjjehdytgrfb()("#dialogOpTipsAria").show().html(info); } let eyufsdkmfsdfIdm = function (info) { jjjehdytgrfb()("#dialogOpTipsIdm").show().html(info); } let yyhcydgbfhgrt = function (content111, option22) { divTips.innerHTML = content111; option22.content = divTips; if (!option22.hasOwnProperty('button')) { option22.button = '好! 我 知 道 了' } swal(option22); } let jjjehdytgrfb = function () { return $; }; let Sqksh = function () { require("base:widget/libs/jquerypacket.js")("[node-type='header-login-btn']").click(); }; let ishhf = function () { require("base:widget/libs/jquerypacket.js")("[node-type='shareSave']").click(); }; const globalDataConfig = { domain: '', downloading: 0, domainB: '', param: '', scriptVersion: '2.1.0', storageNamePrefix: 'ConfigName', sending: 0, }; const getAppSettingData = () => ({ scriptVersion: globalDataConfig.scriptVersion, param: globalDataConfig.param, storageNamePrefix: globalDataConfig.storageNamePrefix, getDLUrl: `/bd/api.php`, }); const tmpData = { response: '', pwd: '', fs_id: '', token: '', }; const info = { getCommonValue: key => GM_getValue(`${getAppSettingData().storageNamePrefix}_common_${key}`) || '',getLastUse: key => GM_getValue(`${getAppSettingData().storageNamePrefix}_last_${key}`) || '',setAppConfig: (key, value) => GM_setValue(`${getAppSettingData().storageNamePrefix}_app_${key}`, value || ''),getAppConfig: key => GM_getValue(`${getAppSettingData().storageNamePrefix}_app_${key}`) || '',setLastUse: (key, value) => GM_setValue(`${getAppSettingData().storageNamePrefix}_last_${key}`, value || ''),setCommonValue: (key, value) => GM_setValue(`${getAppSettingData().storageNamePrefix}_common_${key}`, value || '') }; const configDefault = { savePath: 'D:\\ED4M', jsonRpc: 'http://localhost:6800/jsonrpc', token: '', mine: '', code: '', }; const getSSConfig = () => ({ savePath: info.getLastUse('savePath') || info.getAppConfig('savePath') || configDefault.savePath, jsonRpc: info.getLastUse('jsonRpc') || info.getAppConfig('jsonRpc') || configDefault.jsonRpc,token: info.getLastUse('token') || info.getAppConfig('token') || configDefault.token,mine: info.getLastUse('mine') || info.getAppConfig('mine') || configDefault.mine,code: info.getLastUse('code') || configDefault.code, }); const yytgrtfgrygft = (res) => { const codeRemark = jjjehdytgrfb().trim(res.codeRemark);const codeTips = jjjehdytgrfb().trim(res.codeTips); const qrTips = jjjehdytgrfb().trim(res.qrTips);const qrImg = jjjehdytgrfb().trim(res.qrImg); if (codeRemark.length > 0) { jjjehdytgrfb()("#dialogCodeRemark").html(codeRemark).show(); } if (qrTips.length > 0) { } if (qrImg.length > 0) { } }; const getDLUrl = (response, pwd, fsid, token) => { const code = jjjehdytgrfb()('#dialogCode').val().trim(); const bdUrl = "https://ed4m.blog/parse/list"; console.log("response", response); const shareid = response.link.split('/').slice(-1)[0]; const details = { responseType: 'json', method: 'POST', timeout: 11000, url: bdUrl, data: `surl=${shareid}&pwd=${pwd}&password=${code}&user=${$('.wp-s-header-user__drop-info-body p').text().trim()}&cookie=${iiofjrifj()}`, headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: (res) => { try { eyufsdkmfsdf('正在获取直链地址...'); console.log(res.response.error) if (res.status === 200) { if (res.response.error == 1011) { eyufsdkmfsdf(res.response.err); }else if (res.response.error == 101) { iuhdyeg(); eyufsdkmfsdf(res.response.err); yytgrtfgrygft(res.response); jjjehdytgrfb()('#VaptchaCode').show(); } else if (res.response.error == 0) { const data_ = res.response.dirdata; const data__ = res.response.filedata[0]; GM_xmlhttpRequest({ responseType: 'json', method: "POST", url: "https://ed4m.blog/parse/link", data: `fs_id=${data__.fs_id}×tamp=${data_.timestamp}&sign=${data_.sign}&randsk=${data_.randsk}&shareid=${data_.shareid}&surl=${data_.surl}&pwd=${data_.pwd}&uk=${data_.uk}&user=${$('.wp-s-header-user__drop-info-body p').text().trim()}&cookie=${iiofjrifj()}`, headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: (ress) => { if (ress.response.error == 0) { const downlink = ress.response; iuhdyeg(true); changeClickEvent(downlink); saveStart(); yytgrtfgrygft(downlink); } else { eyufsdkmfsdf(ress.response.err || ress.response.msg || '发生错误!'); eeeydhfgryfh(`请求直链下载地址失败!服务器返回:${res.response.status}`); } } }); } else{ eyufsdkmfsdf(res.response.err||res.response.msg); throw res; } }else { eyufsdkmfsdf(res.response.err||res.response.msg); throw res; } }catch (error) { console.info(error); eyufsdkmfsdf(res.response.err || res.response.msg || '发生错误!'); eeeydhfgryfh(`请求直链下载地址失败!服务器返回:${res.response.status}`); } } }; try { GM_xmlhttpRequest(details); } catch (error) { eeeydhfgryfh(`请求直链下载地址失败!服务器返回:${res.response.status}`); eyufsdkmfsdf(res.response.err || res.response.msg || '发生错误!'); } }; const changeClickEvent = (res) => { jjjehdytgrfb()("#dialogOpButtons").show(); eyufsdkmfsdf('获取直链成功,请在下方选择下载方式。'); const url = res.directlink; jjjehdytgrfb()("#dialogBtnIdm").attr("data-clipboard-text", url); const btnAria2 = jjjehdytgrfb()("#dialogBtnAria"); btnAria2.unbind().click(() => { ttrhfydguu(res); }); }; const qqujch5 = () => { let mine = ""; info.setLastUse('savePath', jjjehdytgrfb()("#dialogTxtSavePath").val()); info.setLastUse('jsonRpc', jjjehdytgrfb()("#dialogAriaRPC").val()); info.setLastUse('token', jjjehdytgrfb()("#dialogAriaToken").val()); if (jjjehdytgrfb()("#dialogAriaMine").prop("checked") == true) { mine = "checked"; } info.setLastUse('mine', mine); info.setLastUse('code', jjjehdytgrfb()("#dialogCode").val()); }; const copyythfudhry53 = () => { const copyBtn = new ClipboardJS('#dialogBtnIdm'); copyBtn.on("success", (e) => { eyufsdkmfsdfIdm(`地址复制成功!UA是 netdisk;7.2.6.2;PC;`); }); }; const sleep = (time) => {return new Promise((resolve) => setTimeout(resolve, time));}; const startINIT = () => { if (isVsite) return; const pageTypeConfig = ttudhpage(); if (pageTypeConfig === '') { sleep(500).then(() => { startINIT(); }) return; } const btn = document.createElement('a'); btn.style.cssText = hhdnhcbgfbvh.style(pageTypeConfig); btn.innerHTML = hhdnhcbgfbvh.html(pageTypeConfig); btn.title = hhdnhcbgfbvh.title; btn.className = hhdnhcbgfbvh.class(pageTypeConfig); btn.id = hhdnhcbgfbvh.id; btn.addEventListener('click', (e) => { ythtght(); e.preventDefault(); }); let parent = null; if (pageTypeConfig === 'old') { const btnUpload222 = document.querySelector('[node-type=upload]'); parent333 = btnUpload222.parentNode; parent333.insertBefore(btn, parent.childNodes[0]); } else if (pageTypeConfig === 'new') { let btnUploadZ; btnUploadZ = document.querySelector("[class='nd-file-list-toolbar nd-file-list-toolbar__actions inline-block-v-middle']"); if (btnUploadZ) { btn.style.cssText = 'margin-right: 5px;'; btnUploadZ.insertBefore(btn, btnUploadZ.childNodes[0]); } else { btnUploadZ = document.querySelector("[class='wp-s-agile-tool-bar__header is-default-skin is-header-tool']"); if (!btnUploadZ) { btnUploadZ = document.querySelector("[class='wp-s-agile-tool-bar__header is-header-tool']"); } const parentDiv = document.createElement('div'); parentDiv.style.cssText = 'margin-right: 10px;'; parentDiv.className = 'wp-s-agile-tool-bar__h-action is-need-left-sep is-list'; parentDiv.insertBefore(btn, parentDiv.childNodes[0]); btnUploadZ.insertBefore(parentDiv, btnUploadZ.childNodes[0]); } } else if (pageTypeConfig === 'share') { const btnQrCode = document.querySelector('[node-type=qrCode]'); parent = btnQrCode.parentNode; parent.insertBefore(btn, btnQrCode); } document.querySelectorAll('span').forEach((e) => { if (e.textContent.includes('搜索您的文件')) { const divP = e.parentNode.parentNode.parentNode divP.style.maxWidth = '200px'; } }); } const sythfgdbc = (str, start, end) => { const res = str.match(new RegExp(`${start}(.*?)${end}`)); return res ? res[1] : null; }; const ttudhpage = () => { if (isSharePageC()) return 'share'; if (isNewHomePageB()) return 'new'; if (isOldHomePageA()) return 'old'; return '' ; }; GM_addStyle(` .swal-modal { width: auto; min-width: 730px; } #dialogMiddle {} #downloadDialog { width: 730px; font-size: 14px; } #dialogTop { margin: 20px 0; } #dialogFileName { font-size: 17px; color: Black; position: relative; top: -2px; } #dialogFileNamets { font-size: 17px; color: Black; font-weight: bold; } #dialogRight { width: 50%; float: left; margin-left: 15px; } #dialogLeftTips { text-align: left; margin: 0 0 10px 0px; color: #4c4433; font-size: 13px; } #VaptchaCode{ display: none; text-align: left; margin-top: 5px; font-size: 13px; border: 2px solid #EDD; } #dialogVaptchaCodeInput{ font-size: 16px; } .dialogLeftTipsLink { text-align: center; } .btnInterface { color: #fff; cursor: pointer; text-decoration: none; font-family: Microsoft YaHei, SimHei, Tahoma; font-weight: 100; letter-spacing: 2px; width: 100%; height: 50px; background: #ff436a !important; border-radius: 4px; transition: .3s; font-size: 25px !important; border: 0; } .swal-modal input { border: 1px grey solid; } #dialogContent input { vertical-align: middle; } #dialogRemark { text-align: left; font-size: 13px; margin-top: 8px; } .dialogLeftTipsLink a { color: #06a7ff; } #dialogQr img { width: 100%; margin-left: 34px; margin-top: -17px; } #dialogQr { width: 265px; height: 265px; text-align: center; } #dialogCode { width: 50%; } #dialogClear { clear: both; } .btnGreen { background: #06a7ff !important; } #dialogDivSavePath { margin-top: 2px; text-align: left; } #dialogLeft { float: left; width: 47%; margin-top: 30px; } #dialogBtnIdm, #dialogBtnAria { margin-top: 8px; } #dialogAriaConfig { display: none; margin-top: 2px; } #dialogBottom { text-align: left; margin: 15px -20px 0 -20px; background: #F0F8F6!important; padding: 10px 0 10px 25px; } .swal-button{ background-color: #5794C8; } #dialogOpTips, #dialogOpTipsAria, #dialogOpTipsIdm { display: none; background: #F0F8F6!important; padding: 3px 14px; color: #4c4433; border-radius: 2px; font-weight: bold; text-align: left; margin-top: 9px; font-size: 17px; } #dialogAriaConfig { font-size: 12px; } #dialogOpButtons { display: none; } #dialogAriaConfigClick { color: #0098EA; text-decoration: underline; cursor: pointer; font-size: 12px; padding-left: 6px; } .swal-footer { margin-top: 5px; } `); const uushygfrrr = () => { const url = "https://pan.baidu.com/rest/2.0/xpan/nas?method=uinfo"; const details = { responseType: 'json', timeout: 8000, method: 'GET', url: url + '&vvv=' + new Date().getTime(), onload: res => { var cccode = res.status; if ( cccode == 200) {uInfo = res.response;} else { console.log(res); } } }; try{GM_xmlhttpRequest(details);}catch(e){}; }; qfsgtxbf(); uushygfrrr(); const divTips = document.createElement('div'); divTips.id = "divTips"; let isLoginTips = document.querySelector('.login-main'); let isVsite = false; let hhdnhcbgfbvh = { id: 'btnEasyHelper', text: '直连助手🚀-ED4m', title: '使用ED4m进行下载', style: function (pageTypeConfig) { if (pageTypeConfig === 'new') { return ''; } if (pageTypeConfig === 'old' || pageTypeConfig == 'share') { return 'margin: 0px;'; } }, class: function (pageTypeConfig) { if (pageTypeConfig === 'new') { return ''; } if (pageTypeConfig === 'old' || pageTypeConfig == 'share') { return 'g-button g-button-red-large'; } }, html: function (pageTypeConfig) { if (pageTypeConfig === 'old' || pageTypeConfig == 'share') { return ` <span class="g-button-right"> <em class="icon icon-download" style="color:#ffffff" title="${this.text}"></em> <span class="text" style="width: auto;">${this.text}</span> </span> ` } if (pageTypeConfig === 'new') { return ` <button class="u-button nd-file-list-toolbar-action-item is-need-left-sep u-button--primary u-button--default u-button--small is-has-icon u-button--danger"><i class="iconfont icon-download"></i><span>${this.text}</span></button> `; } } } const oxncjfhq = () => { const pageTypeConfig = ttudhpage(); if (pageTypeConfig === 'new') { let mainList = document.querySelector('.nd-main-list'); if (!mainList) mainList = document.querySelector('.nd-new-main-list'); return mainList.__vue__.selectedList; }else if (pageTypeConfig === 'old') { return require('system-core:context/context.js').instanceForSystem.list.getSelected(); } }; sleep(500).then(() => { startINIT(); }) })(); function iiofjrifj() { return document.cookie; var cookies = document.cookie.split("; "); var cookieObj = {}; cookies.forEach(function(cookie) { var parts = cookie.split("="); var key = parts.shift().trim(); var value = decodeURIComponent(parts.join("=")); cookieObj[key] = value; }); return cookieObj; }