Please be aware that this project is still in an early alpha stage when it comes to running software – its not an easy task to rewrite the whole Internet! We are happy to get your helping hand anytime! Further information is available in our handbook. If you have any queries about the installation or the usage, please get in touch!
We recommend to use binary packages provided by the package manager integrated within your Operating System. GNUnet is reportedly available for at least:
$ apt-get install gnunet
Please beware that some distributions may include outdated GNUnet packages!
Next we describe a generic way to install from source. If you are using one of the following Operating Systems these step-by-step guides might be useful: ArchPi, Debian 9, Mac OS, NetBSD, Ubuntu 1804. Be aware that not all of them might be totally up-to-date! Please ask us if you get stuck.
First, install the required dependencies of GNUnet. There are base requirements and optional requirements.
Now, you need to decide if you want to install GNUnet from the release tarball or from git. If you want to use GNUnet and there is no binary package available for your OS, you should stick with the release tarball. If you want to develop using the most recent build, you should go with the git repository.
The current release tarballs for gnunet, a Gtk UI and fuse extensions can be found here:
To compile gnunet from the git source you can do so by entering:
$ git clone https://gnunet.org/git/gnunet.git
Before building GNUnet, make sure that you setup the required groups and add your user to the group
# addgroup gnunetdns
# adduser --system --home "/var/lib/gnunet" --group gnunet --shell /bin/sh gnunet
# usermod -a -G gnunet <username>
To compile GNUnet, execute:
$ export GNUNET_PREFIX=/usr/local/lib # or other directory of your choice
$ ./bootstrap # only if you install from git
$ ./configure --prefix=$GNUNET_PREFIX/..
You can find more configuration flags in the README.
Install GNUnet with:
$ (sudo) make install # you only need sudo if your GNUNET_PREFIX is not writeable by your user
You can now start GNUnet by running:
$ gnunet-arm -s