btd is a daemon that allows users to login and control downloads using the BitTorrent p2p system.

Project Page

I started developing this as a specific need for myself, but figured others could benefit from it as well. Like many users I have residential broadband, specifically DSL. My down is 1.5mbps and my up is ~384kbps (and those are bits-per-second folks). So when I go to download files using BitTorrent my upload gets saturated, which in turn lowers my downloads. That, and since I don't have very much up to begin with I get choked by other users. So unless I hit a seeder my downloads tend to lag under my maximum actual transfer.

So I thought to myself, "Man, I wish I had the bandwidth I used to have when I lived on campus". At that point I had an idea. I still had a friend on campus running a linux machine that I had an account on. So I started downloading files there. Much nicer. They finished quicker and then I could pull them from that machine at my constant down rate un-interupted. This worked nicely but was kind of cumbersome, as all I had was shell access and i'm lazy. So i decided to write a daemon and a gui so i could lazily point and click my way thru everything. And that is what btd is starting to become.

I have a working daemon that happily downloads files for me. It uses MySql to manage all it's files. I already have plans to port to other SQL engines such as PostgreSQL (a friend of mine prefers that) and SQLite (For a win32 ver). It uses the python BitTorrent client to download files. Eventually I want to move to a library for a more sleek interface and control, as right now I spawn BitTorrent as a seperate process and pipe stdio.

I also have a shell of a GUI running as well. It's functional but lacks alot of nicety features. I use wxWindows so that it is easy to port cross-platform. There are some command-line utilites written that will hopefully make it easy to do scripting and other web based interfaces.

This is just an interim web page until I get everything ready to be public. Gotta do some more code cleanup. The daemon code seems fairly stable at present, so gotta resist the urge to add features until I get a relase put together. Plus no automake tools setup yet either.

Yay! Sourceforge! Logo