Getting started with Bit Torrent Written by Net Llama! on 23-April-2003.
I'm going to start by explaining a bit about how Bit Torrent
works. If that doesn't interest you, feel free to skip to the next
section.
Bit Torrent is an open source protocol for peer to peer file
distribution. From an end user standpoint its somewhat similar to
the old (now defunct) Napster, and the more recent Kazaa
networks. You can commonly find everything from Linux distro ISOs
to music, to comic book captures in Bit Torrent accessible
formats. One of the primary differences is that Bit Torrent
distributes the file sharing amongst everyone who currently is
downloading or has downloaded a particular file. So, for example,
let say that you are using Bit Torrent to download the new Redhat-9 ISO
images. Once you start downloading it, anyone else who starts
downloading it after you might actually be downloading their copy from
the portion that you already downloaded, or from any other person who
has already started downloading, or completed downloading the RH9
ISOs. This helps to distribute the load, so that files can more
rapidly be redistributed, and so that there isn't a single point of
failure.
Now you're probably already thinking, what if I don't want to share
what I've downloaded, or how can I control what others can download
from me? The Bit Torrent protocol automatically shares the file
you're in the process of downloading. If you aren't comfortable
with that premise, then Bit Torrent is not for you. However, the
instant you finish downloading a file, you can terminate the daemon
that is handling the download, and prevent anyone from downloading from
you. Additionally, you need to create 'torrent' files in order
for unique files to be downloadable from your computer, so without them
none of the file content of your computer is available to others.
Now part of the beauty of Bit Torrent is that everyone can take part in
the process of sharing files with everyone else. So if you opt to
terminate the daemon, then you're cutting others off from what you've
just acquired. The generally acceptable practice is to leave the
download daemon running for at least 24 hours after you finish, so that
the file redistribution can continue unimpeded.
For those of you who are feeling generous, you're most likely now
wondering how you can create 'torrent' files so that you can actively
share files. The primary requirement is that you must have a
static IP address, otherwise there will be no means for others to
connect and access the file(s) that you are sharing. If you're ok
in that department then the next big requirement is that you must be
running a web server (most likely Apache in the Linux world) with which
to serve up the torrent files you're sharing. If you've gotten
this far, the remainder of the process is well covered in the README
that comes with Bit Torrent. The purpose of this SxS is to get
folks started with Bit Torrent, and by started, I mean downloading and
sharing files, not neccesarily serving them.
A quick note about torrent
files: torrent files aren't actually the files that contain what
you plan to share. They merely contain instructions for the
remote user's Bit Torrent download daemon on where to find the files,
and how to verify that they are authentic (with a confirmation MD5
hash).
In order to use Bit Torrent, you will need to have the following components installed and/or downloaded:
These are only neccesary if you want the Bit Torrent GUI (you do not
need the GUI to fully utilize Bit Torrent, however if you want the
ability to click on Bit Torrent URLs in your web browser and spawn Bit
Torrent, you will need the GUI):
NOTE:
Most recent Linux distros already come with python-2.x, glib & gtk+,
so check your distro before you waste time downloading, building or
installing them again.
Here is the order in which all the components must be installed.
You can skip over any components that you already have installed, or
the components that are only needed for the GUI:
glib: this has a straightforward "./configure, make, make install" build and install process
gtk+: this also has a straightforward "./configure, make, make install" build and install process
python: if you choose to install from the tarball, then it has a straightfoward "./configure,. make, make install"
build and install process. However note that if you already have
python-1.x installed, you will need to make some configurational
changes on your system to get Bit Torrent to work. I'll discuss
this further down.
wxpython: just install the RPM, or wait close to an hour for the source to build, its HUGE.
Bit Torrent: untar the tarball in somewhere like /usr/local/bin and you'll end with the entire package sitting in /usr/local/bin/BitTorrent-3.2.1b/. If
you already have python-1.x installed, in addition to python-2.x, you
will need to either rename/move the python(1.x) binary so that its
called something other than plain old 'python',
or uninstall python-1.x altogher. Keep in mind that you might
have other apps that need or require python-1.x, so uninstalling may
not be a safe option. Bit Torrent must be able to call plain old 'python', and that 'python' must be the 2.x version.
If you've installed the required packages for the Bit Torrent GUI, then
you can setup your web browser to automagically run Bit Torrent when
you click on a torrent file URL. To do this with Mozilla or
Netscape (6.x or 7.x) follow these steps:
Click the 'New Type' button and enter the following:
MIME Type: application/x-bittorrent
Description: Bit Torrent
Extension: torrent
Select 'Open it using the default application'
then click OK.
Alternatively, you can just save the torrent files to disk, and fire up
Bit Torrent manually. torrent files are usually between 20k &
100k in size. Here's how you can run Bit Torrent from a console
(non-GUI) once you've saved the torrent file: btdownloadcurses.py file.torrent
Note that file.torrent is just an example name for the
file. Please keep in mind that once your download
completes, you should not close the window, or you cut down on the
available bandwidth for others.
I'm sure that by now you're thinking, "sounds great, where are all
these files??". There are an ever growing number of websites that
collect Bit Torrent URLs. Here are a selection of my favorites:
Two excellent forums for Bit Torrent are hosted on Yahoo groups:
BitTorrent: very technical, a developers group torrent-talk: end user discussion of Bit Torrent