Warning! Do NOT Download Without a VPN!
Your IP Address is . Location is
Your Internet Provider and Government can track your download activities! Hide your IP ADDRESS with a VPN!
We strongly recommend using a VPN service to anonymize your torrent downloads. It's FREE!START YOUR FREE TRIAL NOW!
- What is TorrentFunk?
- Must I register at TorrentFunk?
- I've got a suggestion, how can I reach you?
- Is downloading torrent files from TorrentFunk illegal?
- How can I advertise on this website?
How to Download a Torrent
- What is BitTorrent?
- How does BitTorrent compare to other forms of file transfer?
- Where can I download the BitTorrent program?
- What other BitTorrent-related utilities are out there?
- I've installed BitTorrent, now what? There's no program to run!
- How do I uninstall BitTorrent?
- How fast can I download via BitTorrent?
- What do all these words mean? (seeding, uploading, share rating, etc.)
- BitTorrent says I'm uploading, what files am I sharing? What's being sent?
- What happens if I cancel a download? How can I resume?
- What is seeding? How do I do it? Why should I leave the client open after it finishes downloading?
- My download speed seems slow, what can I do to increase it?
- Is there a way to preview a file before it's finished?
- I just downloaded a file ending in .xyz, how do I open it?
- How do I create a new torrent (share a file I have with others)?
What is TorrentFunk?
TorrenFunk is one of the biggest up and coming torrent search engines anddirectories on the net. Our goal is to provide you with the most verifiedand up to date Torrents. We pride ourselves in the fact that we have well over500000 Torrents and that we are leaders in using automated verification based on downloadfrequency, file size, and other relevant factors. We are the future in theBitTorrent world!
Must I Register at TorrentFunk
Definitely NOT... you can browse and utilize our website without having toRegister.
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 thisinstance, 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 uploadthem. If this is the case, we advise you to use theBitThief client.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 ofthe contents of the files being distributed, and therefore a large number of users can be supported with relatively limited tracker bandwidth. The key philosophy ofBitTorrent is that users should upload (transmit outbound) at the same time they are downloading (receiving inbound.) In this manner, network bandwidth is utilized asefficiently 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 personat 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 eachmissing 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 caninstead 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 aseed 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 requestsit -- 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 thatit'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 theInternet. 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 resourcesto 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 CDimages 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 ofmirrors partially addresses this shortcoming by distributing the load across multiple servers. But it requires a lot of coordination and effort to set up anefficient 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 ofthese 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 properserver, 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 filefrom 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 willbe 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 problemsometimes 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 isoften limited as a result. Partially downloaded files are usually not available to other peers, although some newer clients may offer this functionality. Availability isgenerally 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 Usenetare 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 aweek 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 toanother, 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 ofNNTP, afile'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 includea 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 tothe 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 inthe 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 beavailable. Perhaps as the software matures a more suitable means of keeping torrents seeded will emerge, but currently the client is quite resource-intensive, making itcumbersome 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 programmersare 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:
- uTorrent -Recommended! Probably the best all around BitTorrent client for windows. Became known for it's lowCPU/memory usage, but lately it more bulky.
- BitComet -Recommended! A nice BitTorrent client for the newbies out there that never used torrents before.
- Vuze -Recommended! An Amazing Java based BitTorrent client, used to be the most popular one, until the changed their name Azureus to Vuze.
- BitTornado -This client incorporates the codebase of the officialversion as well as all the improvements of the experimental version, below. Additionally, there are some misc. bug fixes, improvements from the latest development CVSsources, a user preferences feature that remembers its settings, and more.
- burst! -This client features a smaller memory footprintcompared 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 tomany 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 recentdevelopments included therein.
- burst plus! - A client which is based on the burst base and includes Spanish language support, as well assome 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 changesin 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.
- Eike Frost's Experimental client - This is based on the official version, with patches to allow upload rate controland 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 thatare 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 andGnutella protocols. However, the BitTorrent support may still have bugs, and some things (such as seeding a file) may not be as straightforward as with dedicatedBitTorrent clients.
- BitTorrent++ - This is an alternative to the official client. It supports extra functionality such asmultiple downloads from a single GUI. Some people (myself included) have experienced major bugs with this program, so consider it unstable and use a different clientunless 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 adverselyaffect the performance of the BitTorrent swarm, so pleae do not use this client.
Mac OS X
- Vuze -Recommended! An Amazing Java based BitTorrent client, one of the mostpopular
- Official client v3.1 - Try this previous version of the client if you havedifficulties 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, downloadthis bundle of Python 2.3a3 (see also: Home Page.) If you are running 10.1, there is a pre-packaged versionhere &emdash; please read the instructions on thehome 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, usethis package (188.8.131.52).If you don't have Python 2.3, you may have to use a previous version,such as this one(184.108.40.206).This page at Sourceforge contains the latest as well as several previousversions.
- 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 alreadydownloaded. 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 clickSet 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 onwhatever web page offered the torrent. Select Go and the file should begin downloading. If you get an error message that ends inImportError: cannotimport name getpid, use the following procedure:
- Find the file download.py from the source code (it's in the subfolder namedBitTorrent) 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.
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/Linuxwithout 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 languagessuch 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 wantto 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 thepython 2.2 package. You should also install the packageslibwxgtk2.4-python andmime-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 listedhere.
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 versionsof Python installed, so you might check /usr/bin for commands like python2.2 if plainpython says it's version 1.x. If your distribution usespackages, use the search tool to find prepackaged versions before trying to manually install. Tryhere andhere for Python RPMs.
Install wxPython if you want to use the GUI version. Note that this will require theGLib and GTK+ libraries, which are probably already on your system ifyou have GNOME installed. (Start here or search your distribution's package manager if you need GTK+.) You'll want to find the wxPythonpackage 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 toversion 2.1,version 2.2, andversion 2.3 of Python. More RPMs are available atthe Sourceforge site, and you can also consult thewxPython 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 associatefiles 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 thetext-mode clients you can replace btdownloadgui.py with btdownloadcurses.py orbtdownloadheadless.py. Also note there's an error in theINSTALL.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)
- Vuze -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 toacting as a regular client, Snark also includes an integrated .torrent file creator, micro-HTTPd server, and tracker. With Snark the user can share files witha 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 versionhere. See the home page for more information.
- Effusion 0.3 - Experimental Java client with IRC integration. Seehome 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 installsand runs under Windows and Unix, and requires the JRE v1.4 or greater. To install, download theinstaller and have a look at theREADME file.See also theproject status README.Note that this is alpha-level code, so be prepared for bugs.
What other BitTorrent-related utilities are out there?
- TorrentSpy -Recommended! An MS Windows tool which allows you to query a tracker about aspecific 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 ofMakeTorrent was a modified version of the Python 'completedir' program with extra features. Version 2.x is a complete rewrite in Delphi.Highly recommended!
- completedir 1.0.1 - A utility for creating new.torrent files,part of the official BitTorrent client package. This is packaged as a Windows installer, get thesource 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: userccounts, improved web interface, statistics, etc. See also theTrackPak for a bundled BNBT and installer that's easyto use.
- Java BitTorrent Tools - A metafile viewer/editor, availability checker, and a basic tracker.
- BTChange 0.94a - For modifying tracker info in an existing.torrent file. Usethis if the tracker changes, so that you don't have to recreate the file. See also:Sourceforge page.
- PHPBTTracker - a free (GPL) tracker implementation in PHP with a MySQL back-end, includes built-instatistics collection and reporting. See also:sample output.
- DumpTorrentCGI - Use this handy web page to parse and output the contents of a.torrent file(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 andcreates graphs and reports of the bandwidth used and number of peers/seeds. See also:Home page.
- libbt - A library implementation of the BitTorrent protocol in C. This project is still under development, andis 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 ontop 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 theBitTorrent client program will run and ask you where to put it, and then startdownloading.
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 alwaysreinstall the latest version and then uninstall it.
If you know what you are doing, you can manually remove BitTorrent by deleting the directoryC:\Program Files\BitTorrent\ (substituting the actual locationof your Program Files dir) and removing the following registry keys:
- HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/x-bittorrent
Mac OS X
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 filecontains 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 awebsite. 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-openthe 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 aseed. 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 runningand 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 otherwiseclose 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 thefile 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 isposted 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 actualcontents 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 betransferred. 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 timeperiod 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 to10 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 ofpeers 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 haveleft 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 continuetransferring 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 clientopen to continue trying.
- Receiving data FROM another computer.
- Sending data TO another computer.
- share rating
- 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 amountuploaded 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, thatwould 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 anythingyou send will cause the ratio to reach infinity. Note: The share rating is just a number that is displayed for your convenience. It does notdirectly 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.
- distributed copies
- 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 thereis 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 thedescription of the BitTorrent protocol. It refers to the state of anuploader, 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 thatlink. 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 GUIlets 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 notinterested in receiving anything. Note that since each connection is bidirectional and symmetrical, there are two choked flags for each connection, one for each Txendpoint.
- 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 aconnection. 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 chosennot 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 variableis 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 awhile, 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.(Reference)
- optimistic unchoking
- Periodically, the client shakes up the list of uploaders and tries sending on different connections that were previously choked, and choking the connections itwas 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 thatit 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 alreadydownloaded 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.torrentfile 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, thepartial 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 samelocation as last time. BitTorrent will see that the file exists and check it tosee how much has already been downloaded. It will then pick up where it left offthe 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 ratherstraight-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 folderthat contains the BitTorrent folder.
Here's an example of resuming a folder-type torrent. Let's suppose that you downloaded a torrent calledSomeCoolBand, and selected to put it in the folderDownloads. So your directory structure resembles something like \Downloads\SomeCoolBand\file1,\Downloads\SomeCoolBand\file2, and so on. Theimportant part of this example is that should you resume this transfer, when asked to select a destination folder you must select the\Downloads folder andNOT \Downloads\SomeCoolBand. It may seem a bit counter-intuitive, but just remember to always make the same selection as the original choice. When youfirst 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 ofconnecting 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 theswarm, 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 checkover 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'spermissible 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 whatyou 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 andit'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 statusof the torrent (using the website's statistics orTorrentSpy) and make sure there are other people connected. To getdecent 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 outboundbandwidth 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 happensis 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, thelatency 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 allowingthe highest upload rate possible before saturating the link -- the (approx.) 80% sweet spot.
To limit the upload rate with Mac OS X, tryCarrafix. 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 allconnections 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 thequestion 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 forpreviewing (usually the beginning of the file) is present. To further complicate matters, some torrents are packaged as an archive, which would be quite difficult toextract 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 aZIP 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 thefile 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 Usenetnewsgroups. Open the .RAR file and extract the contents withWinRAR (Windows) orUnRarX (OS X.) Either program should automatically see all the parts if they are in the same directory.|
|.CBR, .CBZ||These are comics in a compressed archive. For Windows, download the free programCDisplay. Or simplyrename them (CBR to RAR, CBZ to ZIP) and open with your usual archive program, such as WinRAR or WinZIP. For OS X, tryBook 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 unlessa part is missing or bad, in which case the torrent's creator should have fixed the archivebefore distributing the torrent. If WinRAR does give you a messageabout a missing or corrupt part, then getSmartPAR (Windows) and open the.PAR file. The program willthen check all the files and recreate any missing or damaged parts. For OS X,UnRarX should also process thePAR file.|
|.NFO||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 NFOfile if you are having a problem! Unfortunately, the .NFO extention also has another meaning to Windows, so sometimes when you try to open these filesyou 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" orsomething similar. You should open the NFO file in Notepad, or any plain-text editor. More infohere.|
|.SFV||Simple File Verification file - used to verify the integrity of a set of files, this is a text file containing file names and typically CRC32checksums. For Windows, try a program such asQuickSFV orfsum to verify the integrity. Mac OS X users should tryMacSFV.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 somefile 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 thetorrent.|
|.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:
For Mac OS X:
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 someother 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 beforeinitiating 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 desktopmachine, 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 theseeder. 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 thelinks 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 havepermission 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 thetracker, 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 ofcreating 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 adirectory 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 pointall 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),do notput 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 foreveryone 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 sharedlonger. If you distribute your AVI file as an RAR containing 33 parts, which itself contains aZIP, then people will trudge through the processingof 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 torrentsince 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. (endopinionated rant)
- Run maketorrent. If you are sharing a single file, click the(file) button,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'stracker 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 thedirectory, 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. Whenfinished, 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 haveconfigured 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 areseveral 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 thisstep:
- Be sure the machine that you are seeding from can accept incoming network connections on the ports BitTorrentis using. Usually this means configuring port forwarding if you are in aNAT environment.
- 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 "--ipaddress"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 internalnetwork, sharing a DSL or cable modem connection behind a router/gateway. In this case it probably has an internal (unroutable) IP address such as192.168.x.xor 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 sitesuch as this one. For details onhow 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 istrue you will have to ensure that you are using the correct one each time. Again, this process appliesONLY if you are seeding and running a tracker on the samemachine, 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, thenyou 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 leavingwill 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 toseed 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 thebtlaunchmany.py version of the client is very useful.