gtk-gnutella logo
Current version: 1.1.11

The Most Efficient Gnutella Client

gtk-gnutella is a server/client for the Gnutella peer-to-peer network. It runs on Microsoft Windows, MacOS and every Unix-like system which supports GTK+ (1.2 or above). The GNOME desktop environment is not required. It is currently developed and tested under Linux (Debian) as well as NetBSD. It is known to run at least on Linux, FreeBSD, NetBSD, Darwin, Solaris, Tru64 UNIX (OSF/1), SGI IRIX, BeOS whereas CPU architectures include x86, AMD64, PowerPC, SPARC, MIPS. And of course Microsoft Windows (XP at least).

gtk-gnutella is free open-source software and released under the GNU General Public License (GPL).

gtk-gnutella is not finished yet, but it is fully functional: you may share, search, and download. And it is stable too, users usually just leave it run unattended for days.

This website follows HTML5 and CSS3 web standards and uses cookies only to record language preferences.

All ideas and comments are welcome to the gtk-gnutella-devel mailing list. Bugs should be reported to the Bug Tracker

We need additional contributors for C development and documentation


11 November 2016, Version 1.1.11 Released

This release fixes a portability issue on FreeBSD and introduces a main core feature and minor new GUI features.

The main feature is the additiona of "equivalence classes" defining word aliases, used when sharing files and querying for them.

Currently, the only supported equivalence class deals with naming of series. Indeed, there are various conventions that can be used to represent these, and it makes searching inefficient: either one will lookup for all the possible variations, or one will miss some of the files.

For instance, episode #8 of an hypothetical season #4 can be represented by any of these strings:

	{ "s04e08", "4x08", "408", "04x08", "0408" }

Thanks to the equivalence class, a file bearing one of these strings can be searched for (and located successfully) by using any of the other strings. Of course, since this is a local processing, the more servents out there are deployed with this aliasing support, the more efficient the feature becomes!

There are also new GUI features: the "Clear completed" button from the Download pane is now doing someething useful, and the current page of different notebooks is remembered across sessions. The only one which is not restored on normal resuming is the main notebook tab. It will be restored if GTKG is restarted after a crash, but otherwise the application will always start up within the Network tab.

In the Uploads tab, upload requests coming from a G2 servent will not be flagged with a "[G2]" tab right after the IP address. This helps seeing how the Gnutella and G2 network unification is evolving.

New Features
Bug Fixes
Under the Hood

1 September 2016, Version 1.1.10 Released

This is mostly a bug-fixing release and should be the last update on the 1.1.x release tree, before important core changes in the upcoming 1.2.

Bug Fixes
Under the Hood

6 March 2016, Version 1.1.9 Released

This is mostly a bug-fixing release.

It fixes an important bug in the UPnP discovery path that led to a crash when it found more than one UPnP device on the network.

It also introduces a new Glossary that can be displayed to explain some terms that may be hard to understand for newcomers, so that they may in turn benefit from the tooltips and the information in the FAQ.

On Windows, one important change is that we now force all memory allocations from the external DLLs to use our own malloc() implementation. This proves that one of the DLLs is exhibiting a memory leak. Plugging that leak will unfortunately require that a garbage collector be implemented. Measurements indicate that 4K leak every second on average, which eventually leads to an out-of-memory crash after a few days (2 to 3), preventing high uptimes on Windows. The leak is not originating from gtk-gnutella's code.

Bug Fixes
Under the Hood

Older news... Logo   Glade   RSS Feed Available   Ohloh Metrics   Coverity Scan Build Status   gtk-gnutella at GitHub  
gtk-gnutella © 2000-2014 by Yann Grossel, Raphaël Manfredi and various contributors.