2007-07-01 --- Long time no update...

It's been a long time since I last updated BitSlug. Refactoring took more time than expected, and I was very busy with final exams, project works and my thesis. Right now is not good either, but a last release is planned, and after that, I will come up with a new concept for BitSlug.
Actually, it's already in the works, but I can't tell any details yet. The general idea will be separating the BitTorrent engine and the user interface into separate programs. I was also thinking about making the engine network-aware, but this requires work on security measures.
By making this change, it will be possible to provide BitTorrent services to any program that requires them, but the user will still have full control over the file sharing process.
Aside from a simple command line front end and a GUI (similar to the current one, but without Metal ;) ), other apps are to be written (I have something specific in mind which I will reveal later).


BitSlug is a BitTorrent client for Mac OS X, aiming at low CPU usage and tight integration into the desktop. Since there are already some native implementations of the BitTorrent protocol available, I decided not to implement one of my own, but instead use one that's suitable for a GUI application.
First, I wanted to use libbt, because it's written in C and doesn't require external libraries. Unfortunately, libbt has a very strange design, and is by all means not a good solution for an object-oriented GUI application.
Now, there are two C++ libraries. libtorrent and libtorrent. Yes, they've both got the same name. One uses sigc++ and targets mainly Linux (it works on OS X though), the other is extremely portable thanks to the C++ class library boost. I chose the latter, and I think it saved me a lot of effort. Thus, basically, thanks go to Rasterbar Software for their good implementation.
Please note this is my first Cocoa application. I just wanted something useful for me and others, so I chose a BitTorrent client.
If you'd like a feature to be implemented or a bug fixed, don't hesitate to contact me. I hope I can handle the traffic. If you like, you can also directly go to the SourceForge project page and file your complaints in the bug tracking system.


These are universal binaries compiled for both PowerPC and Intel Macs.

The Panther (10.3) release has been cancelled for now. I didn't realize Universal Binaries require Tiger to build/run... *sigh*
Anyway, here's the next release towards 0.2:
DMG BitSlug-0.2b.dmg

This is the older 0.1 release. It has been tested on a PowerBook G4, several iBook G4s and an iMac Core Duo with Mac OS X Tiger (10.4).
DMG BitSlug-0.1.dmg


To see what it looks like in full action:


The development page can be found on SourceForge
There are still a lot of features missing, and of course there are bugs.
My top priority at the moment, though, is preparing an easily buildable source package. BitSlug is statically linked to a custom-built libtorrent, which in turn is statically linked to a custom-built boost. I'm aiming at packing the three Xcode projects into one and supplying a libtorrent framework inside the final application bundle. I'm having difficulties with this, though. Please provide hints if you know how it works.









libtorrent by Rasterbar Software (required to build BitSlug)
boost C++ libraries (required to build BitSlug)
The official BitTorrent implementation
The "other" libtorrent
The C implementation