Magnet2Torrent

Magnet to Torrent converter using itorrents.org

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name        Magnet2Torrent
// @match        *://*/*
// @grant       none
// @version     1.0
// @author      SH3LL
// @description Magnet to Torrent converter using itorrents.org
// @namespace https://greasyfork.org/users/762057
// ==/UserScript==

(function() {
    'use strict';

    // Extract HASH from magnet link
    function getHashFromMagnetLink(magnetLink) {
        var match = magnetLink.match(/magnet:\?xt=urn:btih:([a-fA-F0-9]+)/);
        return match ? match[1] : null;
    }

    // Click Action
    function handleButtonClick(hash) {
        var torrentLink = 'https://itorrents.org/torrent/' + hash + '.torrent';
        window.open(torrentLink, '_blank');
    }

    // Scrape al magnets in the page
    var magnetLinks = document.querySelectorAll('a[href^="magnet:"]');

    // Loop for all magnets
    magnetLinks.forEach(function(link) {
        // GET HASH
        var hash = getHashFromMagnetLink(link.href);

        // CREATE THE BUTTON
        if (hash) {
            var button = document.createElement('button');
            button.innerHTML = '📥️';
            button.style.marginLeft = '5px';
            button.style.marginRight = '5px';
            button.addEventListener('click', function() {
                handleButtonClick(hash);
            });


            link.parentNode.insertBefore(button, link);
        }
    });
})();