BitTorrent is a tool for copying files from one machine to another. FTP punishes sites for being popular. Since all uploading is done from one place, a popular site needs big iron and big bandwidth. With BitTorrent, clients automatically mirror files they download, making the publisher's burden almost nothing.
| Tags | Communications File Sharing Software Distribution |
|---|---|
| Licenses | Public Domain MIT/X |
| Operating Systems | Mac OS X Windows Windows OS Independent POSIX Linux |
| Implementation | Python |
Recent releases


Changes: This release features a completely new UI, the introduction of smart download/queuing behavior (as well as smart seeding behavior), a torrent priority system, encryption support, download rate control, fast extensions, and torrent "title" support. Progress bars, transfer rate graphs, error handling, and reporting have been improved.


Changes: All bugfixes and improvements from the Beta branch were incorporated, including the upgrade to GTK+ 2.6 API functions, massive code reorganization, internationalization improvements, new icons and status lights, remembering of window size, and more. A memory leak was fixed. Hebrew and Icelandic language support was added.


Changes: New icons were introduced. More fixes were made to Python 2.2 compatibility issues and to "Invalid Menu Handle" cases. The global upload rate calculation was fixed.


Changes: The status light state machine was improved and a "signal strength" indicator was added. Fastresume error messages were fixed. Several IPC bugs and other bugs were fixed.


Changes: Support for "--geometry" and for remembering window size and position was added. Fixes for window titles and system tray tooltips as well as for the NAT status light were made. An "Invalid Menu Handle" error when upgrading was fixed. "launchmany-curses" was fixed for Python 2.2.
- All comments
Recent commentsDownload source code for BitTorrent Client
Hi,
I wish to start a bit torrent client as part of my project. Can you please give me a start up on it. If there is any source code written in c++, request you to please let me know so that i can learn.
Thanks,
Arun.
bad leadership
development for linux and windows is constant, but have to wait forever to get a new version for macs, yet they have the nerve to place a flagrant donation advertisement on the application, especially now since they are a funded company.
also, their support sucks, since they only have a mailing address, not a mailing list that the public can see. so we can't see the bugs, and who would want to contribute.
Re: Developer question about the protocol
> Hi, I am programming a bittorrent client
> as a Perl learning project. It is
> capable of reading the tracker's
> response, prepare everything and start
> connecting to clients. However I have a
> question: I can understand what
> 'request' messages are for but what are
> 'piece' messages and what are they used
> for?
It's somewhat finished now. If anyone wants the code just ask me. Remember this was a Perl learning project. It is fully functional but rough. Areas that need improving are: re-requesting/canceling of pieces, choking algorithm, taking out two or three hard-wired constants and probably many more things. The program is completely non-interactive; you stop it by typing CTRL+C. If there is any Perl hacker out there maybe I could use some help with questions that have arisen through development. Anyway I'm redoing it in C.
Re: Developer question about the protocol
> Hi, I am programming a bittorrent client
> as a Perl learning project. It is
Allright, I figured that out
Developer question about the protocol
Hi, I am programming a bittorrent client as a Perl learning project. It is capable of reading the tracker's response, prepare everything and start connecting to clients. However I have a question: I can understand what 'request' messages are for but what are 'piece' messages and what are they used for?