Greasy Fork

Torrentz2 Magnet

Add magnet link to torrentz2

当前为 2017-01-12 提交的版本,查看 最新版本

// ==UserScript==
// @name        Torrentz2 Magnet
// @namespace   tzeumg
// @description Add magnet link to torrentz2
// @include     /^https:\/\/torrentz2\.eu\/[a-f0-9]{40}$/
// @include     https://torrentz2.eu/verified*
// @include     https://torrentz2.eu/search*
// @include     https://torrentz2.eu/my
// @include     /^https:\/\/torrentz2\.me\/[a-f0-9]{40}$/
// @include     https://torrentz2.me/verified*
// @include     https://torrentz2.me/search*
// @include     https://torrentz2.me/my
// @version     1.8
// @grant       GM_addStyle
// ==/UserScript==

var downloadText = "?";

if (document.URL.indexOf("/search") > 0 || document.URL.indexOf("/verified") > 0 || document.URL.substr(document.URL.length-3) === "/my") {
    var dtlist = document.querySelectorAll('.results > dl> dt');
    for (var i = 0; i < dtlist.length; i++) {
        var linkel = dtlist[i].firstChild;
        var hash = linkel.href.substr(linkel.href.length - 40);
        var dn = linkel.innerHTML;
        var defaulttrackers = "&tr=udp://tracker.coppersurfer.tk:6969/announce"+
            "&tr=udp://tracker.leechers-paradise.org:6969/announce"+
            "&tr=udp://tracker.zer0day.to:1337/announce"+
            "&tr=udp://tracker.sktorrent.net:6969/announce";
        var magneturi = "magnet:?xt=urn:btih:" + hash + "&dn=" + dn + defaulttrackers;

        var magnetlink = document.createElement("a");
        magnetlink.href = magneturi;
        magnetlink.style.fontWeight = "bold";
        magnetlink.innerHTML = downloadText+" ";
        dtlist[i].insertBefore(magnetlink, dtlist[i].firstChild);
    }
} else {
    var hash =  document.querySelector('.trackers > h2:nth-child(1)').childNodes[1].nodeValue.substr(6);
    var dn = document.querySelector('.t').childNodes[0].nodeValue.trim();
    var tr = '';

    var trackers = document.querySelectorAll('.trackers > dl > dt');

    for (var i = 0; i < trackers.length; i++) {
        tr += "&tr=" + trackers[i].innerHTML;
    }

    var magneturi = "magnet:?xt=urn:btih:" + hash + "&dn=" + dn + tr;

    var torrentTitle = document.querySelector(".download > h2:nth-child(2)");

    var magnetlink = document.createElement("a");
    magnetlink.href = magneturi;
    magnetlink.style.fontWeight = "bold";
    magnetlink.innerHTML = downloadText+" ";
    torrentTitle.insertBefore(magnetlink, torrentTitle.firstChild);
}