-
-
Save hightemp/e4c88af7649366b60aa7c30cde18248b to your computer and use it in GitHub Desktop.
Rutracker Magnet + trackers addon for GreaseMonkey
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Rutracker.org Magnet URLs | |
// @namespace rutrackerorg-magnet-urls | |
// @description Transforms torrent hash into a magnet url | |
// @include https://rutracker.org/* | |
// @include https://rutracker.cr/* | |
// @include https://rutracker.net/* | |
// @include https://rutracker.nl/* | |
// @include http://rutrackerripnext.onion/* | |
// @version 9 | |
// @grant none | |
// ==/UserScript== | |
// No longer using udp://tracker.opentrackr.org:1337/announce - it has hash blacklists | |
// No longer using udp://open.demonii.com:1337 - stopped operation | |
var trackers = [ | |
"udp://tracker.coppersurfer.tk:6969/announce", | |
"udp://tracker.leechers-paradise.org:6969/announce", | |
"udp://tracker.internetwarriors.net:1337/announce", | |
"udp://exodus.desync.com:6969/announce", | |
"udp://tracker.openbittorrent.com:80/announce", | |
"udp://tracker.sktorrent.net:6969/announce", | |
"udp://tracker.zer0day.to:1337/announce", | |
"udp://tracker.pirateparty.gr:6969/announce" | |
] | |
if (window.BB.IS_GUEST) { | |
var e = document.getElementsByClassName('magnet-link')[0]; | |
if (e) { | |
var magnet_link = e.getAttribute("href"); | |
var hash = magnet_link.match(/^magnet:\?xt=urn:btih:([0-9A-F]{40})&tr=.*/)[1]; | |
if (hash) { | |
var rutracker_tracker = decodeURIComponent(magnet_link.match(/.*\&tr=(.*)$/)[1]); | |
trackers.unshift(rutracker_tracker); | |
var urlencoded_trackers = trackers.map(function(tracker) { | |
return "&tr=" + encodeURIComponent(tracker); | |
}); | |
e.innerText = hash; | |
e.innerHTML = "<a href='magnet:?xt=urn:btih:" + hash + urlencoded_trackers.join('') + "'>" + hash + "</a>"; | |
} | |
} | |
} | |
else { | |
var e = document.getElementById("tor-hash"); | |
if (e) { | |
var hash = e.innerText; | |
if (/^[0-9A-F]{40}$/.test(hash)) { | |
var parent_href = document.getElementsByClassName('med magnet-link magnet-link-16')[0]; | |
var magnet_link = decodeURIComponent(parent_href.getAttribute("href")); | |
var rutracker_tracker = decodeURIComponent(magnet_link.match(/.*\&tr=(.*)$/)[1]); | |
if(rutracker_tracker) | |
trackers.unshift(rutracker_tracker); | |
var urlencoded_trackers = trackers.map(function(tracker) { | |
return "&tr=" + encodeURIComponent(tracker); | |
}); | |
e.innerHTML = "<a href='magnet:?xt=urn:btih:" + hash + urlencoded_trackers.join('') + "'>" + hash + "</a>"; | |
//e.innerHTML = rutracker_tracker; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment