geektorrent goes live! First django powered bittorrent tracker/indexer?
geektorrent is a tracker made for geeks. It is supposed to be a place to gather legal content such as programming screencasts/conferences, gaming videos, physics papers and basically anything vaguley “geeky”. It is however NOT a tracker for the latest movie and software releases… there are plenty of those. Instead I hope to target a more specific group of people, and bring lots of interesting content together at a single site.
The basic rule is “don’t upload it if you think that the creator wouldn’t want it there”. Old tv-documentaries might be copyrighted, but if there are no profit to be made any more, I see no reason for not allowing it. If any copyright owner spot anything on the site that they feel have been uploaded against their will, I will of course remove the content. I want to be a nice guy and the best way for preservation of good content is global distribution.
To be honest I’m not 100% sure that this is a niche that needs filling, and that people will start to contribute to the site by uploading nice content, but there are only one way to find out
And now for some of the technology behind the scenes…
I’ve been planning on creating a torrent tracker for quite some time and have explored my options of technologies to use. The only one thing I was 100% sure of was that I was not going to use TBSource. I downloaded their source code to browse through it for ideas and it was just horrible. Since this is a extremely common php-application I was actually a bit surprised on how horribly designed it is. I could probably write an entire entry about this, but I’ll leave that for later… let’s just say that a torrent tracker/indexer is not a very hard thing to write, and I’m surprised that there aren’t any better open source options.
I did however have a look at using XBT Tracker as a backend, which did look quite nice, but turned out to be a bitch to interface with django, due to the lack of binary storage fields and it’s use of binary hashes. It was also a bit non responsive, and lacked decent documentation, but all in all it seems to be a decent option… just not with django. I actually made a complete working implementation using XBTT but it was so messy that I ended up scrapping that idea completely.
I basically ended up doing the entire thing in django, including the backend tracker. This will give some overhead (apache loves overhead!) for the announce, but will be easy to scale, and my implementation would actually not be very hard at all to change to include a separate server for the backend if needed later. I do tend to avoid premature optimization though, and I am 100% sure that this will scale just fine for now.
As far as I know there are no major (or minor?) bittorrent trackers/indexers powered by django so far, so this might be the first one (please correct me if I’m wrong) ![]()
Google only turns up an incomplete project anyways.
I do intend to open source my code base as a general django bittorrent tracker once it is up to my rather high standards, and proper documentation has been written, so hopefully people will have a viable option to TBSource rather soon

Coolers! Cheers for making a django tracker ;->
And geektorrent is itself a great idea!
Hi
I think what you’ve done is quite impressive and would really like to see how it all turns out. You talked about releasing the tracker code as Open Source, that just made my day, when things are completed which I think is great. Hope it will be soon.
Great work! How about adding [rss] feeds ?
This is just what I was looking for. It looks great, well done. I do hope that the code will be released shortly. I cant wait.
Looks very nice, congratz!
I am very interested for a company project in the source, any chance on releasing it to just me for now ;).
Thanks
John
Hi, I run one Brazilian bittorrent tracker that only distributes anime, I’m interested in help your project.
Thanks in advance
Where could i get geektorrent source code?
Where could i get geektorrent source code?
Any updates on django based tracker project?
Source code should be available shortly.