Gtk-gnutella
From Wikipedia, the free encyclopedia
Gtk-gnutella is an open-source Unix client for the peer-to-peer Gnutella network, based on the GTK+ toolkit.
[edit] Features
Gtk-gnutella supports a large range of the features of modern Gnutella clients including:
- Ability to share files on the gnutella network with numerous other clients (Limewire, BearShare, Gnucleus, Shareaza, Morpheus)
- Compressed connections
- Simultaneous downloading of files from multiple hosts (known as swarming)
- Passive searches
- Searching by the use of urn:sha1: and magnet: links
- Automatic acquisition of additional sources via a download mesh
- Powerful filtering engine (including regex filtering)
- Robust bandwidth management options
- Extremely configurable
- Lots of connections statistics and other debugging information
- Observes compliance to:
- HTTP/1.1
- Gnutella 0.6 (Vendor Code GTKG and soon GNTD)
- GNet compression
- BYE packet (tells other clients and servers that you are dropping your presence on the network)
- GWebCache Proposal (bootstrapping method)
- HUGE (Hash/URN Gnutella Extensions)
- Ping/Pong reduction
- PARQ (Passive/Active Remote Queueing)
- PFSP (Partial File Sharing Protocol) - allows partial downloads to be shared, a little like BitTorrent
- HSEP (Horizon Size Estimation Protocol)
- Vendor Messages
- Ultrapeers (essentially servers)
- QRP (Query Routing Proposal)
- Push Proxies (allows firewalled users to receive data more easily)
[edit] History
Gtk-gnutella was originally written as a visual clone (i.e. to look like) the original Nullsoft Gnutella client. The original author Yann Grossel stopped working on the client in early 2001. After a while Raphael Manfredi took over as the main software architect, and the client has been in active development ever since.