As the SOPA/PIPA storm was brewing, I thought I should give some of the new tools people were talking about a try. After reading around and checking what was available in the repos, I picked GNUnet. I want to be able to download Linux ISOs on P2P without anyone being able to tell if I have defected to Sabayon :)

(You shouldn't use BitTorrent over Tor. It's too heavy for that network, and your IP address gets revealed at the end point.)

I have installed GNUnet Secured P2P 0.8.1 (package name gnunet-gtk) and gnunet-server.

I ran the configuration wizard, picking my network interface and all the default options. I got a prompt saying Unable to change startup process: Success. I ran it again and this time also ticked "Start the GNUnet background process". It then completed with no prompt. (My network interface defaults to lo rather than wlan0 each time. I leave IP/hostname blank because I have a dynamic IP address - should I enter computername.local?)

I ran the advanced configuration tool, and changed the hostlists from http://gnunet.org/hostlist.php http://gnunet.mine.nu:8081/hostlist http://vserver1236.vserver-on.de/hostlist-074 http://mosquito.dyndns.tv/gnunet-hostlist/hostlist http://de.gnunet.org/hostli to http://mosquito.dyndns.tv/gnunet-hostlist/hostlist http://de.gnunet.org/hostlist-080 http://vserver1236.vserver-on.de/hostlist-074. (Per https://gnunet.org/node/1190 and http://lists.gnu.org/archive/html/help-gnunet/2010-10/msg00000.html )

When the GNUnet GUI starts the message bar reads "Daemon running". After a while it reads "Disconnected".

What do I need to do to connect?


Apparently, GNUnet version 0.8 is depreciated and all the effort is being invested in developing version 0.9. (Source)

I have used the steps from the installation instructions for Ubuntu from GNUnet site for installing GNUnet version 0.9.

First, make sure Subversion is installed on your system:

sudo apt-get install subversion

Then, install libextractor dependencies:

sudo apt-get install automake autopoint autoconf libtool make gcc g++ gettext texinfo
sudo apt-get install zlib1g-dev libgsf-1-dev libmpeg2-4-dev libpoppler-dev

Build libextractor:

svn checkout https://gnunet.org/svn/Extractor
cd Extractor
make; sudo make install; make check
cd ..

Note that 'make check' is optional here.

Install libmicrohttpd dependencies:

sudo apt-get install gnutls-dev libcurl4-gnutls-dev

Build libmicrohttpd:

svn co https://gnunet.org/svn/libmicrohttpd
cd libmicrohttpd/
./configure --with-gnutls --enable-messages --enable-curl
make; sudo make install; make check
cd ..

Again, 'make check' is optional (and may fail if you are running services already on certain ports, like 1080).

Install GNUnet dependencies:

sudo apt-get install libltdl7-dev automake autoconf libtool make gcc texinfo
sudo apt-get install libgcrypt11-dev libgmp3-dev libcurl4-gnutls-dev cvs libunistring-dev
sudo apt-get install libmysqlclient15-dev libsqlite3-dev libpq-dev
sudo apt-get install libesmtp-dev libpcap-dev

Build GNUnet:

You can specify the location of the GNUnet installation by setting the prefix when calling the configure script: --prefix=$HOME/gnbuild

To build GNUnet execute:

svn checkout https://gnunet.org/svn/gnunet/
cd gnunet/
./configure --prefix=$HOME/gnbuild --with-extractor=/usr/local
make; sudo make install

You have to set the GNUNET_PREFIX environment variable according to the prefix you set for the configure script and you have to add your GNUnet installation to your search path:

export GNUNET_PREFIX=$HOME/gnbuild
export PATH=$PATH:$HOME/gnbuild/bin

Now you can test your installation by running:

make check
  • brilliant! thanks for the effort and the link to the GetDeb packaging bug - I assume this is tweaked for 11.10?
    – lofidevops
    Jan 22 '12 at 4:00
  • 1
    David, the guide from GNUnet was written in the early part of 2011, at which point, 11.04 or the later versions weren't released. I have tried to compile GNUnet from source and it seems to pretty much work. If the above instruction doesn't work properly, feel free to ping me in the comments here. I will clarify and/or verify if and when possible.
    – jokerdino
    Jan 22 '12 at 4:16
  • just to note that instructions for 12.04 are also available: gnunet.org/ubuntu1204-gnunetgtk
    – lofidevops
    Dec 6 '13 at 10:43

d3vid, The 0.8x line is not maintained anymore.

Try the 0.9, is easy to compile and already have some guides on how to compile on Internet. The GNUnet is the future of file-sharing ! But is not ready yet for the prime time. You can help by spreading the word or with the development.

  • I was hoping that wouldn't be the answer :) I asked this question specifically because 0.8.1 is what is in the repos. If it isn't maintained, does that mean there is no way to make it work? If there is a (literally) step-by-step guide to compiling 0.9 on Ubuntu 11.10 please link to it (or write it here ;) and I will happily concede defeat (all the while hoping someone creates a PPA).
    – lofidevops
    Jan 20 '12 at 17:08
  • 1
    Yeah, 0.8 is completely dead. The 0.9 is on VERY active and accelerated development, but still on an infant state (and yesterday got the record of 12 connected peers ! ). You can see a guide on harrykar.blogspot.com/2011/08/… (is in Italian) or gnunet.org/ubuntu1004build
    – bratao
    Jan 20 '12 at 18:22

As mentioned above, it is not possible to connect 0.8.1. So you will need to install 0.9.

If you are uncomfortable or morally opposed to installing from source (thanks jokerdino!), you can wait and see if 0.9 is added to the GetDeb Software Portal.

GNUnet 0.9 was rejected for inclusion in GetDeb and it seems unlikely that it will be added in the near future (see https://bugs.launchpad.net/getdeb.net/+bug/836348). Luckily, GNUnet seems to be releasing instructions for building from source with each new release (see the link in Jokerdino's answer for all instructions to date, and links at the bottom of https://gnunet.org/generic-installation).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.