GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. Currently, the service implemented on the framework serves to perform censorship-resistant file-sharing.
See also Wikipedia:GNUnet.
GNUnet can be installed with the AUR package. If you also want to use the graphical interface, install AUR. Alternatively, for the most recent experimental version, the git versions are available on AUR as well, under AUR and AUR respectively.
Alternatively, to start the peer immediately in a terminal:
# gnunet-arm -s
See also How to start and stop a GNUnet peer.
To use gnunet-gtk to download a file, just search for the file in the Filesystem tab. When you see the file you want, just download it as you would with any other P2P file-sharing program. Start it with:
Uploading files to the gnunet network is more complicated. GNUnet differentiates between indexing a file and inserting a file. The details can be read at the framework's website. The following steps explain how to share data with the network, and are a shortened form of the instructions found on this page.
The following steps may have to be done manually. A module, calledAUR, has been developed to make this process easier for a user.
To index a file/directory
gnunet-insert [-n] [-k keword1] [-k keyword 2] [-m TYPE:VALUE] filename
It is not required to add keywords, but it is recommended. This is because GNUnet does not allow searching by filename, but by keywords. Libextractor, which is a dependency of gnunet, will extract keywords from the file, but you may wish to enter keywords of your own.
-m option is for meta-data. This is data (about the file) that other users of gnunet will see when your files show up during their searches. For further details, see the gnunet.org online documentation. The
-n option is used to insert a file/directory into the gnunet MySQL/sqlite database, instead of just indexing it.
To unindex a file/directory
Suppose you have forgotten which files you indexed, you can look up the pointers in the directory
GNUNET_HOME=/var/lib/gnunet (set by
Modifying and removing indexed files
- When you modify a file, the URI of the file changes. Therefore, GNUnet considers this to be a completely different file. Therefore, make sure that the original file is unindexed (using the gnunet-unindex command), modify the file, and then index the new file to make it accessible through the network.
- If you want to move/remove a file from your system, then you should unindex it first.
GNUNet has a chat module implemented, for which a third-party GTK graphical user interface is available ( AUR).
Web User Interface
A Web interface for GNUnet exists and is available on AUR asAUR.