[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNUnet 0.9.0 released

From: Christian Grothoff
Subject: GNUnet 0.9.0 released
Date: Thu, 01 Dec 2011 09:34:22 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20111114 Icedove/3.1.16

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 network.

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 development
* 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 download.

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

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]