GNUnet
From Wikipedia, the free encyclopedia
GNUnet | |
GNUnet with the GTK+ user interface |
|
Developer: | GNUnet developers |
---|---|
Latest release: | 0.7.1c / March 26, 2007 |
OS: | Cross-platform |
Use: | Anonymous P2P, Friend-to-friend |
License: | GPL |
Website: | www.gnunet.org |
GNUnet is a free software framework for decentralized, peer-to-peer networking. The framework offers link 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 GNU project.
Contents |
[edit] Services running on GNUnet
[edit] File sharing
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 offers a "F2F topology" option for restricting connections to only your trusted friends. Then your friends' own friends (and so on) can indirectly exchange files with your computer, never using your IP address.
[edit] URIs
GNUnet uses Uniform Resource Identifiers 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.
[edit] The ECRS module
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/[file hash, using 0-9A-V].[query hash, using 0-9A-V].[file size in bytes]
- sks identifies files within namespaces, typically: gnunet://ecrs/sks/NAMESPACE/IDENTIFIER
- ksk identifies search queries, typically: gnunet://ecrs/ksk/KEYWORD[+KEYWORD]*
- loc identifies a datum on a specific machine, typically: gnunet://ecrs/loc/PEER/QUERY.TYPE.KEY.SIZE
[edit] Examples
A type of GNUnet filesharing URI pointing to a specific copy of GNU GPL license text:
gnunet://ecrs/chk/9E4MDN4VULE8KJG6U1C8FKH5HA8C5CHSJTILRTTPGK8MJ6VH\ ORERHE68JU8Q0FDTOH1DGLUJ3NLE99N0ML0N9PIBAGKG7MNPBTT6UKG.1I823C58O3L\ KS24LLI9KB384LH82LGF9GUQRJHACCUINSCQH36SI4NF88CMAET3T3BHI93D4S0M5CC\ 6MVDL1K8GFKVBN69Q6T307U6O.17992
Another type of GNUnet filesharing URI, pointing to the search results of a search with keyword "gpl":
gnunet://ecrs/ksk/gpl
[edit] See also
- Anonymous P2P
- Friend-to-friend networks or F2F
- Tor (anonymity network)
- Freenet
[edit] External links
- GNUnet homepage
- Official GNUnet page at GNU
- GNUnet community homepage & forum
- Freeway homepage
- A comparison of GNUnet with other peer-to-peer networking
- A mixed language discussion forum for GNUnet users and developers
- GNUnet FAQ
History: GNU Manifesto • GNU Project • Free Software Foundation (FSF)
GNU licenses: GNU General Public License (GPL) • GNU Lesser General Public License (LGPL) • GNU Free Documentation License (FDL)
Software: GNU operating system • bash • GNU Compiler Collection • Emacs • GNU C Library • Coreutils • GNU build system • other GNU packages and programs
Speakers: Robert J. Chassell • Loïc Dachary • Ricardo Galli • Georg C. F. Greve • Federico Heinz • Bradley M. Kuhn • Eben Moglen • Richard Stallman • Len Tower