BitTorrent Tutorial

From Wiki.theppn

Jump to: navigation, search


BitTorrent is a popular protocol for downloading various files ranging from pictures and research documents, to fansubbed anime, and much, much more. This is a tutorial written to guide users on the usage of this protocol and various programs that harness its power.

Contents

[edit] Introduction

Okay, so you've seen these things called 'trackers' and 'clients' and all that jazz, and you've found some really neat files you'd like to download, but when you download them, you download a .torrent file with nothing but garbage on it. What's going on? This tutorial aims to show you the way.

[edit] Getting Started

[edit] Terminology

First, BitTorrent (also referred to as "BT") is a file sharing application that utilizes the bandwidth of the people who are downloading files. There are a few key terms you need to know: Leeching (not in a derogatory sense) refers to downloading a file. Seeding a file occurs when a user either (1) uploads a .torrent file to a tracker (a place where the .torrent files are hosted), or (2) downloads a file or files and thereafter leaves the client open permitting others use of his/her bandwith. There are two types of bandwidth: upstream (upload speed) bandwidth, and downstream (download speed) bandwitdth. Snatching - a dishonourable and frowned upon practice - occurs when users download files - making free use of other users bandwidth - but do not seed (even for a few minutes) thereby refusing others use of their own bandwidth. Many trackers use the term snatched to show the number of people (which may or may not include seeders) who have downloaded the whole file. So, now you know a bit about how BT works; how do you use it?

[edit] Downloading a Client

The main thing you need to download a file is a client, a program that gets you the file from the information stored on the .torrent file. One of the most functional clients (in my experience) is Azureus (I've also used the Official and ABC, which I'll provide links to later on). It lets you set upload speed and max amount of users according to your speed and know who you are connecting to by IP; it also shows your share ratio, details about each user, max file size, upload/download speed being used, how many users you are connected to*, where the download is going, lights to denote your status, and much, much more. While many of these features are available on most newer clients, they are just the tip of the iceberg. Be sure to "shop around" for clients and find one that fits your needs. I personally recommend Azureus; however, my needs from a program are probably different from yours. Therefore, I'll go over the pros and cons of a few different clients.

*Note: Remember, you can't always connect to everyone, so the number does not usually reflect how many people are downloading or seeding the file. You have to check with the tracker for that.

[edit] Client Rundown

Different clients provide different features, some offer more details, and others offer better functionality. The four that will be discussed for now are Azureus, BitTornado, BitComet and the Official Client. For Mac users, Transmission is an excellent open-source option. The same client also runs on Linux/NetBSD/FreeBSD/OpenBSD (GTK+ interface) and BeOS (native interface).

[edit] Azureus

Azureus is a java-based client, which is pretty new in BitTorrent clients. According to Segasonic: Azureus provides a bittorrent protocol implementation using Java programming language and offers multiple torrent downloads, queuing/priority systems (on torrents and files), start/stop seeding options and instant access to numerous pieces of information about your torrents. Azureus also features an embedded tracker easily set up and ready to use. (Info from official site-Idolcrash) Also what I like is that there's a seeding section and a downloading section and when a file finishes downloading it is automatically moved to seeding section. My favorite feature on the client is that it saves the seeding and downloading files for next time you run the program. For example, let's say for some reason you shut the program off but you have seeds and downloads going on, when you run the program again it will start all the files automatically--ready for seeding and downloading so you have nothing to do, and it's fast. I (IdolCrash) would like to add that since it is a Java Application, the client could take a while to load. More details will be added as they are discovered.

[edit] BitTornado

BitTornado is one of the most popular clients. It is quite functional, fairly easy to use, provides a good amount of information, and is very similar in looks to the Official Client, but that is where the similarities end. In the main window, you will find a set of lights, which are replacable, that will change to indicate the status of your connection; however, they aren't always 100% accurate. You can also change IP settings and ports, have default save paths, and perform other operations with one or two clicks of the GUI. It is quite small and doesn't harm CPU too much, but if you want multiple downloads, you will have to have separate instances of the client open (which isn't much of a problem because of the low CPU load). The main window displays a bevy of pertinent information including your connections to peers and seeders, your upload rate, if applicable, your download rate, your connection status, your share rating, the amount uploaded, the amount downloaded, and much more. A lot of this is standard in most clients, but because of its small size, its apparent superiority when compared to the official client (especially in the piece checking arena), it is a highly recommended client to use. Other areas to click show IPs and their information, including if they are choked or snubbed, and download and upload rate.

[edit] BitComet

BitComet is a powerful, clean, fast, and easy-to-use bittorrent client. It supports simultaneous downloads, download queue, selected downloads in torrent package, fast-resume, chatting, disk cache, speed limits, port mapping, proxy, ip-filter, etc. This is a very good client to use for downloading specific files within a torrent by checking or unchecking the contents before the download begins (all items are checked by default, however it is worth noting that some other clients do this as well). The chat feature (disabled by default) is interesting as it allows you to chat with others downloading the same torrent if desired, however the other users must be using the same client with the feature enabled for it to work. BitComet works on the Windows operating system and is free.

Note that BitComet (V0.54) appears to have problems with recovering gracefully when trying to send tracker updates. If the send fails for any reason (tracker busy?), instead of backing off for a while, BitComet will keep trying to send the update, thus 'hammering' the tracker.

[edit] Official Client

BitTorrent, the Official Client is the original, but lacks features found in other clients. The piece checking is said to be dismal compared to other clients, and not much information is displayed as in other clients. This is the basic client, and is good if you don't need the extra information provided by other clients.

[edit] Morpheus

Morpheus client has an easy-to-understand interface and many features built in such as the search and library browsers. This feature makes it simpler to find downloads by using a search function similar to those found in traditional P2P applications.

[edit] Transmission

Transmission is a free, lightweight BitTorrent client. It features a simple, intuitive interface on top on an efficient, cross-platform back-end. As easy-to-use as most Mac open-source products.

[edit] Downloading Files

BT is great because it allows huge files to be downloaded without using one person's bandwidth (meaning slow transfer rates) or a server's bandwidth (meaning it could kill a server's bandwidth if too many files are put on, which is the reason why files are rotated in MP3-Rotation sites and in the Members Plus section of JPop.com), it uses bandwidth from multiple sources, and all the load on the server is just that of the hosted .torrent files, which are rarely over 20 kilobytes. When you install your client of choice, it should automatically associate the .torrent name with the client, and if not, your browser will ask you what to open the file with and choose it. Quite simply, your download will start. On most trackers you can rate the file and leave comments, and most uploaders love when comments, requests, and ratings are left at the file's page on the tracker. Keep in mind that if you are seeding and want to change a file, you'll have to wait until after you are done seeding, or copy the file(s) and change those, then delete the originals after you are finished. Some people complain about files being slow, and can't understand why.

[edit] Help! My Files are Slow!

This is quite easily fixed, although sometimes not. There are three main things that would cause your downloads to be slow. The first I'll discuss is that you (if you are behind a router (meaning you are on a network of any kind) or a firewall) haven't forwarded certain ports. I cannot tell you how to do this, as most routers are different. But if you are behind a wireless router, usually you have to access 192.168.1.1 from your browser and you can forward there. The ports you'll have to forward are 6881-6999, and this will allow greater connectivity. The second is that your upload speed is set too low (or too high). Most times, your download speed with BitTorrent is proportional to your upload rate (meaning that if you set your upload speed real low, your download rate will also be slow). This would be more true, but there is Murphy's Law, which more or less states that stuff won't always work correctly, no matter what it is. Of course, most of the time this is true, but if you observe huge upload rates but little or no download rate (for example, Upload: 25.5 kbps and Download: 0 kbps), then try lowering your client's upload rate.. (The reason is that if your upload speed is set too high then it will affect your download speed, using most of your potential bandwidth to send information rather than receive it.) The third problem, the unfixable one (besides you having a dial-up connection or something), is that there simply are not enough seeds and/or leechers to donate enough bandwidth to you, and this is especially true with older files. There is nothing you can do about it, your best bet is to leave your connection (if you can) and computer running overnight and/or throughout the day if you are out at work or school, etc. This way, you aren't killing much bandwidth (since you aren't using any additionally), and more can go to BT and your download or seeding. This also lets you seed quite a bit as well. My computer is usually on 24/7, allowing me to seed a lot and also share files on Soulseek.

Another problem that is being more and more commonplace as BitTorrent becomes more popular is that of port choking. Many ISPs see the ports being used by BT and see the large amounts of bandwidth being used, and to cut costs (especially with xDSL) or to keep bandwidth available for other users (mostly with cable configurations). A simple way to get around this is change your port range from the default to something higher, in the mostly unused port numbers (49000 is a typical port of that area). Remember to forward the ports being used and that you may need to change the ports if your speeds start dropping again.

[edit] Other Troubleshooting

There are other problems you may encounter, but hopefully not that many. Most of the time the error is unique to your computer. Some times they are widespread, and when that is noticed, they are put in here. The first one is that, if you are using Internet Explorer (the only browser I've heard having these problems), and you get an error that Windows can't find some file in the Temporary Internet Files, then you will have to save the torrent itself (Right-Click>Save As) to your computer and run it from there. That should work. If you are having any other problems, contact me or any of the other contributors to this document for help. If a fix is found, contact me and I will update this document if it seems to be widespread. I also plan to start a database of error numbers, symptoms, and fixes here soon.

[edit] Sharing Your Files

[edit] Making a Torrent

Now that you've downloaded a bit, and have some files you would like to share with the rest of the world, how do you do it? This is the question that gets asked most around here, and is quite important to the vitality of the community. There are various programs that exist, thanks to Zaeleus, these programs are demystified for the average user. The programs looked at include Azureus, BitComet, BitSpirit, CompleteDir, MakeTorrent2, and TorrentAid.

[edit] Azureus

Open the application by going to Start >> All Programs >> Azureus >> Azureus.

[1]

To begin, go to File >> Create a Torrent.

[2]

A window will appear showing some basic options. Click on Use an external Tracker and put in the announce URL. This usually can be found on the upload page of a tracker.

Add Multi-Tracker information to the torrent will allow you to add backup URL's incase one fails.

Add hashes for other networks (e.g. Gnutella2, eDonkey2000)will hash the files so they can be used on other networks.

Choose Single file if the torrent being create is for a single file. If not, and it is more than one file, choose Directory.

The comment box is optional.

[3]

On the next page, click Browse and search for the file or directory that the torrent will be for.

[4]

In the File box, click Browse to find the where the torrent will be saved.

File(s) Size is the size of the file(s) that the torrent is being created for.

Piece Count is how many pieces the file will be sent in.

Piece Size is how large each piece will be.

In the next box, the piece size can be chosen. It is recommended to leave this at auto.

If Open the torrent for seeding when done is checked, the torrent will open automatically after it finishes hashing.

[5]

[edit] BitComet

[6]

To begin, go to File >> Create a Torrent... (Ctrl+M).

[7]

In the General tab, choose Single file or Directory (Multi-Files).

In the next box, the piece size can be chosen. It it recommended to leave it on auto.

[8]

Put in the announce URL in Tracker Server box. It usually can be found on the upload page of a tracker.

[9]

Check Generate .torrent File and find where it will be saved.

[10]

In the optional Comments tab, type in information.

[11]

Again, adding a comment is optional.

[edit] Seeding

To do this, navigate to the upload page of your tracker and where it says Upload Path, click Browse, and navigate to the actual torrent file itself and not the actual file you want to upload (for example, Heyx3 Music Champ 10_23_03.torrent, not Heyx3 Music Champ 10_23_03.mpg), enter a name for the Torrent (this is on the tracker's frontpage, so be descriptive!), and then describe it in further detail. I can't believe how many times people offer collections of music (like I do) without some info on what is in the directory! And if you share mp3s, please make professional ID3 tags (Right Click>Summary>Advanced) that are understandable! No all caps, and in the title put kanji and romaji if you can, and the artist's name (check all your romaji, romanizing Japanese is TOUGH!). Now, for some explanation on the proxy servers ISPs use which can foul up your seeding and downloading ability. Remember, if you want the maximum amount of people to download, keep the kanji in the tags, as Windows 98 cannot properly handle Japanese filenames.

[edit] Everything You Didn't Need to Know About Proxy Servers

For most people having the problem of suddenly everything went slow, the status light is now yellow when it used to be green, this is because your ISP has installed a proxy and here is why it affects you. Womby's tracker runs on port 80 just like the website. The default for bittorrent is to use port 6969 for the tracker. Since the annouce url+port is what you need plus the files you want to seed to make a torrent file, the client always knows where to look. Since web proxies cache all traffic on port 80 they'll also run when your client wants to connect to the tracker. This will result in the tracker listing the proxy IP address and not your personal public IP address. Other trackers may use the default 6969 port which the proxy won't try and cache since its not port 80, which is why people have been saying its only this tracker they have problems with. Try visiting a site like portforward and / or natcheck and look for the IP address that they show. Now compare that to the WAN IP address shown on your router status pages. These should match up if they don't then a proxy has intercepted your request for the page and fetched it for you. In this case you'll need to set your client to annouce your IP to the tracker.

BitTornado
BitTornado

On my version of Bittornado it says 'Local IP' but the help bubble says the IP to annouce to the tracker. So I don't know if the help is right or the option name I'm sure some trial an error will sort that out. I normally use the commandline to choose my options, so if I needed this option I would just add --ip to the end of the line. Here is the same thing for Azereus client which is also popular:

Azureus
Azureus

The worst case is if you have a dynamic up sent from your ISP and they have a proxy running, in which case you have to keep changing your IP address to match your current public IP a real pain but worth it for the speed increase.

Now that there is a page, no one is going to see it or download it if you don't seed. To do this, click on the file as if you were going to download it and save it where the file is (click on the file itself, or if you are sharing a directory, click the directory with the files in it, not the .torrent file), your client will check the file, and when it is through, you are seeding and the file is visible for people to download. Keep seeding at least for a few days so that way there are plenty of seeds to help out whoever is downloading.

[edit] Legality

Legality. I do not believe I have to speak on that, because it requires common sense on behalf of the sharer, and is different everywhere, so it is tough to comment on anyways. Just remember to use common sense and follow the laws of your area.

[edit] End Notes

[edit] Thanks

I hope you enjoyed this article, it took me a few hours to build, and will obviously be updated with the times and with the help of others with knowledge outside my range. This should be sufficient to get anybody started with BitTorrent and get a full understanding of the experience. Hopefully, you newbies will have a flashlight to guide you where we veteran users of BT stumbled and walked into walls. Good luck, have fun, and be courteous and sensible.

And, of course, thanks to all the anonymous (and some not anonymous) users keeping this up and cleaning up the various errors in linking and typing.

[edit] Resources

[edit] More Info

[edit] Clients

[edit] Trackers

[edit] Contributors


[edit] Editing

The policy on editing is mostly in the spirit of Wikipedia, however, if you'd like to make any changes (besides minor typographical ones), please contact me with your edit so I can add you to the contribution list and fix up what you have to say.

Personal tools