gtk-gnutella
![]() | |
![]() gtk-gnutella 0.96.8 on Debian lenny | |
Developer(s) | Raphael Manfredi, Richard Eckart |
---|---|
Initial release | 16 April 2000 |
Stable release | 1.2.2 (February 25, 2022[±] | )
Preview release | Git [±] |
Repository | |
Written in | C (GTK+) |
Operating system | Unix-like |
Available in | de el es fr hu it ja nb nl uk + |
Type | Peer-to-peer file sharing |
License | GNU General Public License |
Website | http://gtk-gnutella.sourceforge.net/ |
gtk-gnutella is a peer-to-peer file sharing application for Unix-like computer operating systems, which runs on the Gnutella network. gtk-gnutella uses the GTK+ toolkit for its graphical user interface.
Released under the GNU General Public License, gtk-gnutella is free software.
History
Initially gtk-gnutella was written 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. Versions released after July 2002 do not look like the original Nullsoft client.[1]
Features
gtk-gnutella supports a large range of the features of modern Gnutella clients. gtk-gnutella is the first Gnutella client to support IPv6 and encryption using TLS. It can handle and export magnet links. It has strong internationalization features, supporting English, German, Greek, French, Hungarian, Spanish, Japanese, Norwegian, Dutch and Chinese. As it is written in C, it requires less resources than many other Gnutella clients. gtk-gnutella has a very powerful filtering engine that can reduce the amount of spam and other irrelevant results. gtk-gnutella also has support to prevent spamming and other hostile peer activity.
Several software distributions provide pre-compiled packages, but they are usually outdated as many distributions version freeze old stable releases. The gnutella network benefits from running the latest version obtainable as peer and hostile IP address lists change rapidly, making building the latest SVN snapshot the best option. There are also pre-compiled packages for many Linux/Unix distributions at available online. Persons concerned about security might wish to compile their own. The gtk-gnutella sources use dist as build and configuration system instead of Autoconf. Most users are only familiar with the configure scripts generated by the latter. Another hazard for novices is configuring NAT devices to enable full network connectivity for gtk-gnutella. gtk-gnutella, like any Gnutella client, is still usable behind a firewall or a router, but with some reduced functionality, if it cannot receive incoming TCP connections or UDP packets.
gtk-gnutella supports features for downloading larger files (videos, programs, and disk images). Version 0.96.4 supports Tiger tree hash serving and versions after 0.96.5 support tiger tree hashes for uploads and downloads. Tiger tree hashing and other gtk-gnutella features make file transfers as efficient as BitTorrent. Specifically, gtk-gnutella supports partial file sharing [2], remote queueing [3] and files larger than 4 GiB [4]. Overlap checking was the only mechanism to guard against bad data prior to versions 0.96.4. Overlap checking does not guard against malicious corruption like Tiger tree hashing does.
Version 0.96.6 introduced preliminary support for a Kademlia DHT, which was completed in version 0.96.7[5]. The DHT is replacing search by SHA, when locating alternate sources for a known file or looking for push-proxies. In version 0.96.7, the DHT is enabled by default. LimeWire first developed the DHT and named it Mojito.
Operating systems
gtk-gnutella will compile on most Unix variants like GNU/Linux, the BSDs, and Mac OS X. Also, Gtk-gnutella can be built on Windows using Cygwin and the native MinGW build of GTK+ libraries. [6]
Release history
Version | Date |
---|---|
0.96.8 | 21 March 2010 |
0.96.7 | 7 March 2010 |
0.96.6 | 29 March 2009 |
0.96.5 | 2 April 2008 |
0.96.4 | 7 July 2007 |
0.96.3 | 9 November 2006 |
0.96.2 | 16 October 2006 |
0.96.1 | 22 February 2006 |
0.96 | 24 January 2006 |
Every year, the gtk-gnutella developers release a new "stable" version. Revision control versions have a "u" appended to the version; the "u" standing for unstable. Unstable versions from SVN are outdated in 3 months. Stable releases become outdated after one year.
Gtk-gnutella tracks other gtk-gnutella versions seen on the Gnutella network. If newer versions are seen, the user is notified, but an update is not mandated. If ancient versions of gtk-gnutella are seen, they are treated suspiciously.
Popularity
gtk-gnutella does not rank as one of the most popular clients on GnutellaNet crawls. However, it is only released for Unix-like operating systems, which are about 10% of the general computing population [7]. gtk-gnutella developers' proposals have been incorporated into many Gnutella clients. gtk-gnutella vendor extensions are the third most prolific on the GDF, following Limewire and Bearshare. [8] [9] Salon listed gtk-gnutella as one of the five most popular Gnutella applications in 2002. [10] XoloX and Toadnode, also in the list, are no longer actively developed.
Notes
- ^ "gtk-gnutella 0.90 screenshot". 2002.
- ^ Klingberg, Tor (2002). "Partial File Sharing Protocol". Tor Klingberg.
- ^ Manfredi, Raphael (2003). "Passive/Active Remote Queueing". Raphael Manfredi.
- ^ "The 'LF' GGEP Extension". 2004.
- ^ "gtk-gnutella ChangeLog".
- ^ blog entry on cygwin for gtk-gnutella
- ^ OS Market share
- ^ Gnutella vendor extensions
- ^ Gnutella working proposals
- ^ Salon lists gtk-gnutella as one of the top five gnutella clients. (2002)
References
- Wang, Wallace (2004). Steal this file sharing book. San Francisco: No Starch Press. ISBN 1-59327-050-X.
- Ganslandt, Björn (2000). "Distributed file sharing" (PDF). Linux Magazine. Retrieved 1 October 2000.
{{cite web}}
: Check date values in:|accessdate=
(help) - Athanasopoulos, Elias (2006). "Misusing Unstructured P2P Systems to Perform DoS Attacks: The Network That Never Forgets" (PDF). Institute of Computer Science.
- Aggarwal, Vinay (2006). "Analysis of overlay-underlay topology correclation using visualization" (PDF). Deutsche Telekom Laboratories.
- Davison, Brian (2004). "Lessons from a Gnutella-Web Gateway". ACM Press.