GnucDNA

Last updated
GnucDNA
Developer(s) John Marshall
Stable release 1.1.1.4 (June 23, 2004;18 years ago (2004-06-23) [1] ) [±]
Preview release 1.1.1.6 [2] (?) [±]
Written in C++
Operating system Windows
Type Application programming interface
License GPL
Website www.gnucleus.org/GnucDNA/

GnucDNA was a software library for building peer-to-peer applications. It provides developers with a common layer to create their own Gnutella or Gnutella2 client or network. As a separate component, GnucDNA can be updated independently of the client, passing down improvements to the applications already using it.

Contents

General

GnucDNA is a widespread and established library which can be extended by programmers. It includes the capability of forming a decentralized network between peers with integrated Ultrapeer support, allowing the network to avoid bottlenecks of low bandwidth nodes. However, the Ultrapeer - respectively Hub on G2 - support is outdated compared to modern implementations by clients like gtk-gnutella and Shareaza.

The library gives programs which link to it the ability to share files with built-in support for uploading, downloading, file queuing and partial file sharing (the ability to upload verified chunks of a file while it is downloading), hash those files, extract meta-data to be shared through the network, and the ability to perform advanced searching by specific hash and meta-data parameters. GnucDNA also offers applications the ability to update their software easily through the same P2P network that they create.

The GnucDNA component is COM based to inherit the advantage of language independence and versatility. Applications in C++, Visual Basic, .Net, and even scripts can utilize GnucDNA. Also by being a separate component, it can be used in a number of alternate situations such as part of a plugin, a service or running behind a web server.

History

Gnucleus
Developer(s) John Marshall
Initial release2000
Final release 2.2.0.0 (June 17, 2005;17 years ago (2005-06-17)) [±]
Repository sf.net/projects/gnucleus/
Written in C++
Operating system Microsoft Windows
Available inEnglish
Type Software development kit
License GNU General Public License
Website www.gnucleus.org/Gnucleus/

Over five years of development have already gone into coding, improving, and testing the GnucDNA as part of the Gnucleus project. As others took notice of the project the engine was duplicated over 15 times, but while the interfaces and services others provided were great, they could not keep up with the main development. So the decision was taken, to move the Gnucleus engine, now called GnucDNA, into a separate component, so that anyone has access to it without fear of falling behind in the developments and improvements that are made. It also opens up new doors for those interested in creating their own P2P networks, but do not want to re-invent the low layer communication and file transfer mechanisms.

Clients

Gnucleus

Gnucleus is the gnutella and Gnutella2 client project for Microsoft Windows that the GnucDNA library code originally has been developed in, before it was split to a semi-separated project. Just like the GnucDNA library, it has been released under the GNU General Public License.

The client is designed to be easy to use without reducing the number of options available. Gnucleus implements a number of features including Ultrapeer capability on gnutella (resp. Hub mode on G2), multisource swarming downloads, partial-file sharing, SHA1 file hashing, Merkle tree sub chunk verification and proxy server support.

Kiwi Alpha

Kiwi Alpha [3] is a peer-to-peer file sharing application that uses the GnucDNA library to connect to the gnutella and G2 networks. Its design goal focusses on leaving a small resource footprint and being simple to use for beginners.

Kiwi Alpha doesn't contain functionality such as media players, in the spirit of its lightweight goal. However, the application comes with two bundled pieces of adware, such as SaveNow, which seems to contradict the small footprint goal. [4] Also, the program's website states that "Kiwi Alpha does not require users to register and protects the user's privacy by connecting anonymously to the network". This is misleading, as both supported protocols do not obfuscate the user's IP address, which the statement seems to indicate.

See also

Related Research Articles

Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model.

LimeWire Peer-to-peer file sharing application

LimeWire is a music-based NFT platform that was originally a free software peer-to-peer file sharing (P2P) client for Windows, OS X, Linux and Solaris. LimeWire uses the gnutella network as well as the BitTorrent protocol. A zero-cost version and a purchasable "enhanced" version were available; LimeWire Pro could be acquired through the regular LimeWire software without payment, as users distributed it through the software without authorization. BitTorrent support is provided by libtorrent. The company is a joint venture by the original LimeWire team and the Zehetmayr brothers

Peer-to-peer Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer network of nodes.

Shareaza Peer-to-peer file sharing application

Shareaza is a peer-to-peer file sharing client running under Microsoft Windows which supports the gnutella, Gnutella2 (G2), eDonkey, BitTorrent, FTP, HTTP and HTTPS network protocols and handles magnet links, ed2k links, and the now deprecated gnutella and Piolet links. It is available in 30 languages.

eDonkey2000

eDonkey2000 was a peer-to-peer file sharing application developed by US company MetaMachine, using the Multisource File Transfer Protocol. This client supports both the eDonkey2000 network and the Overnet network.

WinMX Freeware peer-to-peer file sharing program

WinMX is a freeware peer-to-peer file sharing program authored in 2000 by Kevin Hearn in Windsor, Ontario (Canada). According to one study, it was the number one source for online music in 2005 with an estimated 2.1 million users. Frontcode Technologies itself abandoned development of WinMX in September 2005, but developers brought the service back online within a few days by releasing patches. WinMX continues to be used by a community of enthusiasts.

MLDonkey is an open-source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen native client programs.

gtk-gnutella

gtk-gnutella is a peer-to-peer file sharing application 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.

GNUnet Framework for decentralized, peer-to-peer networking which is part of the GNU Project

GNUnet is a software framework for decentralized, peer-to-peer networking and an official GNU package. The framework offers link encryption, peer discovery, resource allocation, communication over many transports and various basic peer-to-peer algorithms for routing, multicast and network size estimation.

Morpheus was a file sharing and searching peer-to-peer client for Microsoft Windows, developed and distributed by the company StreamCast, that originally used the OpenNap protocol, but later supported many different peer-to-peer protocols. On April 22, 2008, distributor StreamCast Networks filed for Chapter 7 bankruptcy after a long legal battle with music companies; all of their employees were laid off and the official download at www.morpheus.com stopped being available, though for a small period the website remained online. As of October 29, 2008, the official Morpheus website is offline, including all other websites owned by StreamCast Networks, specifically MusicCity.com, Streamcastnetworks.com and NeoNetwork.com.

Gnutella2

Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002.

Magnet URI scheme Scheme that defines the format of magnet links

Magnet is a URI scheme that defines the format of magnet links, a de facto standard for identifying files (URN) by their content, via cryptographic hash value rather than by their location.

The eDonkey Network is a decentralized, mostly server-based, peer-to-peer file sharing network created in 2000 by US developers Jed McCaleb and Sam Yagan that is best suited to share big files among users, and to provide long term availability of files. Like most sharing networks, it is decentralized, as there is no central hub for the network; also, files are not stored on a central server but are exchanged directly between users based on the peer-to-peer principle.

FrostWire Free and open-source BitTorrent client

FrostWire is a free and open-source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including support for the BitTorrent protocol. In version 5, support for the Gnutella network was dropped entirely, and FrostWire became a BitTorrent-only client.

eMule Free peer-to-peer file sharing application for Microsoft Windows.

eMule is a free peer-to-peer file sharing application for Microsoft Windows. Started in May 2002 as an alternative to eDonkey2000, eMule now connects to both the eDonkey network and the Kad network. The distinguishing features of eMule are the direct exchange of sources between client nodes, fast recovery of corrupted downloads, and the use of a credit system to reward frequent uploaders. Furthermore, eMule transmits data in zlib-compressed form to save bandwidth.

In computing, eD2k links (ed2k://) are hyperlinks used to denote files stored on computers connected to the eDonkey filesharing P2P network.

Peer-to-peer file sharing (P2P) systems like Gnutella, KaZaA, and eDonkey/eMule, have become extremely popular in recent years, with the estimated user population in the millions. An academic research paper analyzed Gnutella and eMule protocols and found weaknesses in the protocol; many of the issues found in these networks are fundamental and probably common on other P2P networks. Users of file sharing networks, such as eMule and Gnutella, are subject to monitoring of their activity. Clients may be tracked by IP address, DNS name, software version they use, files they share, queries they initiate, and queries they answer to. Clients may also share their private files to the network without notice due to inappropriate settings.

Phex

Phex is a peer-to-peer file sharing client for the gnutella network, released under the terms of the GNU General Public License, so Phex is free software. Phex is based on Java SE 5.0 or later.

libtorrent

libtorrent is an open-source implementation of the BitTorrent protocol. It is written in and has its main library interface in C++. Its most notable features are support for Mainline DHT, IPv6, HTTP seeds and μTorrent's peer exchange. libtorrent uses Boost, specifically Boost.Asio to gain its platform independence. It is known to build on Windows and most Unix-like operating systems.

In the BitTorrent file distribution system, a torrent file or meta-info file is a computer file that contains metadata about files and folders to be distributed, and usually also a list of the network locations of trackers, which are computers that help participants in the system find each other and form efficient distribution groups called swarms. A torrent file does not contain the content to be distributed; it only contains information about those files, such as their names, folder structure, and sizes obtained via cryptographic hash values for verifying file integrity. The term torrent may refer either to the metadata file or to the files downloaded, depending on the context.

References

  1. "Gnucleus at SourceForge.net". Gnucleus.SourceForge.net. 2004-06-23. Retrieved 2010-06-20.
  2. http://crawler.trillinux.org/versions.html
  3. "Kiwi Alpha: File Sharing at its Best". www.kiwialpha.com. Archived from the original on 4 May 2012. Retrieved 12 January 2022.
  4. Web Safety Ratings from McAfee SiteAdvisor for the kiwialpha.com