Welcome to TorrentFunk, below you will find our most frequently asked questions. Use these links to jump to specific parts of this document, or just page down if you'd prefer to browse the whole thing.
TorrenFunk is one of the biggest up and coming torrent search engines and
directories on the net. Our goal is to provide you with the most verified
and up to date Torrents. We pride ourselves in the fact that we have well over
500000 Torrents and that we are leaders in using automated verification based on download
frequency, file size, and other relevant factors. We are the future in the
Must I Register at TorrentFunk
Definitely NOT... you can browse and utilize our website without having to
I've got a suggestion, how can I reach you?
You can contact us by sending an email to
Is downloading torrent files from TorrentFunk illegal?
No, torrent files are not copyrighted, so this is allowed. However, opening a torrent file in your BitTorrent client may start the process of downloading (and possibly uploading) copyrighted content. Depending on the circumstances, such as the content in question and the country you're living in, this might be illegal.
In some countries, it is illegal to download and upload copyrighted material. In this
instance, make sure that you only download unlicensed content via BitTorrent.
In other countries, it is allowed to download copyrighted material, as long as you don't upload
them. If this is the case, we advise you to use the
To be on the safe side, we advise you not to download any copyrighted content at all.
How can I advertise on this website?
Please send an email with your request to
Video on how to download a Torrent.
What is BitTorrent?
BitTorrent is a protocol designed for transferring files. It is peer-to-peer in nature, as users connect to each other directly to send and receive portions of the file.
However, there is a central server (called a tracker) which coordinates the action of all such peers. The tracker only manages connections, it does not have any knowledge of
the contents of the files being distributed, and therefore a large number of users can be supported with relatively limited tracker bandwidth. The key philosophy of
BitTorrent is that users should upload (transmit outbound) at the same time they are downloading (receiving inbound.) In this manner, network bandwidth is utilized as
efficiently as possible. BitTorrent is designed to work better as the number of people interested in a certain file increases, in contrast to other file transfer protocols.
One analogy to describe this process might be to visualize a group of people sitting at a table. Each person at the table can both talk and listen to any other person
at the table. These people are each trying to get a complete copy of a book. Person A announces that he has pages 1-10, 23, 42-50, and 75. Persons C, D, and E are each
missing some of those pages that A has, and so they coordinate such that A gives them each copies of the pages he has that they are missing. Person B then announces that she has pages 11-22, 31-37, and 63-70. Persons A, D, and E tell B they would like some of her pages, so she gives them copies of the pages that she has. The process continues around the table until everyone has announced what they have (and hence what they are missing.) The people at the table coordinate to swap parts of this book until everyone has everything. There is also another person at the table, who we'll call 'S'. This person has a complete copy of the book, and so doesn't need anything sent to him. He responds with pages that no one else in the group has. At first, when everyone has just arrived, they all must talk to him to get their first set of pages. However, the people are smart enough to not all get the same pages from him. After a short while they all have most of the book amongst themselves, even if no one person has the whole thing. In this manner, this one person can share a book that he has with many other people, without having to give a full copy to everyone that's interested. He can
instead give out different parts to different people, and they will be able to share it amongst themselves. This person who we've referred to as 'S' is called a
seed in the terminology of BitTorrent.
How does BitTorrent compare to other forms of file transfer?
The most common method by which files are transferred on the Internet is the client-server model. A central server sends the entire file to each client that requests
it -- this is how both http and ftp work. The clients only speak to the server, and never to each other. The main advantages of this method are that
it's simple to set up, and the files are usually always available since the servers tend to be dedicated to the task of serving, and are always on and connected to the
Internet. However, this model has a significant problem with files that are large or very popular, or both. Namely, it takes a great deal of bandwidth and server resources
to distribute such a file, since the server must transmit the entire file to each client. Perhaps you may have tried to download a demo of a new game just released, or CD
images of a new Linux distribution, and found that all the servers report "too many users," or there is a long queue that you have to wait through. The concept of
mirrors partially addresses this shortcoming by distributing the load across multiple servers. But it requires a lot of coordination and effort to set up an
efficient network of mirrors, and it's usually only feasible for the busiest of sites.
Another method of transferring files has become popular recently: the peer-to-peer network, systems such as Kazaa, eDonkey, Gnutella, Direct Connect, etc. In most of
these networks, ordinary Internet users trade files by directly connecting one-to-one. The advantage here is that files can be shared without having access to a proper
server, and because of this there is little accountability for the contents of the files. Hence, these networks tend to be very popular for illicit files such as music,
movies, pirated software, etc. Typically, a downloader receives a file from a single source, however the newest version of some clients allow downloading a single file
from multiple sources for higher speeds. The problem discussed above of popular downloads is somewhat mitigated, because there's a greater chance that a popular file will
be offered by a number of peers. The breadth of files available tends to be fairly good, though download speeds for obscure files tend to be low. Another common problem
sometimes associated with these systems is the significant protocol overhead for passing search queries amongst the peers, and the number of peers that one can reach is
often limited as a result. Partially downloaded files are usually not available to other peers, although some newer clients may offer this functionality. Availability is
generally dependent on the goodwill of the users, to the extent that some of these networks have tried to enforce rules or restrictions regarding send/receive ratios.
Use of the Usenet binary newsgroups is yet another method of file distribution, one that is substantially different from the other methods. Files transferred over Usenet
are often subject to miniscule windows of opportunity. Typical retention time of binary news servers are often as low as 24 hours, and having a posted file available for a
week is considered a long time. However, the Usenet model is relatively efficient, in that the messages are passed around a large web of peers from one news server to
another, and finally fanned out to the end user from there. Often the end user connects to a server provided by his or her ISP, resulting in further bandwidth savings.
Usenet is also one of the more anonymous forms of file sharing, and it too is often used for illicit files of almost any nature. Due to the nature of
file's popularity has little to do with its availability and hence downloads from Usenet tend to be quite fast regardless of content. The downsides of this method include
a baroque set of rules and procedures, and requires a certain amount of effort and understanding from the user. Patience is often required to get a complete file due to
the nature of splitting big files into a huge number of smaller posts. Finally, access to Usenet often must be purchased due to the extremely high volume of messages in
the binary groups.
BitTorrent is closest to Usenet, in my opinion. It is best suited to newer files, of which a number of people have interest in. Obscure or older files tend to not be
available. Perhaps as the software matures a more suitable means of keeping torrents seeded will emerge, but currently the client is quite resource-intensive, making it
cumbersome to share a number of files. BitTorrent also deals well with files that are in high demand, especially compared to the other methods.
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:
Recommended! Probably the best all around BitTorrent client for windows. Became known for it's low
CPU/memory usage, but lately it more bulky.
Recommended! A nice BitTorrent client for the newbies out there that never used torrents before.
Recommended! An Amazing Java based BitTorrent client, used to be the most popular one, until the changed their name Azureus to Vuze.
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.
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:
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.
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++ - 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
Recommended! An Amazing Java based BitTorrent client, one of the most
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 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.
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
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:
Save the file, and retry the above procedure for downloading, hopefully this time without the error message.
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. Vuze) 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.
If you are using Mandrake with Cooker, you might want to try the RPMs listed
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 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.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
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)
Recommended! An Amazing Java based BitTorrent client, one of the most popular
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.
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
See also the
project status README.
Note that this is alpha-level code, so be prepared for bugs.
What other BitTorrent-related utilities are out there?
Recommended! An MS Windows tool which allows you to query a tracker about a
specific torrent, view metadata info, check a file's hashes, etc. A new feature is the "create" tab for making torrent files to upload.
maketorrent - A utility for creating torrent files, by the author of the burst! client. Version 1.x of
MakeTorrent was a modified version of the Python 'completedir' program with extra features. Version 2.x is a complete rewrite in Delphi.
completedir 1.0.1 - A utility for creating new
part of the official BitTorrent client package. This is packaged as a Windows installer, get the
source code for use with other platforms.
BNBT - This is a C++ implementation of a BitTorrent tracker. It should compile under most any Unix with GCC available,
as well as MS Windows with MSVC (binaries included.) It includes all of the functionality of the reference Python tracker, but it also includes many enhancements: user
ccounts, improved web interface, statistics, etc. See also the
TrackPak for a bundled BNBT and installer that's easy
BTChange 0.94a - For modifying tracker info in an existing
.torrent file. Use
this if the tracker changes, so that you don't have to recreate the file. See also:
PHPBTTracker - a free (GPL) tracker implementation in PHP with a MySQL back-end, includes built-in
statistics collection and reporting. See also:
DumpTorrentCGI - Use this handy web page to parse and output the contents of a
(from either your local system or a link URL.) Use this to quickly determine a torrent's hash ID or which tracker is hosting it.
trackerlyze.pl 1.11 - A free (GPL) Perl script that analyzes the logfile of a tracker and
creates graphs and reports of the bandwidth used and number of peers/seeds. See also:
libbt - A library implementation of the BitTorrent protocol in C. This project is still under development, and
is not suitable to end-users at this point.
I've installed BitTorrent, now what? There's no program to run!
BitTorrent is not like other peer-to-peer applications (such as Winmx, Kazaa, Gnutella, etc.) in that it does not have its own "universe." Put another way, BT lives on
top of the Web, which means that all of the searching/listing of available files is done on the web. When you find a file you want to download, you click on it and the
BitTorrent client program will run and ask you where to put it, and then start
How do I uninstall BitTorrent?
Go to Add/Remove Programs in the Control Panel. There should exist an entry for BitTorrent. If it's not there, suspect an incorrect install. You can always
reinstall the latest version and then uninstall it.
If you know what you are doing, you can manually remove BitTorrent by deleting the directory
C:\Program Files\BitTorrent\ (substituting the actual location
of your Program Files dir) and removing the following registry keys:
Simply drag the application to the trash. If you also wish to delete the preferences, trash the file
~/Library/Preferences/BitTorrent.plist as well.
What do all these words mean? (seeding, uploading, share rating, etc.)
Here is a brief list of words associated with BitTorrent and their meanings.
Usually this refers to the small metadata file you receive from the web server (the one that ends in
.torrent.) Metadata here means that the file
contains information about the data you want to download, not the data itself. This is what is sent to your computer when you click on a download link on a
website. You can also save the torrent file to your local system, and then click on it to open the BitTorrent download. This is useful if you want to be able to re-open
the torrent later on without having to find the link again.
In some uses, it can also refer to everything associated with a certain file available with BitTorrent. For example, someone might say "I downloaded that torrent"
or "that server has a lot of good torrents", meaning there are lots of good files available via BitTorrent on that server.
A peer is another computer on the internet that you connect to and transfer data. Generally a peer does not have the complete file, otherwise it would be called a
seed. Some people also refer to peers as leeches, to distinguish them from those generous folks who have completed their download and continue to leave the client running
and act as a seed.
A computer that has a complete copy of a certain torrent. Once your client finishes downloading, it will remain open until you click the Finish button (or otherwise
close it.) This is known as being a seed or seeding. You can also start a BT client with a complete file, and once BT has checked the file it will connect and seed the
file to others. Generally, it's considered good manners to continue seeding a file after you have finished downloading, to help out others. Also, when a new torrent is
posted to a tracker, someone must seed it in order for it to be available to others. Remember, the tracker doesn't know anything of the actual
contents of a file,
so it's important to follow through and seed a file if you upload the torrent to a tracker.
When there are zero seeds for a given torrent (and not enough peers to have a distributed copy), then eventually all the peers will get stuck with an incomplete file,
since no one in the swarm has the missing pieces. When this happens, someone with a complete file (a seed) must connect to the swarm so that those missing pieces can be
transferred. This is called reseeding. Usually a request for a reseed comes with an implicit promise that the requester will leave his or her client open for some time
period after finishing (to add longevity to the torrent) in return for the kind soul reseeding the file.
The group of machines that are collectively connected for a particular file. For example, if you start a BitTorrent client and it tells you that you're connected to
10 peers and 3 seeds, then the swarm consists of you and those 13 other people.
A server on the Internet that acts to coordinate the action of BitTorrent clients. When you open a torrent, your machine contacts the tracker and asks for a list of
peers to contact. Periodically throughout the transfer, your machine will check in with the tracker, telling it how much you've downloaded and uploaded, how much you have
left before finishing, and the state you're in (starting, finished download, stopping.) If a tracker is down and you try to open a torrent, you will be unable to connect.
If a tracker goes down during a torrent (i.e., you have already connected at some point and are already talking to peers), you will be able to continue
transferring with those peers, but no new peers will be able to contact you. Often tracker errors are temporary, so the best thing to do is just wait and leave the client
open to continue trying.
Receiving data FROM another computer.
Sending data TO another computer.
If you are using the experimental client with the stats-patch, you will see a share rating displayed on the GUI panel. This is simply the ratio of your amount
uploaded divided by your amount downloaded. The amounts used are for the current session only, not over the history of the file. If you achieve a share ratio of 1.0, that
would mean you've uploaded as much as you've downloaded. The higher the number, the more you have contributed. If you see a share ratio of "oo", this means infinity,
which will happen if you open a BT client with a complete file (i.e., you seed the file.) In this case you download nothing since you have the full file, and so anything
you send will cause the ratio to reach infinity. Note: The share rating is just a number that is displayed for your convenience. It does not
directly affect any aspect of the client at all. In general, out of courtesy to others you should strive to keep this ratio as high as possible, of course.
In some versions of the client, you will see the text "Connected to n seeds; also seeing n.nnn distributed copies." A seed is a machine with the complete file.
However, the swarm can collectively have a complete copy (or copies) of the file, and that is what this is telling you. Referring again to the
"people at a table" analogy, consider the case where the book has 10 pages, and person A has pp.1-5 and B has pp.6-10.
Collectively, A and B have a complete copy of the book, even though no one person has the whole thing. In other words,
even if there are no seeds, as long as there
is at least one distributed copy of the file everyone can eventually get a complete file. Meditate on this, the Zen of BitTorrent, grasshopper.
This is a term used in the
description of the BitTorrent protocol. It refers to the state of an
uploader, i.e. the thread that sends data to another peer. When a connection is choked, it means that the transmitter doesn't currently want to send anything on that
link. A BT client signals that it's choked to other clients for a number of reasons, but the most common is that by default a client will only maintain
--max_uploads active simultaneous uploads, the rest will be marked choked. (The default value is 4 and this is the same setting that experimental client GUI
lets you adjust.) A connection can also be choked for other reasons, for example a peer downloading from a seed will mark his connection as choked since the seed is not
interested in receiving anything. Note that since each connection is bidirectional and symmetrical, there are two choked flags for each connection, one for each Tx
Another term used in the protocol specification. This is the corollary to the choked flag, in that interested refers to the state of a downloader with respect to a
connection. A downloader is marked as interested if the other end of the link has any pieces that the client wants, otherwise the connection is marked as not interested.
If the client has not received anything after a certain period (default: 60 seconds), it marks a connection as snubbed, in that the peer on the other end has chosen
not to send in a while. See the definition of choked for reasons why an uploader might mark a connection as choked. The real function of keeping track of this variable
is to improve download speeds. Occasionally the client will find itself in a state where even though it is connected to many peers, it is choked by all of them.
The client uses the snubbed flag in an attempt to prevent this situation. It notes that a peer with whom it would like to trade pieces with has not sent anything in a
while, and rather than leaving it up to the optimistic choking to eventuall select that peer, it instead reserves one of its upload slots for sending to that peer.
Periodically, the client shakes up the list of uploaders and tries sending on different connections that were previously choked, and choking the connections it
was just using. You can observe this action every 10 or 20 seconds or so, by watching the "Advanced" panel of one of the experimental clients.
How fast can I download via BitTorrent?
Your download speed depends on several factors including amongst others: your internet speed, your bandwidth usage while downloading, and the amount of seeds available.
Many clients over an ETA for their downloads. While downloading, you can look for the ETA field/column of your torrent which will indicate the estimated amount of time that
it will take for the download to finish.
BitTorrent says I'm uploading, what files am I sharing? What's being sent?
Don't worry. When you are downloading a particular torrent, you are also uploading that torrent at the same time. The parts of the file(s) that you have already
downloaded are uploaded to other peers. This is normal, and it's how the protocol works. There is no "shared directory" setting as with other peer-to-peer applications.
If you have a certain file (or files) that you want to make available to others, you must first create a
file and upload it to a server, and then seed the file.
What happens if I cancel a download? How can I resume?
BitTorrent fully supports stopping and later resuming a partial download. You don't have to do anything special. If you cancel a download before it's finished, the
partial download remains on your hard drive. To resume the transfer, just click on the same torrent link again and when asked where to save the file, select the same
location as last time. BitTorrent will see that the file exists and check it to
see how much has already been downloaded. It will then pick up where it left off
the last time..
Note: To resume properly, you must make the same selection when prompted as you made the first time. For torrents consisting of a single file, this is rather
straight-forward: simply select the file. However, torrents that consist of a folder of multiple files can be a bit more confusing. To resume, you must select the folder
that contains the BitTorrent folder.
Here's an example of resuming a folder-type torrent. Let's suppose that you downloaded a torrent called
SomeCoolBand, and selected to put it in the folder
Downloads. So your directory structure resembles something like \Downloads\SomeCoolBand\file1,
\Downloads\SomeCoolBand\file2, and so on. The
important part of this example is that should you resume this transfer, when asked to select a destination folder you must select the
\Downloads folder and
NOT\Downloads\SomeCoolBand. It may seem a bit counter-intuitive, but just remember to always make the same selection as the original choice. When you
first started the transfer there was no SomeCoolBand folder; you instead selected
\Downloads and BT created the SomeCoolBand folder.
What is seeding? How do I do it? Why should I leave the client open after it finishes downloading?
First, you may want to review the answers to the question on terminology. A seed is a client which has a complete file. Seeding is the process of
connecting to a torrent when you have a complete file. There are two ways to do this:
...by leaving your client open after the download completes. Once you have the entire file you become a seed, and the BitTorrent client remains connected to the
swarm, sending to other users until you close it.
...by clicking on a torrent link (or opening a saved .torrent file) and selecting a filename of a file that has already completed. BitTorrent will check
over the file and realize that it's already complete, and continue to connect to the tracker and serve as a seed.
It's generally considered a good idea to leave your client open as long as possible, since it helps other users. Some communities have guidelines on when it's
permissible to disconnect, typically after the ratio of bytes received to bytes sent reaches 1:1, or 24 hours after the download completes. Please be nice, and do what
you can to contribute to other users.
My download speed seems slow, what can I do to increase it?
Here are some general guidelines to getting fast connections with BitTorrent.
Give it time! Be patient! This is the most important suggestion for most speed-related problems. Sometimes it can take a while to contact a slow tracker.
The beginning of a download will be especially slow since you don't have any pieces of the file to share with others. Recently, trackers have been quite overloaded and
it's common to get timeout-related errors. Leave the client open and eventually it will connect.
If your network uses NAT, make sure the BitTorrent ports are forwarded to the machine that runs the client. This will allow inbound connections from peers. Otherwise,
only outbound connections will succeed. See this section of the FAQ for more details.
If you have a software firewall, make sure the BitTorrent client has the proper access.
Make sure the torrent is "live." Use an experimental build of the client that shows the number of peers and seeds to which you are connected. Or, check the status
of the torrent (using the website's statistics or
TorrentSpy) and make sure there are other people connected. To get
decent speed, a torrent must have at least a few other people connected. The more peers, the faster the transfer will be in general.
Sometimes, limiting your upload rate will increase your download rate. This is especially true for asymmetric connections such as cable and ADSL, where the outbound
bandwidth is much smaller than the inbound bandwidth. If you are seeing very high upload rates and low download rates, this is probably the case. The reason this happens
is due to the nature of TCP/IP -- every packet received must be acknowledged with a small outbound packet. If the outbound link is saturated with BitTorrent data, the
latency of these TCP/IP ACKs will rise, causing poor efficiency.
Use a client that allows limiting of the upload rate, and set it to around 80% of the maximum rate observed. It can be tempting to limit the rate to very small values.
On very healthy torrents, this will not adversely affect the download rate. However, when there are fewer peers you will generally get higher download rates by allowing
the highest upload rate possible before saturating the link -- the (approx.) 80% sweet spot.
To limit the upload rate with Mac OS X, try
Carrafix. You'll want to set an individual cap for each BitTorrent port (6881 and up.)
Ensure that your network allows the outgoing connections necessary for BitTorrent to work. Some networks (usually at schools, workplaces, etc.) are firewalled and all
connections must go through a proxy server. In other cases, only well-known ports are available. There are too many different situations to list every possible scenario,
but if you are trying to download a torrent that you know to be "live" yet the client still reports zero peers and seeds, then this is probably the case. See also the
question about proxy settings.
Is there a way to preview a file before it's finished?
There is no good way to do this. Because the BitTorrent protocol downloads pieces in arbitrary order, there is no guarantee that the part of the file necessary for
previewing (usually the beginning of the file) is present. To further complicate matters, some torrents are packaged as an archive, which would be quite difficult to
extract until it's complete.
Still, if you want to attempt to view the file periodically, you may eventually get lucky. First, make sure the file you are downloading is not an archive. If it's a
ZIP or RAR (R00, R01, ...) file, forget it. Next, you'll have to interrupt the download, since BitTorrent locks the file in an exclusive mode until the
file is complete. You can now try opening the file in whatever application is meant to be used to view it, but don't be surprised if very strange things happen. Finally,
you'll want to resume the transfer, unless you've determined that you no longer want the file.
I just downloaded a file ending in .xyz, how do I open it?
Below is a list of common file types you will encounter with BitTorrent, and how to handle them.
.R00, .R01, .Rnn
If you find a directory with a bunch of files ending in
.Rnn, it's a RAR archive split into multiple parts. This is commonly done for posting to Usenet
newsgroups. Open the .RAR file and extract the contents with
WinRAR (Windows) or
UnRarX (OS X.) Either program should automatically see all the parts if they are in the same directory.
These are comics in a compressed archive. For Windows, download the free program
CDisplay. Or simply
rename them (CBR to RAR, CBZ to ZIP) and open with your usual archive program, such as WinRAR or WinZIP. For OS X, try
Book Image Viewer after extracting with unrar or unzip.
.PAR, .P01, .Pnn
These are parity files, used to reconstruct any missing parts of the archive. Ordinarily you will not have to do anything with them -- they are extraneous unless
a part is missing or bad, in which case the torrent's creator should have fixed the archive
before distributing the torrent. If WinRAR does give you a message
about a missing or corrupt part, then get
SmartPAR (Windows) and open the
.PAR file. The program will
then check all the files and recreate any missing or damaged parts. For OS X,
UnRarX should also process the
Files that end in .NFO are plain text files that often contain very useful information about the files you have just downloaded.
Always read the NFO
file if you are having a problem! Unfortunately, the .NFO extention also has another meaning to Windows, so sometimes when you try to open these files
you will get an error from MS System Information about a corrupt file. If this is the case you will also probably see the file listed with a type of "MSInfo File" or
something similar. You should open the NFO file in Notepad, or any plain-text editor. More info
Simple File Verification file - used to verify the integrity of a set of files, this is a text file containing file names and typically CRC32
checksums. For Windows, try a program such as
fsum to verify the integrity. Mac OS X users should try
Normally these files should not be necessary with BitTorrent, since the BT protocol has its own error checking method (on top of TCP's checksumming.) If you find some
file that doesn't match the checksum in its SFV file, blame the torrent's creator, since he or she should have fixed it before creating and distributing the
.BIN, .CUE, .ISO
These are images of a CD. If the file is a movie, they are most likely VCDs or SVCDs. There are several ways to deal with these. For Windows:
Use a program such as
Nero to burn the images to a CDR and then view them in your standalone DVD player, or your DVD
drive with your DVD player software. Some instructions for burning BIN files with common software applications can be found
at this link.
If you know it's a VCD/SVCD, you can use a tool such as
VCDGear to extract the MPEG data. VCDs will be MPEG-1 type files, and SVCDs will be MPEG-2 type files. Usually the easiest way to view these is with a DVD player such as
PowerDVD which can read input from a file.
Use a program such as
Daemon Tools or
Alcohol 120% to 'mount' the file as a virtual disk. Then you can use PowerDVD or whatever application is appropriate to view the data from that drive.
How do I create a new torrent (share a file I have with others)?
Sharing files that you have with others is relatively easy with BitTorrent, but a little extra work is required compared to marking a directory as "shared" as with some
other file sharing applications. There are essentially three elements necessary to sharing a file with BitTorrent:
The tracker, which coordinates connections among the peers. Bandwidth required is very moderate compared to the size of the files being shared.
The web server, which stores and serves the .torrent file. This is usually a quite small file, and is only requested once by each peer before
initiating the transfer. The web server also serves to index and organize the torrents, since there is no built-in search capability in the BitTorrent protocol --
existing web techniques are instead used.
At least one seeder. This is the only element of the three that contains any of the file's actual contents. The seeder is almost always an end-user's desktop
machine, rather than a dedicated server machine.
In earlier periods of BitTorrent, the process was somewhat more difficult because frequently you had to run your own tracker (and possibly web server) in addition to the
seeder. Recently, however, torrent communities have sprouted which take care of many of the details of running a tracker and distributing the
.torrent metadata file.
For most purposes, using one of these communities is the quickest and easiest way to share data.
For the purposes of this part of the FAQ, we will assume you already have a tracker and web server, or access to them. Most of the sites listed in the
links section run trackers and web servers that you are welcome to use. The rule of thumb here is to never create a torrent for a tracker which you do not have
permission to use. In most cases that simply means that if you intend to use a tracker, you should also post your
.torrent file to the website associated with the
tracker, so that the whole community can benefit.
Below are the steps to create and distribute the .torrent file, and begin the seeding.
Decide what you want to share. A torrent can contain either a single file, or a directory of many files. This is often quite convenient, since it avoids the step of
creating an archive (.zip, .rar, etc.) if you need to store multiple files. For example, if you are sharing a 2-CD movie, put both of the files in a
directory and create a torrent for that, rather than zipping the files and then creating a torrent for the single archive file.
IMPORTANT NOTE! Despite what I would call common sense and courtesy, I see people doing stupid things at this point
all the time!For example, if the file you are sharing was originally posted to Usenet and came in a number of parts (.RAR, .R00, .R01),
put those parts in an archive and then create a torrent of that. Most media files are already compressed, and rar-ing or zip-ing them just adds an additional step for
everyone that receives the files. And for the love of $DEITY, do not include the parity files in your torrent! In summary, if the end product you are sharing is an
.AVI file, create a torrent for that. This makes it easier for people to hold on to the original form of the torrent, and this tends to lead to it being shared
longer. If you distribute your AVI file as an RAR containing 33 parts, which itself contains a
ZIP, then people will trudge through the processing
of the files to get the AVI, and then most likely delete the original since it's in a form that is useless to them. Therefore, they cannot (re-)seed the torrent
since they've lost the original format. Finally, you do your part to put an end to the neverending stream of "How do I open
.R00 files?" questions. (end
Run maketorrent. If you are sharing a single file, click the
otherwise click the (dir) button. In either case a file dialog will appear, and you should select the file/directory that you wish to share.
Enter the tracker's announce url in the space provided, or use the drop-down list to select from one of a common list of trackers. Remember, if you use a site's
tracker when creating a .torrent file, plan to upload/post the file to that community. You can also add a comment, but it's optional.
Select the piece size, or just accept the default value of
(auto). In general, the smaller the piece size, the more efficient the BitTorrent download will be,
but will result in a larger .torrent file. 256 kB seems to be the most common piece size in use these days, but you can experiment with other settings if you want.
Avoid very large piece sizes for small files; likewise avoid small piece sizes for very large files.
Click create torrent to begin the process of creating the file. You can then select if you want to create a single
.torrent for all the files in the
directory, or a number of separate .torrents. Most of the time you want a single
.torrent for the whole folder, unless you know what you're doing. When
finished, you should find a newly created .torrent file in the same directory as the file/directory you selected to share.
Upload this .torrent file to a web server. Usually this means going to the web page of the site whose tracker you used and clicking the "Upload torrent" link.
The procedure varies from site to site, but it's usually always explained in a FAQ link or forum posting. If you are running your own web server (and have
configured it appropriately then upload the file to your server's public web space, or whatever method you use to put files on your server.
Finally, you must seed the file. Until this step, nothing but metadata has been transferred. Seeding is necessary to actually transmit your file to others. There are
several ways to do this, but the simplest is to use your ordinary BitTorrent client just as you would with any other file. Navigate to the page on the web server where your
.torrent is posted, click the link, and when the BitTorrent client starts be sure to select the same file/ directory that you used in make torrent in step 2 above.
The client should check the files and verify that they are complete, and then connect to the tracker and begin seeding. There are several important points about this
Be sure the machine that you are seeding from can accept incoming network connections on the ports BitTorrent
is using. Usually this means configuring port forwarding if you are in a
If you are running the tracker on the same machine as the seeding client, and you are in a NAT environment, you must add the "--ip
parameter to the client command line, where address is the publicly-visible IP address of the machine. For example, your machine might be on an internal
network, sharing a DSL or cable modem connection behind a router/gateway. In this case it probably has an internal (unroutable) IP address such as
or 10.x.x.x. It is necessary to tell the tracker your true public IP address instead of this internal address. If you're not sure what that is, try a site
such as this one. For details on
how to add or change command line parameters in Windows, Finally, remember that in a lot of cases you will have a dynamic IP address (one that is assigned to you each time you connect), and if this is
true you will have to ensure that you are using the correct one each time. Again, this process applies
ONLY if you are seeding and running a tracker on the same
machine, and you have a NAT setup.
Make sure to leave the seeding client open long enough. The exact amount of time depends on a number of factors. If the file you are seeding is very popular, then
you can often seed just long enough to get several distributed copies into the swarm, and then disconnect. If the torrent is sufficiently "healthy," the seeder leaving
will have no adverse effects, since there are enough distributed copies of the file to support the swarm. If the file has fewer interests, you will generally have to
seed longer. A good policy is to check back later on the tracker's stats page or in the forums and make sure that no one has been left stranded.
If you want to seed a number of different torrents, it is often cumbersome to open a number of copies of the GUI client. In this situation the
btlaunchmany.py version of the client is very useful.