This part only Deals with the Stuck @ ~95% Issue some people get.

1. You're Still Getting Good Transfer Rate (But More Hash Fails)


What's happening behind the scenes in your BT Client (if you look at the console or other debugging info) is that a particular piece of data is being detected as bad by the integrity checking function ("hash failure").

The most common cause of this problem is a bad router that is consistently corrupting a specific piece-data packet.

Some routers employ a routing trick called "game mode," where they rewrite the internal and external IP address bytes found within the payload of incoming and outgoing packets. This allows older games, which hard-code IP addresses within their messaging format, to function from behind a NAT setup.

However, when such an address byte sequence is coincidentally present within a file (and that doesn't mean an IP address), when that file is sent via Torrent protocol, the router mistakenly rewrites the data matching the "IP address" it found. This changes the actual received piece data contents, causing them to fail hash checking.

Any incoming packet that has a byte sequence that just happens to match the address byte sequence is susceptible to corrupting, which is estimated to randomly happen about once every 4GB of data.

There are several ways to fix or get around the problem:
  1. Please note: There is a possible solution that will only work once for every download and only when your ISP assigns a dynamic external IP address to you. Simply disconnect / reconnect to the internet and hope that the IP changes. If that happens, your router will corrupt another (different) byte sequence and you might be able to finish the download. But the next time a block contains the new byte sequence that'll happen again, thus it's only a temporary solution if you can't disable game mode / DMZ on your router.
  2. Do not run your router in DMZ (Demilitarised Zone) mode (where packets not explicitly forwarded are routed by default to a single machine), as many routers seem to employ game mode-like corrupting by default for DMZ-bound traffic. Instead, you should enable explicit port-forwarding on your router for the your BT Client's incoming port;
  3. If your router has such a game mode option (many do not, even though they corrupted anyway), turn it off;
  4. If you have done the above two, try connecting directly to the Internet (i.e. bypass your NAT router entirely, by switching to bridge mode or by taking out your router if it's separate from your modem) to finish off the last piece. Be sure to have all your latest OS patches and make sure you have a decent firewall otherwise your computer will get compromised in minutes.


Also, make sure you use the latest version of your BT Client.


2. Your Transfer Rate Has Dropped; Hash Fails No More Than Usual

This is probably an anti-leech protection feature to make sure that you share your pieces of the file with others. Some BT Clients may do this.


3. Your Transfer Has Stopped Completely

Some routers / firewalls detect data that matches address byte sequences as IP Spoofing. Check your router / firewall security log for IP spoofing entries. If you find entries for the incoming port of your BT Client, you need to disable IP spoofing detection. You may need to disable the firewall function entirely.


4. Other Possible Solutions


Check what the remaining 0.1% is. Open up the torrent details and go to the Files tab and see what files are incomplete.
  • If the file is Thumbs.db, desktop.ini, or .DS_Store, choose not to download them. Check the Help / FAQ / Manual of your BT Client to see if and how this option is supported. Operating systems sometimes will generate these files automatically when you browse the directory. Because they are hidden system files they are protected and can't be replaced with the 'correct' versions your BT Client downloads, so it will discard it, fail the hash check, and download again -- forever.
  • If the file is a textfile/readme file that you don't need to use the product, you can do the same thing if the file is not essential.


If all else fails, try stopping and starting the torrent again, and if that doesn't fix it, stop all transfers, shut down your BT Client, turn off your computer and modem / router, wait a couple of minutes, turn everything back on, restart your BT Client, and start only that torrent for completion.

If it's a video, it might still play.. however thats up to you to try