pythontorrentlibtorrentmagnet-urilibtorrent-rasterbar

Libtorrent: Add multiple tracker in magnet_link uri


I am trying to use multiple tracker in libtorrent. I am using magnet_link instead of torrent file directly in leechers. While seeding I am able to add multiple tracker in add_tracker(). But when I am generating magnet_link like:

 magnet_link = "magnet:?xt=urn:btih:"+b32hash+"&tr="+tracker

I am not sure, how can I add multiple tracker in tr="+tracker

Seeder side code to generate magnet link:

torrent = open(tfile_path, 'r').read()
metadata = lt.bdecode(torrent)
hashcontents = lt.bencode(metadata['info'])
digest = hashlib.sha1(hashcontents).digest()
b32hash = base64.b32encode(digest)
magnet_link = "magnet:?xt=urn:btih:"+b32hash+"&tr="+tracker

Leecher side code to use magnet_link:

params = {'save_path': temp_path}
h = lt.add_magnet_uri(ses, magnet_link, params)

Solution

  • You can add multiple trackers simply by repeating the tr parameter like this:

    magnet_link = "magnet:?xt=urn:btih:"+b32hash+"&tr="+tracker1+"&tr="+tracker2+"&tr="+tracker3...