btd is a daemon that allows users to login and control downloads using the BitTorrent p2p system.
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
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.