// ==UserScript== // @name msdn ed2k转磁力链接脚本 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 选中ed2k先弹窗确认是否转换,确定自动生成磁力链接,附带BT转直链网站,一键复制磁力 // @author 小我 // @match https://msdn.itellyou.cn/* // @grant GM_setClipboard // @grant GM_addStyle // @license MIT // ==/UserScript== (function () { 'use strict'; GM_addStyle(` #convertModal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 440px; background: linear-gradient(145deg, #1e293b, #334155); border-radius: 16px; padding: 24px; box-shadow: 0 8px 30px rgba(0,0,0,0.4); z-index: 999999; display: none; color: #f1f5f9; font-family: system-ui; } .modal-title { font-size: 18px; font-weight: bold; margin-bottom: 16px; color: #38bdf8; display: flex; align-items: center; gap: 8px; } .line-item { margin: 14px 0; } .label-text { font-size: 13px; color: #94a3b8; margin-bottom: 6px; } .content-box { background: #0f172a; padding: 10px 12px; border-radius: 8px; word-break: break-all; font-size: 13px; line-height: 1.5; } .btn-wrap { display: flex; gap: 12px; margin-top: 22px; justify-content: flex-end; } .btn { padding: 9px 20px; border-radius: 8px; border: none; font-size: 14px; cursor: pointer; transition: 0.2s; } .btn-copy { background: #0ea5e9; color: white; } .btn-copy:hover { background: #0284c7; } .btn-close { background: #475569; color: white; } .btn-close:hover { background: #334155; } .tip-desc { font-size: 12px; color: #a5b4fc; margin-top: 8px; } `); const modal = document.createElement('div'); modal.id = 'convertModal'; modal.innerHTML = `
磁力链接:
复制后可使用 qBittorrent、Motrix、迅雷下载
BT转正常下载链接网址:
https://seedr.cc/
粘贴磁力进去解析,生成http直链就能用IDM下载
`; document.body.appendChild(modal); const magnetTextDom = document.getElementById('magnetText'); const copyBtn = document.getElementById('copyMagnetBtn'); const cancelBtn = document.getElementById('cancelBtn'); let nowMagnetLink = ''; function parseEd2k(linkStr) { const reg = /ed2k:\/\/\|file\|(.+?)\|(\d+)\|([0-9A-Fa-f]{32})\|/; const res = linkStr.match(reg); if (!res) return null; return { fileName: res[1], fileHash: res[3] }; } function hashToMagnet(hash, name) { const encodeName = encodeURIComponent(name); return `magnet:?xt=urn:ed2k:${hash}&dn=${encodeName}`; } document.addEventListener('mouseup', () => { const selectText = window.getSelection().toString().trim(); if (!selectText.startsWith('ed2k://')) return; const ed2kInfo = parseEd2k(selectText); if (!ed2kInfo) { alert('选中内容不是合法ED2K电驴链接!'); return; } const isConvert = confirm('是否转换为磁力链接?'); if (!isConvert) return; nowMagnetLink = hashToMagnet(ed2kInfo.fileHash, ed2kInfo.fileName); magnetTextDom.innerText = nowMagnetLink; modal.style.display = 'block'; }); copyBtn.onclick = () => { GM_setClipboard(nowMagnetLink); alert('磁力链接复制成功!'); }; cancelBtn.onclick = () => { modal.style.display = 'none'; nowMagnetLink = ''; }; })();