Dealing with Bittorrent traffic shaping/blocking by your ISP
So, here’s a guide several people have been asking me to write. Let’s just put a big fat disclaimer above it first: I’m just writing this because I think all internet traffic should be considered equal, and I find it downright wrong for an ISP to prioritize certain connections or deny access to an arbitrary number of sites because they can be used for copyright infringement. Take care of our internet roads and crossings, and leave it to the end user’s responsability to pick the destinations.
More behind the cut!
0. About Bittorrent
There are already tons of excellent guides explaining the principles on Bittorrent. Check this Lifehacker guide for a quick hands-on, or the Wikipedia entry for technical details. I’ll quickly recap it, in Layman’s terms: when you download a .torrent file, this file only contains the meta-information about the files you intend on downloading, plus a couple of links to machines (trackers) who know which other users have or are looking for that same set of files. By setting up direct connections with several other users, you can retrieve the files.
In the early days of Bittorrent, these trackers were seen as a liability: it was still a form of centralized control that was needed to initiate a connection. In modern Bittorrent implementations, several features were added to make sure you could find other peers without having to contact a central tracker: peer exchange, DHT, … In short: it’s possible to initiate a Bittorrent transfer without using a tracker, but the overall kickstart speed will be slower.
1. How and why are ISP’s throttling Bittorrent traffic?
One of the first concerns might be bandwidth limitations: recent studies have shown that Bittorrent traffic is 53% of all upstream traffic in North America. The ISP’s reasoning is that only a small amount of people use a big chunk of the available bandwidth, which creates an unfair situation compared to regular users.
The other major reason is copyright control: your ISP might be pressured by a CC-organisation to label all Bittorrent traffic as being illegal. This is a wrong and dangerous situation: the protocol is excellent for distributing a file to many people with only limited bandwidth requirements for the original sender. The applications are endless: game updates, virtual machines, …
In general, ISP’s thwart Bittorrent traffic in several ways:
- Packet inspection: block anything that looks like Bittorrent traffic, or make sure only a limited amount of bandwidth is used (traffic shaping)
- Tracker block: block access to well-known trackers, so no or only a small amount of peers can be found.
- (Website block:): this doesn’t really qualify as tampering with the Bittorrent traffic itself, but denying access to torrent indexers or search sites.
2. Dealing with packet inspection
There’s a big chance your ISP is throttling your bandwidth right now. An excellent way to find out is this Glasnost test: you need Java installed. It will only take 15 minutes of your time, depending on your connection speed. Although inspecting packets is an intensive process, there are several applications and solutions to efficiently identify each packet using the header information. An open-source packet inspector, often used by ISPs is OpenDPI. Deep packet inspection is a costly procedure, and there are privacy issues as well.
The good news is that most of the modern Bittorrent clients come with packet encryption options. The solution is simple: make sure the Bittorrent traffic looks like regular TCP traffic with an encrypted payload. The transfer speed will be slightly lower, but it makes it a lot harder for ISP’s to inspect the packages.
I’ve indicated the location of the settings in µTorrent, the most popular Bittorrent client for Windows. Look in your Bittorrent application for similar options.
Some ISP’s tried to tackle this by simply blocking all encrypted traffic, but this causes far to many problems with other applications (Skype, E-mail, …) to be reasonable.
3. Dealing with tracker block / forbidden websites
There are several ways of contacting web addresses you’re not allowed to contact: using a web-based site like HideMyAss.com, or similar services. Configuring your Bittorrent client to use a web-based proxy is often not easy or impossible. That’s why we’ll turn to TOR.
First of all: TOR (The Onion Router) has nothing to do with Torrent. Tor is a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet. It routes your traffic through several nodes in a network. A full explanation on how TOR works internally can be found here.
The good news is that we can use TOR for two purposes:
- In our browser: to browse to websites our ISP forbids.
- In our torrent client: to contact trackers our ISP blocks.
You can download handy bundles on the TOR website: There’s a Web Browser bundle (more info here) for quick and hassle-free surfing: just extract it and run it. We, however need the Vidalia bundle. This contains a couple of important applications:
- Tor libraries themselves
- Vidalia, a tool to view TOR activity, and switch it ON/OFF
- Polipo, a local proxy
Don’t worry, it sounds complicated, but what we’re going to do is actually pretty simple:
After you’ve installed the Vidalia bundle, you can run Vidalia. It will automatically connect to the TOR network. Using its default options, it will also start the Polipo proxy in the background, running on port 8118. For power users: you can configure the Polipo proxy by editing the polipo.conf file located in the Vidalia install folder.
Now, how do we make sure our client (in this case: µTorrent) uses that local proxy (and thus: TOR) to contact the trackers?
Open up the connection settings, and enable using a proxy server. The Polipo proxy talks to us using SOCKS5, and needs no username or password to connect to. It’s address is our own machine (127.0.0.1, or localhost).
Mind you: only check the box to use the proxy for hostname lookups (contacting the trackers). We don’t want to have our peer-to-peer contacting over TOR, since this puts too much strain on the network. Bear in mind: Tor is also used in countries with heavily restricted freedom of speech (for example, to penetrate the great Firewall of China), so any unnecessary traffic is frowned upon. Downloading a big file using peer to peer connections over TOR is frowned upon, and a lot of TOR nodes will block you for it.
If you’re a nice person and got some bandwidth to spare, you can serve some TOR traffic yourself and help out other people (without volunteers like these, the TOR network would not exist). Use the sharing tab in the Vidalia settings to easily configure your TOR installation to be social!
4. Conclusion
Being able to circumvent ISP-imposed limitations is one thing, being vocal with your disagreement is another. Talk to your ISP and ask them about the why’s and how’s they are shaping traffic, and how it is affecting your internet activities. State clearly that you prefer ISP’s who respect end user freedom and net neutrality, and (if possible) switch to a different ISP.






Leave a Reply