How to disable upload on BitTorrent

If you often use a BitTorrent client for legal purposes to download torrents, but wish to disable upload (to save on bandwidth), this guide will teach you how to disable upload on BitTornado, the popular BitTorrent client.

UPDATE3 (1/1/2018): Click here to download my personally patched Transmission 2.92 (stealth) (Windows x64 only) that includes these features:

  • Doesn’t send bitfield on connection (what pieces of a torrent you have)
  • Doesn’t share torrent metadata (when you’re a peer and others use a magnet link),  basically treats all torrents as private vs. public
  • Doesn’t acknowledge having any pieces of the torrent when asked what you have, basically responds to all requests with “I don’t have any pieces”
  • Doesn’t upload (of course)
  • Doesn’t confirm with a HAVE after you’ve downloaded a piece

Although it looks complicated, it’s actually very fast and easy, but I’ve broken it down into very detailed instructions that don’t assume that you know anything.

Since BitTornado is written in Python, an interpreted programming language, no compiling is necessary to modify this program, making it one of the easiest BitTorrent clients to disable uploads on.

Instructions

  1. Visit the BitTornado site, click on Download, and download either the experimental or the stable version of the BitTorrent client installer and install it. Do not start BitTornado.
  2. Download the matching .zip Source Package on the same download page and save it to a directory where you will remember.
  3. Extract the .zip archive and in Windows Explorer navigate to the BitTornado-CVS\BitTornado directory.
  4. In Windows Explorer, right click on ConnChoice.py and select Open with…, and use Notepad to open this file (Uncheck the “Always use the selected program to open this kind of file” to prevent meta information changes).
  5. Modify all of the lines that begin with ‘conn’, by changing the value next to ‘min’ to 0 (zero). For example, change the following line:
    'conn':{'min':4, 'max':100,  'def': 4}},

    To read:

    'conn':{'min':0, 'max':100,  'def': 4}},
  6. In Notepad, click on File -> Save to save your changes and close Notepad.
  7. In Windows Explorer, right click on ConnChoice.py and select Cut.
  8. In Windows Explorer Navigate to C:\Program Files\BitTornado\library.zip\BitTornado
  9. In Windows Explorer, right click in the above directory and select Paste.
  10. In Windows Explorer, right click on ConnChoice.pyc and select Delete to delete the .pyc (compiled Python) version of Uploader and leave the .py (uncompiled Python) version behind.
  11. In Windows Explorer navigate to the BitTornado-CVS\BitTornado\BT1 directory where you unarchived the .zip file.
  12. In Windows Explorer, right click on Uploader.py and select Open with…, and use Notepad to open this file (Uncheck the “Always use the selected program to open this kind of file” to prevent meta information changes).
  13. Modify the following line:
    if not self.choked and self.connection.next_upload is None:

    To read:

    if not self.choked and self.connection.next_upload is None and self.config['max_uploads'] > 0:
  14. In Notepad, click on File -> Save to save your changes and close Notepad.
  15. In Windows Explorer, right click on Uploader.py and select Cut.
  16. In Windows Explorer Navigate to C:\Program Files\BitTornado\library.zip\BitTornado\BT1
  17. In Windows Explorer, right click in the above directory and select Paste.
  18. In Windows Explorer, right click on Uploader.pyc and select Delete to delete the .pyc (compiled Python) version of Uploader and leave the .py (uncompiled Python) version behind.

You can now start BitTornado and when selecting zero for the “Max uploads”, instead of the zero setting meaning unlimited, it will actually be set to zero.

Note: When you disable upload in a BitTorrent client, you’re going against the whole philosophy of BitTorrent, and this will negatively affect your download speeds in most situations. However, when people share files without permission, it’s the uploading that gets them in trouble. If you don’t upload, the only people that will be able to prove that you downloaded anything are the people uploading it to you. It seems that they can hardly sue you for downloading the file that they uploaded to you, but I’m not a lawyer.

Download

If you would like to download an already patched library.zip file, including additional patches that kick ban clients after one failed hash instead of multiple ones, and acts in stealth mode by not sending a bitfield, please feel free to download the following.

The library.zip file should be placed in your C:\Program Files\BitTornado directory, overwriting the existing one.

UPDATE: Many torrent trackers now use UDP instead of TCP, and BitTornado does not support UDP. As a result, you may want to try another BitTorrent client. Transmission for the Mac and UNIX/Linux supports limiting the upload rate to 0 KB/s. There is also an unofficial port of the software to Windows. If you use Transmission-QT, the Windows port, you’ll need version 2.77 or earlier as the author made local changes in 2.8x to disable changing the upload speed to 0.

UPDATE2: Transmission-QT, the unofficial port of Transmission, has been pulled down by the author, but the regular version of Transmission now includes a Windows build, although it’s a bit buggy.

UPDATE3: At the top.

3 Replies to “How to disable upload on BitTorrent”

  1. Hey, thanks for the blog article.Really looking forward to read more. Much obliged.

  2. Is the change for Transmission in a source or in a binary? If it is in source, any change publishing the diff? I would like to apply it myself on Transmission source, so I don’t need to run binaries from strangers :)

  3. I’ve been unable to find the source for this. I thought that I’d committed it to github, but I was mistaken. I may have lost it. Sorry. Also, darn!

Leave a Reply

Your email address will not be published. Required fields are marked *