Features Download
From: Christian Grothoff <christian <at> grothoff.org>
Subject: GNUnet 0.9.0 released
Newsgroups: gmane.org.fsf.announce
Date: Thursday 1st December 2011 08:34:22 UTC (over 6 years ago)
Dear all,

We are pleased to announce the release of GNUnet 0.9.0. This release is 
a major change of the architecture including a rewrite of most of the 
system. The new network is completely incompatible with the old 0.8.x 

About GNUnet

GNUnet is a framework for secure peer-to-peer networking. GNUnet's 
primary design goals are to protect the privacy of its users and to 
guard itself against attacks or abuse. At this point, GNUnet offers two 
primary applications on top of the framework:

     The file-sharing service allows anonymous censorship-resistant 
file-sharing. Files, searches and search results are encrypted to make 
it hard to control, track or censor users. GNUnet's anonymity protocol 
(gap) is designed to make it difficult to link users to their 
file-sharing activities. Users can also individually trade-off between 
performance and anonymity. Despite providing anonymity, GNUnet's 
excess-based economy rewards contributing users with better performance.

     The VPN service allows offering of hidden services within GNUnet 
(using a .gnunet TLD) and can be used to tunnel IPv4 and IPv6 traffic 
over the P2P network. The VPN can also be used for IP protocol 
translation (6-to-4, 4-to-6) and it is possible to tunnel IP traffic 
over GNUnet (6-over-4, 4-over-6).

     Other applications are still under development.

Key features of GNUnet include:

* Works on GNU/Linux, FreeBSD, OS X and W32
* P2P communication over TCP, UDP, HTTP (IPv4 or IPv6) or WLAN
* Communication can be restricted to friends (F2F mode)
* Includes a general-purpose, secure distributed hash table
* NAT traversal using UPnP, ICMP or manual hole-punching (possibly in 
combination with DynDNS)
* Small memory footprint (specifics depend on the configuration)

For developers, GNUnet offers:

* Access to all subsystems via clean C APIs
* Mostly written in C, but extensions possible in other languages
* Multi-process architecture for fault-isolation between components
* Use of event loop and processes instead of threads for ease of
* Extensive logging and statistics facilities
* Integrated testing library for automatic deployment of large-scale 
experiments with tens of thousands of peers

Noteworthy improvements in 0.9.0

* New architecture: multi-process architecture with ARM supervisor
* New application: VPN
* New configuration tool: gnunet-setup (part of gnunet-gtk), including 
automated correctness tests for network and database configuration
* New service: mesh routing
* New transports: HTTPS and WLAN
* New peer discovery in the LAN via broadcast (IPv4) and multicast (IPv6)
* New datastore table and index structure significantly improves various 
database operations
* Improved connectivity using UPnP and ICMP-based NAT traversal
* Event-driven execution results in significant performance improvements 
in many areas
* Power-publishing for file-sharing: user specifies replication 
priorities to improve content replication for certain files in the network


The GNUnet 0.9.0 source code is available from all GNU FTP mirrors. The 
GTK frontends (which includes the gnunet-setup tool) are a separate 

All known releases
GNUnet on a FTP mirror near you
GNUnet GTK on an FTP mirror near you
GNUnet on the primary GNU FTP server
GNUnet GTK on the primary GNU FTP server

Note that GNUnet is now started using "gnunet-arm -s"; the old gnunetd 
binary is no more. GNUnet should be stopped using "gnunet-arm -e".
Further Information

GNUnet Homepage
GNUnet Forum
GNUnet Bug tracker


Development of the GNUnet 0.9.0 branch began in January 2009 with a 
larger review of the various architectural issues in GNUnet 0.8.x. For 
those interested in the rationale behind the major changes in this 
version, the following text reproduces the key problems that were 
identified and the solutions that were adopted.

First, it should be noted that the redesign does not change anything 
fundamental about the application-level protocols or how files are 
encoded and shared. However, it is not protocol-compatible due to other 
changes that do not relate to the essence of the application protocols. 
This choice was made since productive development and readable code were 
considered more important than compatibility at this point.

The redesign tries to address the following major problem groups 
describing issues that apply more or less to all GNUnet versions prior 
to 0.9.x.  Additional details can be found online in our release 
announcement at https://gnunet.org/gnunet090

Thank you for your attention and we hope you will find our efforts 
useful to you.

Happy hacking!

Christian Grothoff (for the GNUnet developers)

Primary developers (for the GNUnet 0.9.x series) are currently:
Bart Polot
Christian Grothoff
David Brodski
Heikki Lindholm
Matthias Wachs
Milan Bouchet-Valat
Nathan Evans
Nils Durner
Safey Allah Mohammed
Philipp Toelke
Vitaly Minko

GNU Announcement mailing list 
CD: 3ms