





 |
Where can I download the BitTorrent program?
There are several choices here, because unlike some peer to peer
applications (such as Kazaa), the BitTorrent implementation is open
source. This means that programmers are free to take the source code to
the program and modify it, if they feel there is something they'd like
to change. Here are the various clients of which I am aware:
Microsoft Windows
- The Shad0w's experimental client
- Recommended! This client incorporates
the codebase of the official version as well as all the improvements
of the experimental version, below. Additionally, there are some
misc. bug fixes, improvements from the latest development CVS
sources, a user preferences feature that remembers its settings, and
more. I highly recommend this version!
(alternate)
(alternate 2)
-
burst! - Recommended! This client
features a smaller memory footprint compared to the others, due to
replacing the wxPython GUI with one written in Delphi. The GUI lets
you control multiple transfers from a single window, in addition to
many other handy features such as a built-in TorrentSpy-like
capability. It uses the same Python back-end as The Shad0w's client
so you also get all of the recent developments included therein.
- burst
plus! - A client which is based on the burst base and includes
Spanish language support, as well as some other additions.
- SimpleBT
- Another fork of the burst code base that features Chinese language
support.
- ABC ("Another
BitTorrent Client") - This is a relatively new client that
includes many of the most recent changes in the experimental
versions, as well as other added features such as controling
multiple downloads from a single window, queueing, automatic
seeding, etc. See also:
Sourceforge
page.
-
Official client - This is the "official" client in that it is
the latest supported version from Bram Cohen, architect of
BitTorrent. It has the fewest features of all the clients, and
releases are much more conservative than the experimental versions.
Use this if you want stability but don't need any of the common
features of the other clients, such as upload rate limiting. See
also:
(CVS view),
Sourceforge
page.
- Eike Frost's
Experimental client - This is based on the official version,
with patches to allow upload rate control and show statistics about
the number of peers and seeds, among other things. New in the "-2"
revision is support for displaying additional details about the
peers that are connected, as well as some annoyance and bug fixes.
- Azureus - A very nice
Java client that incorporates a full-featured GUI with extensive
visualizations/statistics about the transfer. You will need the 1.4
JRE installed to run this, which can be obtained from
this link.
See also:
Screen shots.
- Personal Torrent Collector (PTC)
- This is an alternative GUI interface to the Python BitTorrent
client. It has support for a number of interesting features, such as
the ability to control the total bandwidth usage of a group of
BitTorrent transfers, and RSS syndication for organizing torrent
files. See also:
SourceForge page.
- Shareaza - Newer public
beta versions of this program now include BitTorrent support, in
addition to the eDonkey2k and Gnutella protocols. However, the
BitTorrent support may still have bugs, and some things (such as
seeding a file) may not be as straightforward as with dedicated
BitTorrent clients.
- NovaTorrent - I
welcome reviews of this client. :-) I have not personally evaluated
it yet.
- BitTorrent++
- This is an alternative to the official client. It supports extra
functionality such as multiple downloads from a single GUI. Some
people (myself included) have experienced major bugs with this
program, so consider it unstable and use a different client unless
you want to experiment. It appears to be abandoned and has not had
any bug fixes in a long time. Therefore, since these bugs have
the ability to adversely affect the performance of the BitTorrent
swarm, so pleae do not use this client.
Mac OS X
-
Official client v3.2.2a - This is the newest build of the client
for OS X 10.2 (Jaguar.) It incorporates adjustments for upload rate
control, as well as preferences for min/max port. Also included are
some statistics (number of peers, total uploaded/downloaded) and
support for Rendezvous (ability to find peers on the same side of
the firewall and allow trackerless operation in the local domain.)
Note: If you get the error message
Download failed when you try to open a torrent with this
version, try the following fix. Note:
Apparently the new 3.2.2a version linked above fixes this glitch.)
- Move all installed copies/versions of bittorrent to the
trash.
- Empty the trash.
- Open the BitTorrent_OSX_3.2.2a.dmg file again and
copy the bittorrent program directly into the Applications
folder.
-
Official client v3.1 - Try this previous version of the client
if you have difficulties with 3.2.2.
-
3.1 client with rate limiting patch - I have no additional
details about this version.
- Sarwat Khan's OS X
client - You may also want to try this alternative to the stock
OS X build. See also:
Screenshots
- Additionally, you should be able to run any of the various
Python/wxPython based clients directly from the source code, but it
may take a little bit of work. Here are the steps you should follow.
Note, I am not a Mac user so I can't guarantee this will work, if
someone could do it and send me the exact instructions, I'll post it
here.
- Install Python. If you are running 10.2, download
this bundle of Python 2.3a3 (see also:
Home Page.) If you are running 10.1, there is a pre-packaged
version
here &emdash; please read the instructions on the
home page, note that you
cannot use stuffit with this archive. If you want more
information on Python and Macs, try
this
link.
- Install wxPython. For 10.2 and Python 2.3, use
this package (2.4.0.7). If you don't have Python 2.3, you
may have to use a previous version,
such as this one (2.4.0.2).
This page at Sourceforge contains the latest as well as
several previous versions.
- Install the source code for the BitTorrent client. The above
section for Windows clients has links to source code.
- To start the GUI client, run "python btdownloadgui.py
--responsefile file.torrent", where file.torrent is the
torrent file which you have already downloaded. See also the
section below on using the BitTorrent command line tools. Also,
the command-line version of Python should be in your path for
this to work. See
this page for instructions on adding /usr/local/bin
to your path.
Max OS 9
There is no official support for Mac OS 9. Further, wxPython does not
seem to be ported to Mac OS 9, which means you cannot run the GUI
versions. However, there is hope: you can still use BitTorrent, although
it will take a little bit of extra work.
- Download and install
MacPython. Please refer to
this page
for more information on Python and Macs.
- Download and unpack the
source code to the client.
- Option-Drag the file btdownloadheadless.py from the
source code to PythonInterpreter. Then click Set unix-like
command line interpreter, and enter "--url http://server/file.torrent",
except substitute the actual URL of the .torrent file. This
is the same as the "download" link on whatever web page offered the
torrent. Select Go and the file should begin downloading. If
you get an error message that ends in ImportError: cannot
import name getpid, use the following procedure:
- Find the file download.py from the source code
(it's in the subfolder named BitTorrent) and open it
with any plain-text editor.
- Search near line 23 for the following:
from os import getpid, path, makedirs
And remove the getpid word so that the line now reads:
from os import path, makedirs
- Search near line 177 for the following:
myid = (chr(0) * 12) + sha(repr(time()) + ' ' + str(getpid())).digest()[-8:]
and change it to the following:
myid = (chr(0) * 12) + sha(repr(time())).digest()[-8:]
- Save the file, and retry the above procedure for
downloading, hopefully this time without the error message.
Linux/Unix
Most of the clients that are pure Python/wxPython (e.g. the official
BitTorrent client, Eike Frost's experimental, Shad0w's experimental)
will run under *BSD/Linux without problems. The source code tarballs for
all of these clients are available at the home pages; see the links
above. Clients written in other cross-platform languages such as Java
(e.g. Azureus) should also work.
The biggest challenge to running a BT client under *BSD/Linux is
getting the required libraries installed. At a minimum you will need
Python 2.2 or greater. If you want to use the '-gui' versions of the
clients you will also need wxWindows, which has Python bindings called
wxPython. These should all be available as packages for your system.
Your first step should be to consult your distribution's package system
and get these prerequisites installed.
For Debian systems there is a package called
bittorrent,
which requires the
python 2.2 package. You should also install the packages
libwxgtk2.4-python and
mime-support,
if you plan to use the GUI version of the client.
If you are using Mandrake with Cooker, you might want
to try the RPMs listed
here.
Below are some general instructions for installing on a Unix/Linux
system.
Install Python, preferably version 2.2. You can run "python -V"
to see what version you currently have installed, if any. Also, you may
have multiple versions of Python installed, so you might check /usr/bin
for commands like python2.2 if plain python says it's
version 1.x. If your distribution uses packages, use the search tool to
find prepackaged versions before trying to manually install. Try
here and
here for Python RPMs.
Install wxPython if you want to use the GUI version. Note that this
will require the GLib and GTK+ libraries, which are
probably already on your system if you have GNOME installed. (Start
here or search your distribution's
package manager if you need GTK+.) You'll want to find the wxPython
package corresponding to the version of Python which you have installed.
For RPM systems such as RedHat and Mandrake, you might try the following
wxPython RPMs corresponding to
version 2.1,
version 2.2, and
version 2.3 of Python. More RPMs are available at
the Sourceforge site, and you can also consult the
wxPython download page.
Please be aware that the RPMs linked above assume that Python is
installed under /usr and that the Python libs are in /usr/lib/python2.x/.
If this is not the case, you will probably need to tell the installer
this information.
Finally, install the source tarball for the BT client to a directory
of your choice. To integrate the client with your web browser, it will
be necessary to associate files of type "application/x-bittorrent"
with the BitTorrent client. You will need to add a line such as the
following to your /etc/mailcap file:
application/x-bittorrent; /usr/local/bin/btdownloadgui.py --responsefile
%s; test=test -n "$DISPLAY"
Note that you should substitute the correct path for the location in
which you installed the source tarball. If don't have wxPython or would
prefer to use one of the text-mode clients you can replace
btdownloadgui.py with btdownloadcurses.py or
btdownloadheadless.py. Also note there's an error in the
INSTALL.unix.txt file, which is missing the --responsefile
argument.
Other web browsers may have a different way of associating a command
with a MIME-Type, so you may want to try looking at the preferences or
init file for details.
Java Clients (platform independent)
- Azureus - A
full-featured Java BitTorrent client with many enhancements and
features.
- snark 0.4 - Snark is
an implementation of BitTorrent protocol that uses gcj, the GNU
Compiler for Java. In addition to acting as a regular client, Snark
also includes an integrated .torrent file creator, micro-HTTPd
server, and tracker. With Snark the user can share files with a
single command, without the usual hassle of installing a tracker,
finding a web server, posting the .torrent file, etc.
Compilation requires gcj 3.3 or higher; alternatively you can find a
precompiled bytecode version
here. See the
home page for more information.
-
Effusion 0.3 - Experimental Java client with IRC integration.
See home page
for details and usage.
- JTorrent 0.1
- This is a line-by-line port of the 3.0.2 python client/tracker to
Java. It currently installs and runs under Windows and Unix, and
requires the JRE v1.4 or greater. To install, download the
installer and have a look at the
README file. See also the
project status README. Note that this is alpha-level code, so be
prepared for bugs.
Taken from
http://dessent.net/btfaq/#where |