GNUnet is a framework for secure peer-to-peer networking. The primary application implemented within the GNUnet framework is anonymous censorship-resistant file-sharing.
The goal of the GNUnet project is to provide an infrastructure for secure peer-to-peer networking. All communication in GNUnet is authenticated and link-to-link encrypted. The economic model makes attacks on the network harder since the economics can be used to control resource usage. GNUnet peers exchange messages using a pluggable transport service abstraction. Currently, transport services based on UDP, TCP, HTTP and SMTP are available. The GNUnet core provides mechanisms to perform resource allocations for CPU, bandwidth and storage space. The core enforces resource limitations set by the user. GNUnet does not rely on any centralized services. New Peer-to-Peer protocols can be easily implemented on top of the basic GNUnet infrastructure. Current protocols include anonymous file sharing, a trivial chat protocol, message throughput benchmarking and network topology visualization.