Welcome to GNUnet
+ToC
+===
+
+* ToC
+* What is GNUnet?
+* Dependencies
+ o direct dependencies
+ o test suite dependencies
+ o optional dependencies
+ o autotools
+* Requirements
+* How to install
+ o binary packages
+ o Scope of Operating System support
+ o Building GNUnet from source
+* Configuration
+* Usage
+* Hacking GNUnet
+* Running HTTP on port 80 and HTTPS on port 443
+* Further Reading
+* Stay tuned
What is GNUnet?
===============
=============
These are the direct dependencies for running GNUnet:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- libmicrohttpd >= 0.9.42
+- libmicrohttpd >= 0.9.52
- libgcrypt >= 1.6
-- libgnurl >= 7.35.0 (recommended, available from
+- A curl build against gnutls, or gnurl:
+ - libgnurl >= 7.35.0 (recommended, available from
https://gnunet.org/en/gnurl.html)
-- libcurl >= 7.35.0 (alternative to libgnurl)
+ or
+ - libcurl >= 7.35.0 (alternative to libgnurl)
- libunistring >= 0.9.2
- gnutls >= 3.2.12 (highly recommended a gnutls
linked against libunbound)
- libidn2 (prefered)
or
- libidn >= 1.0
-- libextractor >= 0.6.1 (highly recommended)
- openssl >= 1.0 (binary, used to generate
X.509 certificate
for gnunet-gns-proxy-setup-ca)
- nss (certutil binary, for
gnunet-gns-proxy-setup-ca)
- libltdl >= 2.2 (part of GNU libtool)
-- sqlite >= 3.8 (default database, required)
-- mysql >= 5.1 (alternative to sqlite)
-- postgres >= 9.5 (alternative to sqlite)
+- 1 or more databases:
+ - sqlite >= 3.8 (default database, required)
+ and/or
+ - mysql >= 5.1 (alternative to sqlite)
+ and/or
+ - postgres >= 9.5 (alternative to sqlite)
- Texinfo >= 5.2 [*1]
- makeinfo >= 4.8
- make[*3]
- which (contrib/apparmor(?), gnunet-bugreport,
- tests (dns, gns, namestore,
- scalarproduct) and possibly more)
+ and possibly more)
- gettext
- zlib
- Posix shell (for some scripts)
- Bash (for some scripts)
These are the dependencies for GNUnet's testsuite:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Posix Shell (for some tests)
- Bash (for some tests[*4])
- python >= 3.7 (only python 3.7 is supported)
-- python-future >= 3.7 (only python 3.7 is supported)
- base tools
- mostly:
- which,
These are the optional dependencies:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Bash (for Docker and Vagrant)
+- libextractor >= 0.6.1 (highly recommended[*5])
+- libjansson
- libopus >= 1.0.1 (for experimental conversation tool)
- libpulse >= 2.0 (for experimental conversation tool)
- libogg >= 1.3.0 (for experimental conversation tool)
https://github.com/schanzen/libgabe)
Recommended autotools for compiling the Git version are:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- autoconf >= 2.59
- automake >= 1.11.1
in the process of being rewritten to comply
with this requirement.
+[*5] While libextractor is optional, it is recommended to
+ build gnunet against it. If you install it later,
+ you won't benefit from libextractor.
+ If you are a distributor, we recommend to split
+ LE into basis + plugins rather than making LE
+ an option as an afterthought by the user.
+ LE itself is very small, but its dependency chain
+ on first, second, third etc level can be big.
+ There is a small effect on privacy if your LE build
+ differs from one which includes all
+ plugins (plugins are build as shared objects):
+ if users publish a directory with a mixture of file
+ types (for example mpeg, jpeg, png, gif) the
+ configuration of LE could leak which plugins are
+ installed for which filetypes are not providing
+ more details.
+ However, this leak is just a minor concern.
+
Requirements
============
$ export $GNUNET_PREFIX=$SOMEWHERE
$ make check
-Some of the testcases require python >= 3.7, and the python modules
-"python-future" (http://python-future.org/) and "pexpect" to be installed.
+Some of the testcases require python >= 3.7, and the python module
+"pexpect" to be installed.
If any testcases fail to pass on your system, run
"contrib/scripts/gnunet-bugreport" (in the repository) or "gnunet-bugreport"
when you already have GNUnet installed and report its output together with
https://old.gnunet.org/bibliography
The Drupal access will be replaced by a new interface to our
- bibliography in 2019.
+ bibliography in the foreseeable future.
Stay tuned