gtk-gnutella

[2] gtk-gnutella is programmed in C with an emphasis on efficiency and portability without being minimalistic but rather head-on with most of the modern features of the gnutella network.

It has strong internationalization features, supporting English, German, Greek, French, Hungarian, Spanish, Japanese, Norwegian, Dutch and Chinese.

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.9 introduced full native support for UPnP and NAT-PMP, making the usage behind a compatible router much easier since there is no longer any need to manually forward ports on the firewall.

Version 0.96.9 also introduced important DHT protection against Sybil attacks, using algorithms based on statistical properties.

Although many Gnutella vendors already supported server-side GUESS, gtk-gnutella introduced the client-side as well, also enhancing the original specifications of the protocol to make it truly usable.

Version 0.98.2 employs a minor patch to correct malloc memory allocations and multiple threads issues, mainly on Ubuntu 11.10 operating systems.

In 2011, gtk-gnutella vendor extensions are the third most prolific on the GDF (Gnutella Developer Forum), following Limewire and Bearshare.