// ==UserScript== // @name BT4G Magnet AutoGen // @namespace https://ahogek.com // @version 1.0.1 // @description 自动转换BT4G哈希到磁力链接并延迟尝试关闭页面 // @author AhogeK // @match *://downloadtorrentfile.com/* // @icon https://downloadtorrentfile.com/favicon.ico // @grant GM_setValue // @grant GM_getValue // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; const hash = window.location.pathname.split('/')[2]; if (hash && hash.length === 40) { // 生成磁力链接 const magnetLink = `magnet:?xt=urn:btih:${hash}`; // 获取用户设置的延迟时间(默认3秒) let closeDelay = localStorage.getItem('bt4g-close-delay') || 3000; // 检查是否已经触发过下载 if (!sessionStorage.getItem('bt4g-download-triggered')) { // 标记已触发下载 sessionStorage.setItem('bt4g-download-triggered', 'true'); // 添加设置面板(只在第一次触发时添加) addSettingsPanel(closeDelay); // 触发下载 window.location.href = magnetLink; // 延迟尝试关闭页面 setTimeout(() => { try { window.close(); } catch (e) { // 如果无法关闭,显示一个小通知 showNotification('无法自动关闭页面,请手动关闭此标签页'); } }, parseInt(closeDelay)); } } // 添加设置面板 function addSettingsPanel(currentDelay) { const panel = document.createElement('div'); panel.id = 'bt4g-settings'; panel.style.cssText = ` position: fixed; top: 20px; right: 20px; background-color: #f0f0f0; border: 1px solid #ccc; border-radius: 5px; padding: 15px; z-index: 9999; box-shadow: 0 2px 5px rgba(0,0,0,0.2); font-family: Arial, sans-serif; `; panel.innerHTML = `