您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
复制网页里所有磁力/电驴/迅雷链接
// ==UserScript== // @name 磁力/电驴/迅雷链接复制工具 // @namespace https://leochan.me // @version v1.1.0 // @description 复制网页里所有磁力/电驴/迅雷链接 // @author Leo // @match *://*/* // @license GPLv2 // @icon https://www.google.com/s2/favicons?sz=64&domain=leochan.me // @require https://update.greasyfork.org/scripts/470018/1214590/%E7%BD%91%E9%A1%B5%E9%87%8C%E9%9D%A2%E7%AE%80%E5%8D%95%E7%9A%84%E6%8F%90%E9%86%92%E8%83%BD%E5%8A%9B.js // @require https://update.greasyfork.org/scripts/549000/1658058/%E7%BD%91%E9%A1%B5%E9%87%8C%E9%9D%A2%E5%A4%8D%E5%88%B6%E5%86%85%E5%AE%B9.js // @grant none // ==/UserScript== (function() { 'use strict'; function extractMagnetsFromWebPage(html) { const magnetRegex = /magnet:\?[^\s"'<>]+/gi; const magnets = html.match(magnetRegex) || []; const xtValues = []; magnets.forEach(magnet => { const xtRegex = /xt=(urn:btih:[a-fA-F0-9]{40})/i; const match = magnet.match(xtRegex); if (match && match[1] && !xtValues.includes("magnet:?xt=" + match[1])) { xtValues.push("magnet:?xt=" + match[1]); } }); return xtValues; } function extractED2KFromHTML(html) { const ed2kRegex = /ed2k:\/\/\|file\|[^|]+\|\d+\|[A-Fa-f0-9]{32}\|\//g; const matches = html.match(ed2kRegex); if(matches && matches.length > 0){ return [...new Set(matches)]; } return []; } function extractThunderFromHTML(html) { const thunderRegex = /thunder:\/\/[A-Za-z0-9+/=]+/g; const matches = html.match(thunderRegex); if(matches && matches.length > 0){ return [...new Set(matches)]; } return []; } function addCopyButton(xtValues, appendData) { appendData = appendData || false; const clickBtn = document.createElement('a'); clickBtn.style.cssText = "position:fixed;z-index:99999999;right:15px;color:#fff;padding:10px 15px;font-size:12px;border-radius:5px;overflow:hidden;cursor:pointer;text-decoration:none;" + (appendData ? "background-image:linear-gradient(to right,#b8cbb8 0%,#b8cbb8 0%,#b465da 0%,#cf6cc9 33%,#ee609c 66%,#ee609c 100%);bottom:20%;" : "background-image:linear-gradient(to right,#4facfe 0%,#00f2fe 100%);bottom:30%;"); clickBtn.textContent = appendData ? "追加所有磁力/电驴/迅雷链接" : "复制所有磁力/电驴/迅雷链接"; clickBtn.addEventListener('click', async() => { let oldXtValues = await navigator.clipboard.readText(); if(appendData && oldXtValues.length > 0){ xtValues = xtValues.concat(oldXtValues.split('\n')); } webPageCopyToClipboard(xtValues.join('\n')).then(() => { webPageShowMessage(appendData ? "追加成功了" : "复制成功了") }); }); document.body.appendChild(clickBtn); } function addCopyButtons() { const html = document.documentElement.outerHTML; let xtValues = extractMagnetsFromWebPage(html); console.log("xt", xtValues, extractED2KFromHTML(html), extractThunderFromHTML(html)); xtValues = xtValues.concat(extractED2KFromHTML(html)); xtValues = xtValues.concat(extractThunderFromHTML(html)); console.log("ee", xtValues); if(xtValues.length === 0){ return; } addCopyButton(xtValues); addCopyButton(xtValues, true); } addCopyButtons(); })();