GNUnet
GNU’s decentralized anonymous and censorship-resistant P2P framework.
GNUnet logo  
[English | Afrikaans | Bulgarian | Catalan | Czech | Danish | Dutch | Esperanto | Finnish | French | Galician | German | Hungarian | Italian | Japanese | Polish | Portuguese | Romanian | Russian | Simplified chinese | Slovak | Spanish | Swedish | Traditional chinese | Ukrainian]

About GNUnet

GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing. Anonymity is provided by making messages originating from a peer indistinguishable from messages that the peer is routing. All peers act as routers and use link-encrypted connections with stable bandwidth utilization to communicate with each other. GNUnet uses a simple, excess-based economic model to allocate resources. Peers in GNUnet monitor each others behavior with respect to resource usage; peers that contribute to the network are rewarded with better service.

GNUnet is part of the GNU project. Our official GNU website can be found at http://www.gnu.org/software/gnunet/. GNUnet can be downloaded from this site or the GNU mirrors.

There are two graphical user interfaces for the GNUnet framework. You can download them separately; some screenshots are available.

Why GNUnet?

The first question that developers of any of the dozens of emerging P2P networks (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) should probably answer is why yet another network? GNUnet was started in late 2001 with a set of new technical ideas for secure peer-to-peer networking. Most of the key technical contributions behind GNUnet are described in detail in our research papers. The ideas include an improved content encoding (ECRS, the encoding for censorship resistant sharing) and a new protocol for anonymous routing (gap). Properties of the content encoding and the routing protocol allow GNUnet to reward contributing peers with better service using an excess-based economic model for resource allocation. Furthermore, GNUnet is extensible and makes it easy to build new peer-to-peer applications or add alternative network transports to the base system. When GNUnet was started, existing systems were investigated (at the time in particular Freenet and mnet) to find a starting point. However, the conclusion was that the envisioned system was too far from the existing codebases to benefit from building on top of any of those.

GNUnet continues to improve both in terms of technical ideas and implementation, often thanks to discussions with developers from related projects. Probably the most well-known such project is TOR, a peer-to-peer network that acts as a proxy which anonymizes low-latency TCP traffic. TOR is general in design and lacks features that would be specific to (anonymous) file-sharing, such as searching, swarming or caching.

In conclusion, we believe that GNUnet is (or at least will become) the best solution for (anonymous) file-sharing. The key technical ideas continue to distinguish GNUnet from other projects with similar goals. Some GNUnet developers also have the ambition to provide a good general infrastructure for developing new peer-to-peer protocols. In the meantime, users that are looking for faster, non-anonymous solutions or to anonymize their HTTP traffic should probably look elsewhere.

News

Older news can be found here.

2009-12-29: GNUnet 0.8.1 released
Download GNUnet 0.8.1 here.
Noteworthy improvements since GNUnet 0.8.1 are:
  • Improved DHT routing algorithm for non-anonymous search using fisheye-DV neighborhood routing
  • Non-anonymous downloads using fisheye-DV neighborhood routing when possible
  • Neighbor-selection code for anonymous routing was improved
  • Command line tools can now be used in ways that do not leak activity to local users (#1467)
  • gnunet-gtk can now be started minimized (#1395)
  • gnunet-pseudonym now uses a more sane default priority for namespace advertisements (#1472)
  • Fixed various HTTP transport-related crashes (#1487)
  • Missing image files are now (again) included in gnunet-gtk (#1475)
  • Corrected description of keyword options in gnunet-search man page (#1468)
  • Corrected descriptions on pseudonyms in gnunet-insert man page (#1480)
  • Double-clicking a column no longer starts downloads in gnunet-gtk (#1474)
  • Clicking download twice no longer starts a second download in gnunet-gtk (#1485)
  • gnunet-search now recognizes search URIs and does not treat them as keywords (#1492)
  • Various other minor bugs were also fixed
You will need to run gnunet-update.

Helping GNUnet

Help is always welcome.
Here are some ideas:

Roadmap

Here is the current development plan:



Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Christian Grothoff.
Verbatim copying and distribution of this entire article
is permitted in any medium, provided this notice is preserved.

Translation engine based on i18nHTML (C) 2003, 2004, 2005, 2006, 2007 Christian Grothoff.

go to i18nHTML administration page