GNUnet is a free 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.
GNUnet's basic network topology is that of a mesh network. GNUnet includes a distributed hash table which is a randomized variant of Kademlia that can still efficiently route in small world networks. GNUnet offers a "F2F topology" option for restricting connections to only the users' trusted friends. The users' friends' own friends can then indirectly exchange files with the users' computer, never using its IP address directly.
GNUnet uses Uniform Resource Identifiers. GNUnet URIs consist of two major parts: the module and the module specific identifier. A GNUnet URI is of form gnunet://module/identifier where module is the module name and identifier is a module specific string.
The primary codebase is written in C, but with gnunet-java there is an effort to produce an API for developing extensions in Java. GNUnet currently runs on GNU/Linux, BSD, Mac OS X, Solaris and Windows.
Wikipedia[ - ]
GNUnet is a free software framework for decentralized, peer-to-peer networking and an official...
[ + ]
GNUnet is a free 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.
GNUnet's basic network topology is that of a mesh network. GNUnet includes a distributed hash table which is a randomized variant of Kademlia that can still efficiently route in small world networks. GNUnet offers a "F2F topology" option for restricting connections to only the users' trusted friends. The users' friends' own friends can then indirectly exchange files with the users' computer, never using its IP address directly.
GNUnet uses Uniform Resource Identifiers. GNUnet URIs consist of two major parts: the module and the module specific identifier. A GNUnet URI is of form gnunet://module/identifier where module is the module name and identifier is a module specific string.
The primary codebase is written in C, but with gnunet-java there is an effort to produce an API for developing extensions in Java. GNUnet currently runs on GNU/Linux, BSD, Mac OS X, Solaris and Windows.
Wikipedia