Closed GoogleCodeExporter closed 9 years ago
first off, thank you for the donation! i appreciate it a lot.
secondly, thanks a lot for the detailed issue report and suggestion.
i understand the issue, but if magnet links don't work for you unless they
explicitly state a tracker, that's almost certainly a configuration problem in
rtorrent. you may wish to review your configuration (compare last box here:
https://wiki.archlinux.org/index.php/RTorrent#Additional_settings)
if you don't specify a tracker
(http://en.wikipedia.org/wiki/Magnet_URI_scheme#Address_tracker_.28tr.29) in a
magnet url like you've encountered, the torrent client is supposed to find the
torrent's metadata using the always-present info hash of the magnet link and
looking it up in DHT (http://en.wikipedia.org/wiki/Mainline_DHT). the &tr=
parameter is just a crutch used by many sites to speed up the lookup, but it
represents a fallback to the old, not-decentralized tracker paradigm.
that being said, i get that it serves a purpose. however, i also think that by
this day and age, torrent clients should be able to do that sort of work on
their own, and i don't think that it should be one of the tasks of RTA to
manipulate links like that. furthermore, the broad assumption that any link you
click on will have its info hash on the trackers you specify (e.g.,
publicbt/openbittorrent) may be inaccurate and you'd have to keep fixing the
crutches you create.
given your situation, if the above rtorrent configuration doesn't fix the
issue, i'd suggest using a small userscript (chrome supports them out of the
box, but they're easier to write/maintain using the extension tampermonkey)
that detects and manipulates magnet links on pages. that way, RTA will pick up
magnet links the way your configuration would expect them.
this one did the job for me:
// ==UserScript==
// @name magnet tracker appender
// @version 1
// @match http*://*/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==
var myTrackers = [
"udp://tracker.openbittorrent.com:80",
"udp://tracker.publicbt.com:80"
];
var links = document.querySelectorAll("a[href^=magnet\\:]");
for(var i in links) {
for(var t in myTrackers) {
links[i].href = links[i].href + "&tr=" + encodeURIComponent(myTrackers[t]);
}
}
Original comment by jul...@gmail.com
on 12 Jan 2015 at 1:20
Original issue reported on code.google.com by
hiphop03...@gmail.com
on 12 Jan 2015 at 12:37