Greasy Fork

Greasy Fork is available in English.

Copy Magnet URL

Добавляет кнопку «Копировать магнитный URL» рядом с магнитными ссылками и удаляет дополнительную информацию из магнитных ссылок.

当前为 2024-04-07 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Copy Magnet URL
// @name:uk      Copy Magnet URL
// @namespace    http://greasyfork.icu/users/1221433
// @version      1.0
// @description  Добавляет кнопку «Копировать магнитный URL» рядом с магнитными ссылками и удаляет дополнительную информацию из магнитных ссылок.
// @description:uk  Додає кнопку «Копіювати URL-адресу магніту» поруч із магнітними посиланнями та обрізає додаткову інформацію з магнітних посилань
// @author       Sitego
// @match        *://rutor.info/*
// @match        *://nnmclub.to/*
// @match        *://rutracker.org/*
// @match        *://kinozal.tv/*
// @icon         https://cdnbunny.org/i/magnet.gif
// @grant        GM_setClipboard
// @license      MIT
// @require      https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js
// ==/UserScript==

(function () {
  'use strict';

  // Функция для копирования текста в буфер обмена
  function copyToClipboard(text) {
    const input = document.createElement('textarea');
    input.innerHTML = text;
    document.body.appendChild(input);
    input.select();
    document.execCommand('copy');
    document.body.removeChild(input);
  }

  // Функция для добавления кнопки "Копировать Magnet" рядом с магнет-ссылками
  function addCopyMagnetButton(link) {
    var magnetLink = link.split('&')[0]; // Обрезаем лишнее после хеша
    var copyButton = $('<button>Копировать Magnet</button>').css({
      'background-color': '#ff0000', // Красный цвет фона
      'color': '#ffffff', // Белый цвет текста
      'font-weight': 'bold',
      'margin-bottom': '7px',
      'border': 'none', // Убираем границы
      'padding': '5px 10px', // Отступы внутри кнопки
      'margin-left': '10px', // Отступ слева для разделения кнопок от ссылок
      'cursor': 'pointer', // Курсор при наведении
      'border-radius': '5px', // Закругление углов
    }).click(function () {
      // Изменение стиля кнопки на время нажатия
      $(this).css({
        'background-color': '#cc0000', // Темнокрасный цвет фона
      });
      copyToClipboard(magnetLink);
      // Возвращение оригинального стиля после небольшой задержки
      setTimeout(function () {
        copyButton.css({
          'background-color': '#ff0000', // Возвращаем красный цвет фона
        });
      }, 200); // Задержка 0.2 секунды
    });
    if (window.location.hostname === 'kinozal.tv') {
      $('#containerdata').append(copyButton);
    } else {
      $(this).after(copyButton);
    }
  }

  // Проверка нахождения на сайте kinozal.tv
  if (window.location.hostname === 'kinozal.tv') {
    // Добавляем обработчик клика по ссылке для открытия блока с информацией о хеше
    $(document).on('click', 'a[onclick^="get_torm"]', function () {
      setTimeout(function () {
        var hashText = $('li:contains("Инфо хеш:")').text().replace('Инфо хеш:', '').trim();
        var magnetLink = 'magnet:?xt=urn:btih:' + hashText;
        addCopyMagnetButton(magnetLink);
      }, 1000); // Добавляем задержку, чтобы дать время для загрузки информации
    });
  } else {
    // Если не на kinozal.tv, то добавляем кнопки копирования рядом с магнет-ссылками сразу
    $('a[href^="magnet:"]').each(function () {
      addCopyMagnetButton.call(this, $(this).attr('href'));
    });
  }
})();