gtk-gnutella is an open source GTK+ Gnutella client, efficient, reliable and fast, written in C. It has been optimized for speed and scalability, with low-memory consumption.
gtk-gnutella is meant to be left running 24x7, using little CPU and only the configured bandwidth.
gtk-gnutella is a server/client for Gnutella. It runs on every Unix-like system which supports GTK+ (1.2 or above) and libxml. The GNOME desktop environment is not required.
gtk-gnutella is currently developed and tested under Linux (Debian) as well as NetBSD.gtk-gnutella is known to run at least on Darwin, FreeBSD, NetBSD, Linux, OpenBSD, Solaris, Tru64 UNIX (OSF/1), SGI IRIX, BeOS whereas CPU architectures include x86, AMD64, PowerPC, SPARC, MIPS.
NOTE: 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.
Here are some key features of "gtk-gnutella":
· Share files on the gnutella network (Limewire, BearShare, Xolox, Gnucleus, Shareaza, Morpheus ...)
· Compressed GNet connections
· Simultaneous downloading of files from multiple hosts (swarming)
· Passive searches
Searching by urn:sha1: and magnet:
· Automatic aquisition of additional sources via download mesh and watching searches
· Powerful filtering engine
· Bandwidth management/limiting
· A lot of settings
· A lot of statistics
· Compliant to: HTTP/1.1, Gnutella 0.6 (Vendor Code GTKG and soon GNTD), GNet compression, BYE packet, HUGE (Hash/URN Gnutella Extensions), Ping/Pong reduction, PARQ (Passive/Active Remote Queueing), PFSP (Partial File Sharing Protocol), Vendor Messages
· Ultrapeers, QRP (Query Routing Proposal), Push Proxies
What's New in This Release: [ read full changelog ]
Bug Fixes:
· Removed an obsolete assertion now that gtk-gnutella supports NOPE DHT values.
· This was causing a crash each time a NOPE value was received in response
· to push-proxies queries in the DHT.
· Fixed memory alignment problem for non-forgiving CPU architectures.
· The virtual memory manager would crash when the kernel starts allocating
· pages in zones we wrongly thought were already used.
· Fixed long-standing bug in the Query Routing Table protocol where a RESET
· message with the wrong table size could sometimes be sent, causing the remote
· node to close the connection.
· Make sure an ultrapeer is not publishing NOPE values in the DHT if support
· for the DHT was disabled by user, which would be triggering a fatal assertion
· failure.
Under the hood:
· Fixed Makefile to ensure proper compilation under Gentoo's build scripts.
· Push-proxy client support now makes sure there is a space after a leading
· GET or HEAD word in the HTTP request.
· The DIME parsing layer now given more information in case o...