// ==UserScript== // @name 百度网盘文件直链解析助手(2025.9.9可用) // @namespace https://www.qyccc.com/ // @version 0.11 // @description 百度网盘免会员文件直链解析满速下载 // @author 清语尘 // @match *://pan.baidu.com/* // @match *://analysis.icy6.cn/* // @exclude *://pan.baidu.com/aipan/search* // @require https://lib.baomitu.com/jquery/1.11.1/jquery.min.js // @require https://cdnjs.loli.net/ajax/libs/limonte-sweetalert2/11.4.4/sweetalert2.all.min.js // @icon https://android-artworks.25pp.com/fs08/2025/09/05/3/110_a434d925c0416fd0188b2d7fea68d7fb_con.png // @grant GM_setValue // @grant GM_getValue // @grant GM_notification // @grant GM_addStyle // @run-at document-end // @tag 百度网盘 // @license MIT // ==/UserScript== (function() { 'use strict'; GM_addStyle(` .swal2-popup { transition: all 0.3s ease-out !important; } #qyc-con iframe { border-radius: 8px; } .swal2-container { z-index: 100000 !important; } `); if (window.location.href.includes('/aipan/search')) { return; } let isDialogOpen = false; let hasBoundCopyEvents = false; let currentShareData = null; if (window.location.hostname === 'analysis.icy6.cn') { handleAnalysisSite(); } else if (window.location.hostname.includes('baidu.com')) { handleBaiduNetdisk(); } function handleAnalysisSite() { function hideSider() { const sider = document.querySelector('.t-layout__sider'); const targetDiv = document.querySelectorAll('.t-layout__content .t-card.t-card--bordered'); const pinfo = targetDiv[0].querySelectorAll('p'); if (sider) { sider.style.display = 'none'; pinfo[3].style.display = 'none'; targetDiv[0].style.display = 'none'; observer.disconnect(); } } function autoFillForm() { const shareData = GM_getValue('baidu_share_data', null); if (shareData && shareData.link) { // 查找输入框 const inputs = document.querySelectorAll('.t-input__inner'); if (inputs.length > 0) { // 填写分享链接 inputs[0].value = shareData.link; const inputEvent = new Event('input', { bubbles: true }); inputs[0].dispatchEvent(inputEvent); inputs[0].focus(); console.log('已自动填写分享链接: ' + shareData.link); // 清除存储的数据 GM_setValue('baidu_share_data', null); setTimeout(function(){ inputs[0].blur(); }, 300); } } } // 使用MutationObserver监听DOM变化 const observer = new MutationObserver(function(mutations) { hideSider(); autoFillForm(); }); observer.observe(document.body, { childList: true, subtree: true }); // 初始执行 hideSider(); autoFillForm(); } function handleBaiduNetdisk() { if (typeof $ === 'undefined') { setTimeout(handleBaiduNetdisk, 100); return; } $(document).ready(function() { setupShareListener(); }); } function setupShareListener() { let shareData = { link: '', code: '' }; // 使用事件委托绑定复制按钮 function bindCopyButtonEvents() { if (hasBoundCopyEvents) return; // 使用事件委托处理复制按钮点击 document.addEventListener('click', function(e) { const target = e.target; const copyButton = target.closest('.u-button.wp-share-file__link-create-ubtn'); if (copyButton && copyButton.textContent.includes('复制中')) { setTimeout(() => { if(copyButton.textContent.includes('复制链接')){ navigator.clipboard.readText().then(text => { if (text.includes('pan.baidu.com')) { processShareText(text); } }).catch(err => { console.log('无法读取剪贴板:', err); extractShareInfoFromPage(); }); }else{ Swal.fire({ position: 'center', icon: 'error', title: '程序运行错误', text: '请重试一次!持续错误可扫码联系作者', imageUrl: 'https://www.pupp.top/gzh.jpg', imageWidth: 200, imageAlt: '微信公众号【干货老周】', showConfirmButton: true, timer: 5000, timerProgressBar: true }); } }, 1500); } }); hasBoundCopyEvents = true; } // 使用防抖函数避免频繁触发 const debounce = (func, wait) => { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; }; // 处理分享弹窗的函数 const handleShareDialog = debounce(function(shareDialog) { if (!shareDialog) return; findShareInfo(shareDialog); bindCopyButtonEvents(); }, 300); const observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.addedNodes.length) { const shareDialog = document.querySelector('.wp-s-share-hoc__dialog'); if (shareDialog) { handleShareDialog(shareDialog); } } }); }); observer.observe(document.body, { childList: true, subtree: true }); // 从页面元素提取分享信息 function extractShareInfoFromPage() { // 查找包含分享链接的元素 const linkElements = document.querySelectorAll('[class*="link"], [class*="url"], [class*="share"]'); for (let el of linkElements) { if (el.textContent.includes('pan.baidu.com')) { processShareText(el.textContent); return; } } // 查找提取码 const codeElements = document.querySelectorAll('[class*="code"], [class*="pwd"], [class*="password"]'); for (let el of codeElements) { const codeMatch = el.textContent.match(/([a-zA-Z0-9]{4})/); if (codeMatch && codeMatch[1]) { shareData.code = codeMatch[1]; GM_setValue('baidu_share_data', shareData); break; } } } // 处理分享文本 function processShareText(text) { // 检查是否已经处理过相同的分享数据 const linkMatch = text.match(/https?:\/\/pan\.baidu\.com\/s\/[^\s]+/); if (!linkMatch) return; const newLink = linkMatch[0]; // 如果是相同的分享链接且已经处理过,则不再处理 if (currentShareData && currentShareData.link === newLink) { return; } shareData.link = newLink; // 提取提取码 const codeMatch = text.match(/提取码[::]\s*([a-zA-Z0-9]{4})/); if (codeMatch && codeMatch[1]) { shareData.code = codeMatch[1]; } else { const codeMatch2 = text.match(/([a-zA-Z0-9]{4})/); if (codeMatch2 && codeMatch2[1]) { shareData.code = codeMatch2[1]; } } // 存储当前分享数据 currentShareData = {...shareData}; GM_setValue('baidu_share_data', shareData); const shareDialog = document.querySelector('.wp-s-share-hoc__dialog'); if (shareDialog) { const closeButton = shareDialog.querySelector('.u-dialog__headerbtn'); if (closeButton) { setTimeout(function(){ closeButton.click(); }, 500); } } if (isDialogOpen) { Swal.close(); } Swal.fire({ position: 'top-end', icon: 'success', title: '已捕获分享链接!', text: '将自动打开解析页面并填充...', showConfirmButton: false, timer: 3000, timerProgressBar: true, didClose: () => { isDialogOpen = false; } }); isDialogOpen = true; setTimeout(function(){ Swal.close(); Swal.fire({ title: '文件直链解析助手', footer: '