Jump to content

Gtk-gnutella: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Tag: references removed
Line 24: Line 24:


== Features ==
== Features ==
Gtk-gnutella is programmed in [[C (programming language)|C]]. Therefore, it requires roughly about 10 times less [[Central processing unit|CPU]] resources and also much less [[Random-access_memory|RAM]] than the major Gnutella clients which are programmed in [[Java (programming_language)|Java]].
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 [[Transport Layer Security|TLS]]. It can handle and export [[magnet link]]s. It has strong [[internationalization]] features, supporting English, German, Greek, French, Hungarian, Spanish, Japanese, Norwegian, Dutch and Chinese. As it is written in [[C (programming language)|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 has a very powerful filtering engine that can reduce the amount of spam and other irrelevant results. 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 [[Transport Layer Security|TLS]]. It can handle and export [[magnet link]]s. It has strong [[internationalization]] features, supporting English, German, Greek, French, Hungarian, Spanish, Japanese, Norwegian, Dutch and Chinese. 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 [http://stinker.serveftp.net:8000/gtkgnutella/gtkgnutella.html 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 [[Network address translation|NAT]] devices to enable full network connectivity for gtk-gnutella. gtk-gnutella, like any Gnutella client, is still usable behind a [[Firewall (computing)|firewall]] or a [[router]], but with some reduced functionality, if it cannot receive incoming [[Transmission Control Protocol|TCP]] connections or [[User Datagram Protocol|UDP]] packets.
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 [http://stinker.serveftp.net:8000/gtkgnutella/gtkgnutella.html 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 [[Network address translation|NAT]] devices to enable full network connectivity for gtk-gnutella. gtk-gnutella, like any Gnutella client, is still usable behind a [[Firewall (computing)|firewall]] or a [[router]], but with some reduced functionality, if it cannot receive incoming [[Transmission Control Protocol|TCP]] connections or [[User Datagram Protocol|UDP]] packets.

Revision as of 09:49, 24 March 2010

gtk-gnutella
Developer(s)Raphael Manfredi, Richard Eckart
Initial release16 April 2000
Stable release1.2.2 (February 25, 2022; 2 years ago (2022-02-25)) [±]
Preview releaseGit [±]
Repository
Written inC (GTK+)
Operating systemUnix-like
Available inde el es fr hu it ja nb nl uk +
TypePeer-to-peer file sharing
LicenseGNU General Public License
Websitehttp://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 is programmed in C. Therefore, it requires roughly about 10 times less CPU resources and also much less RAM than the major Gnutella clients which are programmed in Java.

gtk-gnutella has a very powerful filtering engine that can reduce the amount of spam and other irrelevant results. 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. 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

  1. ^ "gtk-gnutella 0.90 screenshot". 2002.
  2. ^ Klingberg, Tor (2002). "Partial File Sharing Protocol". Tor Klingberg.
  3. ^ Manfredi, Raphael (2003). "Passive/Active Remote Queueing". Raphael Manfredi.
  4. ^ "The 'LF' GGEP Extension". 2004.
  5. ^ "gtk-gnutella ChangeLog".
  6. ^ blog entry on cygwin for gtk-gnutella
  7. ^ OS Market share
  8. ^ Gnutella vendor extensions
  9. ^ Gnutella working proposals
  10. ^ Salon lists gtk-gnutella as one of the top five gnutella clients. (2002)

References

External links