is a framework for
Decentralized ,
Peer-to-peer Networking . The framework offers
Link-level Encryption , peer discovery and
Resource Allocation . GNUnet was first published
November 6 ,
2001 .
The primary codebase is written in
C , but with
Freeway there is an effort to produce a
Compatible version written in
Java . GNUnet currently runs on
GNU/Linux ,
BSD ,
Mac OS X ,
Solaris and
Windows .
It is an official part of the
GNU Operating System .
The primary application at this point is
Anonymous ,
Censorship -resistant file-sharing, allowing users to anonymously publish or retrieve information of all kinds.
The file sharing service uses GNUnet's anonymity protocol,
GAP , for routing queries and replies. Forwarded query messages
are used to search for content and blocks of data. Depending on load of the
forwarding node, messages are forwarded to 0 or more nodes. When a node is
under stress it drops requests from its neighbour nodes having lower internal
trust value.
GNUnet uses
Uniform Resource Identifier s not yet approved by
IANA . The URI notation has changed along with new GNUnet versions. The following notation is used since version 0.7.0.
The 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.
Files shared with GNUnet are ECRS (An Encoding for Censorship-Resistant Sharing) coded. The ''ecrs'' module ''identifier'' consists of either ''chk'', ''sks'', ''ksk'' or ''loc'' followed by a slash and a category specific value.
- ''chk'' identifies files, typically: gnunet://ecrs/chk/ hash, using 0-9A-V . hash, using 0-9A-V . size in bytes
- ''sks'' identifies files within namespaces, typically: gnunet://ecrs/sks/NAMESPACE/IDENTIFIER
- ''ksk'' identifies search queries, typically: gnunet://ecrs/ksk/KEYWORD {Link without Title} ---
- ''loc'' identifies a datum on a specific machine, typically: gnunet://ecrs/loc/PEER/QUERY.TYPE.KEY.SIZE
A type of GNUnet filesharing URI pointing to a specific copy of
GNU GPL license text:
gnunet://ecrs/chk/9E4MDN4VULE8KJG6U1C8FKH5HA8C5CHSJTILRTTPGK8MJ6VHORERHE68JU8Q0FDTOH1DGLUJ3NLE99N0ML0N9PIBAGKG7MNPBTT6UKG.1I823C58O3LKS24LLI9KB384LH82LGF9GUQRJHACCUINSCQH36SI4NF88CMAET3T3BHI93D4S0M5CC6MVDL1K8GFKVBN69Q6T307U6O.17992
Another type of GNUnet filesharing URI, pointing to the search results of a search with keyword "gpl":
gnunet://ecrs/ksk/gpl