Template:Lowercase Template:Infobox Software 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.
History[edit | edit source]
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.
Features[edit | edit source]
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.
gtk-gnutella is not the most user-friendly client. It has many options that most novice users would not care about. While several software distributions do provide pre-compiled packages, users may have to compile gtk-gnutella themselves if they want to use the latest release. 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 , remote queueing  and files larger than 4 GiB . 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.
Release history[edit | edit source]
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[edit | edit source]
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. 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.   Salon listed gtk-gnutella as one of the five most popular Gnutella applications in 2002.  XoloX and Toadnode, also in the list, are no longer actively developed.