Gnut Manual: Introduction |
2. Introduction
2.1 Gnutella
Gnutella is a distributed file sharing protocol. It has uses not dissimilar to those that other programs such as Napster, I-Mesh, and Scour provide. Despite this competition, gnutella has one strong point. It is distributed, there is no central authority, there is no forced port, and it's very hard to stop a gnutella network in action.
A gnutella client, more accurately called a servant, can connect to other clients, and accept connection from other clients. Queries and responses are then sent between the clients, so that a person is capable of searching from any node in the network, and reaching a large proportion of the other nodes throughout the world. As well as queries, other routing information is passed over these connections, this can make gnutella use quite a bit of bandwidth. Its usability for modem users has been debated.
2.2 History
The original gnutella client was created by Nullsoft, the creators of Winamp, a subsidiary of AOL/Time Warner. It was released for public beta testing, and on the same day withdrawn due to pressure from AOL. The build released on that day, 0.48, was the last one to officially come from Nullsoft. However leaked versions up until 0.56 appeared, and are reputed to come from Nullsoft.
Not long after the beta test release, many developers around the world reverse engineered the protocol used by this client, and developed other programs which were inter-operable. This is the category under which gnut falls, as well as many other clients which implement the protocol. A good place to look for other clients is the Gnutella Portal, http://gnutella.wego.com.
2.3 Gnut
Gnut is a command-line client which implements the gnutella protocol. It supports all features available in the original Nullsoft client, as well as many others. Bandwidth limiting, sorting of results, regular expression searching, are among the list. It will compile and run on a wide range of POSIX compliant (and not so compliant) systems including: SunOS, Linux, FreeBSD, HP-UX, and Win32.