Skip to main content
`Ctrl`+`K`

# User Manual

This tutorial is supposed to give a first introduction for users trying to do something real with GNUnet. Installation and configuration are specifically outside of the scope of this tutorial. Instead, we start by briefly checking that the installation works, and then dive into uncomplicated, concrete practical things that can be done with the framework provided by GNUnet.

In short, this chapter of the “GNUnet Reference Documentation” will show you how to use the various peer-to-peer applications of the GNUnet system. As GNUnet evolves, we will add new sections for the various applications that are being created.

Comments on the content of this chapter, and extensions of it are always welcome.

- Starting and stopping
- The GNU Name System
  - Start Zones
  - Local zone maintenance
  - Application integration
  - Zone dissemination
  - Resource Records
  - DNS Migration
- re:claimID
  - Managing Attributes
  - Managing Credentials
  - Sharing Attributes with Third Parties
  - Revoking Authorizations of Third Parties
  - OpenID Connect
  - Providing Third Party Attestation
- File-sharing
  - Searching
  - Downloading
  - Publishing
  - Indexing vs Inserting
  - Concepts
  - Namespace Management
  - File-Sharing URIs
- Virtual Public Network
  - Setting up an Exit node
  - Fedora and the Firewall
  - Setting up VPN node for protocol translation and tunneling
- Messenger
  - Current state
  - Entering a room
  - Opening a room
  - Messaging in a room
  - Private messaging
- Advanced Configuration
  - Config file format
  - The Single-User Setup
  - The Multi-User Setup
  - Access Control for GNUnet
  - Configuring the Friend-to-Friend (F2F) mode
  - Configuring the hostlist to bootstrap
  - Disable default bootstrap (private network)
  - Manually connecting peers
  - Configuration of the HOSTLIST proxy settings
  - Configuring your peer to provide a hostlist
  - Configuring the datastore
  - Configuring the MySQL database
  - Reasons for using MySQL
  - Reasons for not using MySQL
  - Setup Instructions
  - Testing
  - Performance Tuning
  - Setup for running Testcases
  - Configuring the Postgres database
  - Reasons to use Postgres
  - Reasons not to use Postgres
  - Manual setup instructions
  - Testing the setup manually
  - Configuring the datacache
  - Configuring the file-sharing service
  - Configuring logging
  - Configuring the transport service and plugins
  - Configuring the WLAN transport plugin
  - Configuring HTTP(S) reverse proxy functionality using Apache or nginx
  - Blacklisting peers
  - Configuration of the HTTP and HTTPS transport plugins
  - Configuring the GNUnet VPN
  - Bandwidth Configuration
  - Configuring NAT
  - Peer configuration for distributors (e.g. Operating Systems)