[CentOS-mirror] IPv6 Bittorrent tracker for CentOS torrents
centosmirror at miuku.net
Sat Sep 24 19:28:29 EDT 2011
Hi, this message is related to the enhancement request I filed at
http://bugs.centos.org/view.php?id=4652 where I proposed to have an
IPv6-enabled CentOS torrent tracker.
I've been operating a torrent seedbox at http://norsu.miuku.net/ for
about a year now and it has been pushing bits at a rate of about
5TB/month. It's not restricted to serving only CentOS data, but I'd
estimate that it has served about 5TB of CentOS data in total so far.
Yes, I know there are proper mirror servers which have traffic amounts
much higher than that, but that's beside the point.
My primary goal with setting up that torrent seedbox was to increase the
amount of bits transferred over IPv6, as in, I'd serve primarily IPv6
clients and IPv4 clients would get only the leftover bandwidth.
Unfortunately the amount of IPv6 traffic is still quite low, but I'd
like to help in changing that trend, even if only by a tiny amount. I'm
a computer science student nowadays and my studies concentrate on
computer networks, thus IPv6 adoption is a particularly interesting
subject to me.
Besides the fact that there might not be that many IPv6-enabled hosts
downloading data with bittorrent, there's also a technical problem which
hinders IPv6 usage with bittorrent. Obviously most IPv6-capable peers
are also able to connect to IPv4 trackers, so that's not the problem.
The problem is how the tracker gets to know the client's IPv6 address if
the client connects to the tracker with IPv4. And if the tracker doesn't
know the client's IPv6 address, it can't tell that IPv6 address to other
clients connecting to the tracker, thus forcing clients to connect to
each other using IPv4 even if they were both IPv6 enabled.
There are bittorrent protocol extensions that allow the client to
include the IPv6 address in the data when connecting to the tracker, but
my experience shows that most trackers seem to either not implement
those protocol extensions, or intentionally disregard any extra IP
address information. By having a tracker with an IPv6 address, the
tracker can simply record the source address of the connection.
The problem is that CentOS has only an IPv4 tracker at this moment. I'd
suggest setting up a separate tracker that would be accessible via IPv6.
As a proof of concept, I have set up an instance of OpenTracker
(compiled from source from
http://erdgeist.org/arts/software/opentracker/) on a separate
IPv6-enabled server; some assorted files of that tracker can be seen at
I have also modified (with the help of torrenteditor.com) some existing
CentOS 6 torrents to include my IPv6-enabled tracker. These torrent
files can be found at http://norsu.miuku.net/torrents/ipv6/
Those torrents could be placed in the appropriate place so that they'd
get used for any new CentOS 6 downloads. Please note that even though
the torrents have been modified to include an additional tracker, the
info hash is unchanged. This means that the torrent swarm won't be split
even if someone now starts using the new torrents. Using these modified
torrents now would enable us to test the new tracker with a bit less
traffic, as compared to trying the new tracker only when C6.1/C5.8 is
I offered to maintain this IPv6 torrent tracker server myself for the
benefit of the CentOS community. The offer is still valid, but Karanbir
suggested that there might already be some CentOS servers which might be
suitable for this purpose. Someone with the appropriate privileges would
need to set up the IPv6 tracker on some IPv6-enabled server and set up
an AAAA record pointing to that server (perhaps named
ipv6.torrent.centos.org, as in my modified torrents).
The torrent creation scripts would need to be updated to include "-a
http://ipv6.torrent.centos.org:6969/announce", assuming you're using the
standard mktorrent. Please note that "-a URL1,URL2" would create a
different kind of torrent than "-a URL1 -a URL2". The "-a URL1 -a URL2"
method is preferred as it'll create two separate tracker groups.
My focus point with this project is on dual-stacked machines -- if the
machine has a possibility to download the torrent data over IPv4 or
IPv6, I'd prefer that it'd be done over IPv6. This is slightly different
than the IPv6 mirrorlist project that was discussed on this list some
time ago, as it was aimed at IPv6-only networks. In particular, we
wouldn't need to have IPv6 connectivity for centos.org name servers for
this IPv6 tracker project.
I feel that setting up an IPv6 torrent tracker wouldn't be that much of
work and it'd signal that CentOS is doing its share when it comes to
Perhaps the forthcoming CentOS 6.1 torrents will already include the new
IPv6 torrent tracker?
More information about the CentOS-mirror