<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vincentkong.com &#187; BitTorrent</title>
	<atom:link href="http://www.vincentkong.com/tag/bittorrent/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vincentkong.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 25 Dec 2011 01:35:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Avoid Bandwidth Throttling on BitTorrent Traffic</title>
		<link>http://www.vincentkong.com/2007/12/avoid-bandwidth-throttling-on-bittorrent-traffic</link>
		<comments>http://www.vincentkong.com/2007/12/avoid-bandwidth-throttling-on-bittorrent-traffic#comments</comments>
		<pubDate>Sun, 16 Dec 2007 03:12:30 +0000</pubDate>
		<dc:creator>Vincent Kong</dc:creator>
				<category><![CDATA[BitTorrent]]></category>

		<guid isPermaLink="false">http://wordpress.vincentkong.com/?p=28</guid>
		<description><![CDATA[For the past couple of days, I have noticed that the download rate for my BitTorrents would suddenly become really slow during the night. However, when doing a bandwidth test on DSLReports.com, everything was just fine. Being very suspicious I &#8230; <a href="http://www.vincentkong.com/2007/12/avoid-bandwidth-throttling-on-bittorrent-traffic">Continue reading <span class="meta-nav">&#8594;</span></a>


Related posts:<ol><li><a href='http://www.vincentkong.com/2007/05/setting-up-bittorrent' rel='bookmark' title='Setting up BitTorrent'>Setting up BitTorrent</a></li>
<li><a href='http://www.vincentkong.com/2007/07/remote-desktop-with-ssh-tunneling' rel='bookmark' title='Remote Desktop with SSH Tunneling'>Remote Desktop with SSH Tunneling</a></li>
<li><a href='http://www.vincentkong.com/2008/03/ssh-through-http-proxies' rel='bookmark' title='SSH through HTTP Proxies'>SSH through HTTP Proxies</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>For the past couple of days, I have noticed that the download rate for my BitTorrents would suddenly become really slow during the night. However, when doing a bandwidth test on DSLReports.com, everything was just fine. Being very suspicious I started to do some research on my issue, and I’ve found that my ISP has been identified as a bad ISP and started limiting torrent bandwidth during certain times of day, as known as traffic shaping or bandwidth throttling.</p>
<p>To avoid traffic shaping I found 2 solutions: encrypt my BitTorrent traffic or tunneling my BitTorrent traffic over SSH.</p>
<h4><strong>Encrypting BitTorrent Traffic</strong></h4>
<p>Encrypting the BitTorrent traffic is the easier solution to implement. There are 2 types of encryption <em>Plain</em> which obfuscates only the header of the stream, and <em>RC4</em> which obfuscates the entire stream. RC4 is more CPU instensive, however it’s harder for the ISP to detect the BitTorrent traffic.</p>
<p><strong>To enable encryption on Azureus:</strong></p>
<ol>
<li>Go to Tools -&gt; Options -&gt; Connection -&gt; Transport Encryption.</li>
<li>Check the &#8220;Require encrypted transport&#8221; checkbox.</li>
<li>Choose the encryption method &#8220;Plain&#8221; or &#8220;RC4&#8243; to use in the &#8220;Minimum encryption level&#8221; dropdown.</li>
<li>If the &#8220;Allow non-encrypted outgoing connections if encrypted connection attempt fails&#8221; checkbox is checked it will ensure compatibility with clients that are not using encryption, but makes it easier for your ISP to detect BitTorrent traffic.</li>
<li>Check the &#8220;Allow non-encrypted incoming connections&#8221; checkbox.</li>
</ol>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/azureus_encryption.png"><img class="aligncenter size-medium wp-image-147" title="Azureus Encryption" src="http://www.vincentkong.com/wp-content/uploads/2008/05/azureus_encryption-300x228.png" alt="Azureus Encryption" width="300" height="228" /></a></p>
<p><em>Note:</em> For my ISP I found the optimum settings to use the &#8220;Plain&#8221; encryption setting with the &#8220;Allow non-encrypted outgoing connections if encrypted connection attempt fails&#8221; checked, and &#8220;Allow non-encrypted incoming connections&#8221; unchecked</p>
<p><strong>To enable encryption on µTorrent</strong></p>
<ol>
<li>Go to Options -&gt; Preferences -&gt; BitTorrent</li>
<li>Under the &#8220;Protocol Encryption&#8221; section, in the &#8220;Outgoing:&#8221; dropdown , there are two options &#8220;Enabled&#8221; and &#8220;Forced&#8221;, where &#8220;Forced&#8221; will offer more protection against traffic shaping.</li>
<li>Checking the &#8220;Allow legacy incoming connections&#8221; will improve compatibility between clients not using encryption but you will be more vulnerable to traffic shapping.</li>
</ol>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/utorrent_encryption.png"></a></p>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/utorrent_encryption.png"><img class="aligncenter size-medium wp-image-148" title="µTorrent Encryption" src="http://www.vincentkong.com/wp-content/uploads/2008/05/utorrent_encryption-300x235.png" alt="µTorrent Encryption" width="300" height="235" /></a></p>
<p><em>Note:</em> For my ISP I found the optimum settings to use to enable outgoing encryption, and having &#8220;Allow non-encrypted incoming connections&#8221; checked.</p>
<h4><strong>Tunneling BitTorrent over SSH</strong></h4>
<p><strong>SSH Server</strong><br />
First you need to get a SSH account from a shell provider. The shell provider needs to have a large amount of bandwidth and powerful processors to handle the load on the servers. A popular shell provider is <a href="http://silenceisdefeat.org/">http://silenceisdefeat.org</a>, but I haven&#8217;t tried it out yet.</p>
<p><strong>Installing/Configuring PuTTY</strong><br />
To open a SSH tunnel, you need to install <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty">PuTTY</a>. Open the application after installation is completed.</p>
<ol>
<li>Expand &#8220;SSH&#8221; under &#8220;Connection&#8221;, and then go to &#8220;Tunnels&#8221;.</li>
<li>Under &#8220;Add new forwarded port:&#8221; enter a port number beside &#8220;Source port&#8221; e.g. 7443</li>
<li>Click on the &#8220;dynamic&#8221; radio button.</li>
</ol>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/putty1.png"><img class="aligncenter size-medium wp-image-139" title="PuTTY screenshot 1" src="http://www.vincentkong.com/wp-content/uploads/2008/05/putty1-300x290.png" alt="PuTTY screenshot 1" width="300" height="290" /></a></p>
<p>To improve traffic click on &#8220;SSH&#8221; under &#8220;Connection&#8221;, check the box &#8220;Enable Compression&#8221;</p>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/putty2.png"><img class="aligncenter size-medium wp-image-140" title="PuTTY screenshot 2" src="http://www.vincentkong.com/wp-content/uploads/2008/05/putty2-300x290.png" alt="PuTTY screenshot 2" width="300" height="290" /></a></p>
<p>Click on &#8220;Session&#8221; and under the &#8220;Host Name (or IP address)&#8221; enter the public IP address or a fully qualified domain name of the SSH server PC. Enter a unique name in the &#8220;Saved Sessions&#8221; window and click on &#8220;Save&#8221;.</p>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/putty3.png"><img class="aligncenter size-medium wp-image-141" title="PuTTY screenshot 3" src="http://www.vincentkong.com/wp-content/uploads/2008/05/putty3-300x290.png" alt="PuTTY screenshot 3" width="300" height="290" /></a></p>
<p>Click on &#8220;Open&#8221; and login to the SSH server with the appropriate user and password information, and leave the window open.</p>
<p><strong>Configuring the BitTorrent Client (µTorrent)</strong><br />
The final step is to configure your BitTorrent client to go through a proxy server. For µTorrent Go to Options -&gt; Preferences -&gt; Connection and do the following under the “Proxy Server” section.</p>
<ol>
<li>In the &#8220;Type:&#8221; drop down menu select &#8220;Socks4&#8243; or &#8220;Socks5&#8243;</li>
<li>In the &#8220;Proxy:&#8221; text box enter &#8220;localhost&#8221;</li>
<li>In the &#8220;Port:&#8221; text box enter the port which you previously defined in the Putty client e.g. 7443</li>
</ol>
<p><a href="http://www.vincentkong.com/wp-content/uploads/2008/05/utorrent_proxy.png"><img class="aligncenter size-medium wp-image-149" title="µTorrent Proxy" src="http://www.vincentkong.com/wp-content/uploads/2008/05/utorrent_proxy-300x235.png" alt="µTorrent Proxy" width="300" height="235" /></a></p>
<p>Since configuring Azuerus will be similar, I will not provide the instructions here.<br />
After you are done, restart your BitTorrent client.</p>
<h4><strong>Doing a Quick Test</strong></h4>
<p>To verify the solutions work, I did a quick test. I begun downloading a healthy torrent file at a rate of 150kb/s. When the peak hour arrived, the traffic shaping started and my rate immediately dropped to 25kb/s. I begun implementing the encryption method with Azureus and µTorrent, I was able to get my rate back up to 100kb/s and 70kb/s respectively. When implementing the SSH tunneling solution I used my friend&#8217;s SSH server which was not on the same network as my ISP. Unfortunately, because of bandwidth limitation from his server, I was only able to reach 45kb/s.</p>
<p>In conclusion, I am now using µTorrent as my BitTorrent client with encryption enable to download my BitTorrents.</p>


<p>Related posts:<ol><li><a href='http://www.vincentkong.com/2007/05/setting-up-bittorrent' rel='bookmark' title='Setting up BitTorrent'>Setting up BitTorrent</a></li>
<li><a href='http://www.vincentkong.com/2007/07/remote-desktop-with-ssh-tunneling' rel='bookmark' title='Remote Desktop with SSH Tunneling'>Remote Desktop with SSH Tunneling</a></li>
<li><a href='http://www.vincentkong.com/2008/03/ssh-through-http-proxies' rel='bookmark' title='SSH through HTTP Proxies'>SSH through HTTP Proxies</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.vincentkong.com/2007/12/avoid-bandwidth-throttling-on-bittorrent-traffic/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up BitTorrent</title>
		<link>http://www.vincentkong.com/2007/05/setting-up-bittorrent</link>
		<comments>http://www.vincentkong.com/2007/05/setting-up-bittorrent#comments</comments>
		<pubDate>Sat, 19 May 2007 14:59:11 +0000</pubDate>
		<dc:creator>Vincent Kong</dc:creator>
				<category><![CDATA[BitTorrent]]></category>

		<guid isPermaLink="false">http://wordpress.vincentkong.com/?p=69</guid>
		<description><![CDATA[BitTorrent (BT) is a peer-to-peer (P2P) communications protocol for file sharing. Installing a BitTorrent Client The client that I prefer is the Java-based Azureus, which can be download for free. Some people have say that they couldn&#8217;t get this client &#8230; <a href="http://www.vincentkong.com/2007/05/setting-up-bittorrent">Continue reading <span class="meta-nav">&#8594;</span></a>


Related posts:<ol><li><a href='http://www.vincentkong.com/2007/12/avoid-bandwidth-throttling-on-bittorrent-traffic' rel='bookmark' title='Avoid Bandwidth Throttling on BitTorrent Traffic'>Avoid Bandwidth Throttling on BitTorrent Traffic</a></li>
<li><a href='http://www.vincentkong.com/2007/07/optimizing-my-router-with-dd-wrt' rel='bookmark' title='Optimizing My Router with DD-WRT'>Optimizing My Router with DD-WRT</a></li>
<li><a href='http://www.vincentkong.com/2007/07/flashing-my-linksys-wrt54gl-router' rel='bookmark' title='Flashing My Linksys WRT54GL Router'>Flashing My Linksys WRT54GL Router</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>BitTorrent (BT) is a peer-to-peer (P2P) communications protocol for file sharing.</p>
<p><strong>Installing a BitTorrent Client</strong></p>
<p>The client that I prefer is the Java-based <a href="http://azureus.sourceforge.net">Azureus</a>, which can be download for free. Some people have say that they couldn&#8217;t get this client to download as fast as other clients but for me, I have been able to download at the max of the download bandwidth if given the opportunity. However, the main reason I chose this client is because since it written in Java and must be run inside a JVM, I personally feel that it&#8217;s more secure than other Windows-based clients.<em></em></p>
<p><em>Java</em></p>
<p>Since Azureus is Java-based, then it requires to have Java installed to run to it. You need at least version 1.5 otherwise older version may cause problems. Java can be downloaded at <a title="http://www.java.com" href="http://www.java.com/">http://www.java.com</a>, and needs to be install first before you install Azureus.</p>
<p><strong>Setting Up</strong></p>
<p><em>Choosing a Port</em></p>
<p>If you haven&#8217;t already then you&#8217;ll need to choose a port for Azureus to listen on. If you chose port 6881 (the default port), then this needs to be changed because some torrent trackers have blacklisted this port.</p>
<ol>
<li>In Azureus go to Tools &gt; NAT / Firewall Test</li>
<li>Enter a port number between 49152 and 65534 in the box beside &#8220;Incoming TCP Listen Port&#8221;</li>
<li>Click on the &#8220;Test&#8221; button</li>
</ol>
<p>If the test returns:</p>
<p><code>"Testing port XXXXX ... OK !"</code></p>
<p>Then you are ready to start downloading. Otherwise if the test returns:</p>
<p><code>"Testing port XXXXX ... NAT Error"</code></p>
<p>Then there is a small problem where the listening port is closed and Azureus can&#8217;t accept any incoming connections. This will affect your downloading because you are limited to the number of peers you can connect to. Not to worry this a very common problem for most people who have a router or firewall installed. All you need to do is enable port forwarding for your router, or opening the port up for your firewall.<em></em></p>
<p><em>Note: To double check if your port is open you can also use the website <a href="https://www.grc.com/x/ne.dll?bh0bkyd2">Shields UP!</a> </em></p>
<p><em>Port Forwarding for Routers</em></p>
<p>To handle port forwarding your computer needs to be assigned a static local IP address. After you have configured this tell your router to forward the port you selected earlier for both TCP and UDP protocol.</p>
<p><em>Opening Ports for Firewall</em></p>
<p>If you have a firewall it might be rejecting connections, even when they reach your computer. If this is the case, you will need to change your firewall settings to either allow the process <code>Azureus.exe</code> complete access to the internet, or allow the port you selected earlier.</p>
<p><strong>Optimizing Connection</strong></p>
<p>The upload limit will affect your connectivity the most. The rule of thumb is to set the limt to 80% of your upload capacity. Here are some sites which you can check your bandwidth on:</p>
<ul>
<li><a href="http://www.dslreports.com/stest">DSLreports</a></li>
<li><a href="http://testmy.net/u_load.php">testmy.net</a></li>
<li><a href="http://www.thinkbroadband.com/speedtest.html">thinkbroadband.com</a></li>
</ul>
<p>If you want to do more optimizing you can use the <a href="http://infinite-source.de/az/az-calc.html">Azureus upload settings calculator</a>.</p>
<p><strong>Losing internet connectivity after a while</strong></p>
<p>BitTorrent is very network intensive to your router and network card because it needs to manage many connections. I have a Linksys router which is known to have problems with too many global connection. To fix the problem you can limit the max global connections to 200 or less under Tools &gt; Options &gt; Transfer &gt; Max connections globally</p>


<p>Related posts:<ol><li><a href='http://www.vincentkong.com/2007/12/avoid-bandwidth-throttling-on-bittorrent-traffic' rel='bookmark' title='Avoid Bandwidth Throttling on BitTorrent Traffic'>Avoid Bandwidth Throttling on BitTorrent Traffic</a></li>
<li><a href='http://www.vincentkong.com/2007/07/optimizing-my-router-with-dd-wrt' rel='bookmark' title='Optimizing My Router with DD-WRT'>Optimizing My Router with DD-WRT</a></li>
<li><a href='http://www.vincentkong.com/2007/07/flashing-my-linksys-wrt54gl-router' rel='bookmark' title='Flashing My Linksys WRT54GL Router'>Flashing My Linksys WRT54GL Router</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.vincentkong.com/2007/05/setting-up-bittorrent/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

