From 227562cb27929112f543947204336e87da489132 Mon Sep 17 00:00:00 2001 From: dvn Date: Wed, 1 Aug 2018 12:52:33 +0200 Subject: [PATCH] README.md: Create a Markdown README document --- README.md | 160 ++ .../branding/logo/gnunet-logo-dark-text.svg | 1411 +++++++++++++++++ contrib/gnunet-arch-full.svg | 648 ++++++++ 3 files changed, 2219 insertions(+) create mode 100644 README.md create mode 100644 contrib/branding/logo/gnunet-logo-dark-text.svg create mode 100644 contrib/gnunet-arch-full.svg diff --git a/README.md b/README.md new file mode 100644 index 000000000..85b1103d6 --- /dev/null +++ b/README.md @@ -0,0 +1,160 @@ +
GNUnet
+> GNUnet is a *new* network protocol stack for building secure, distributed, and privacy-preserving applications. + +* [Install](#how-to-install-gnunet) + * [From Source](#from-source) + * [Using Docker](#docker) +* [Using GNUnet](#using-gnunet) +* [License](#license) + +How to Install GNUnet +--------------------- + +### 1. From Source + +**Dependencies** + +Install these packages. Some of them may need to be installed from source depending on your OS. + +``` +- libmicrohttpd >= 0.9.42 +- libgcrypt >= 1.6 +- libgnurl >= 7.35.0 (recommended, available from https://gnunet.org/gnurl) +- libcurl >= 7.35.0 (alternative to libgnurl) +- libunistring >= 0.9.2 +- gnutls >= 3.2.12 (highly recommended: a gnutls linked against libunbound) +- libidn >= 1.0 +- libextractor >= 0.6.1 (highly recommended) +- openssl >= 1.0 (binary, used to generate X.509 certificate) +- 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) +- Texinfo >= 5.2 [*1] +- which (for the bootstrap script) +- gettext +- zlib +- pkg-config +``` + + +You can also install the dependencies with the [GNU Guix package manager:](https://https://www.gnu.org/software/guix/) by using the provided environment file: + +```shell +guix package -l guix-env.scm +``` + + +**Using GNU Make** + +```shell +./bootstrap # Run this to generate the configure files. +./configure # See the various flags avalable to you. +make +make install +``` + +**Using the [GNU Guix package manager:](https://https://www.gnu.org/software/guix/) ** + +```shell +# To build, run tests, and install: +guix package -f guix-env.scm + +# To skip the testing phase: +guix package -f guix-env.scm:notest +``` + + +### 2. Docker + +``` +cd docker +docker build -t gnunet . +``` + + + +## Using GNUnet + +There are many possible ways to use the subsystems of GNUnet, we will provide a few examples in this section. + + +
GNUnet Modular Architecture
+ +>***GNUnet is composed of over 30 modular subsystems*** + + + +### GNS + +*coming soon* + +### Cadet + +#### Examples + +Open a Cadet connection: + +```shell +# Node 1 +cadet -o +``` + +Conect to peer: + +```shell +# Node 2 +cadet +``` + +#### Sharing Files + +With the cli tool, you can also share files: + +```shell +# Node 1 +cadet -o > filename +``` + +```shell +# Node 2 +cadet +``` + + +VPN +--- + +Running a Hostlist Server +-------------------------- + +GNUnet Configuration +-------------------------- +### Examples + +```yaml +[transport] +OPTIONS = -L DEBUG +PLUGINS = tcp +#PLUGINS = udp + +[transport-tcp] +OPTIONS = -L DEBUG +BINDTO = 192.168.0.2 +``` + +TODO: *explain what this does and add more* + + +Philosophy +------------------------- + + +Related Projects +------------------------- + + + + pep.foundation Secushare + + \ No newline at end of file diff --git a/contrib/branding/logo/gnunet-logo-dark-text.svg b/contrib/branding/logo/gnunet-logo-dark-text.svg new file mode 100644 index 000000000..5644e0ae7 --- /dev/null +++ b/contrib/branding/logo/gnunet-logo-dark-text.svg @@ -0,0 +1,1411 @@ + + + logo for GNUnet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + logo for GNUnet + + + Luis Felipe López Acevedo, Amirouche Boubekki, carlo von lynX + + + + + GNUnet e.V. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/gnunet-arch-full.svg b/contrib/gnunet-arch-full.svg new file mode 100644 index 000000000..766f2b855 --- /dev/null +++ b/contrib/gnunet-arch-full.svg @@ -0,0 +1,648 @@ + + + + + + +dependencies + + +voting + +voting + + +consensus + +consensus + + +voting->consensus + + + + +identity + +identity + + +voting->identity + + + + +cadet + +cadet + + +voting->cadet + + + + +secretsharing + +secretsharing + + +voting->secretsharing + + + + +consensus->cadet + + + + +set + +set + + +consensus->set + + + + +dht + +dht + + +cadet->dht + + + + +core + +core + + +cadet->core + + + + +block + +block + + +cadet->block + + + + +secretsharing->consensus + + + + +fs + +fs + + +fs->identity + + + + +fs->cadet + + + + +fs->dht + + + + +fs->core + + + + +datastore + +datastore + + +fs->datastore + + + + +ats + +ats + + +fs->ats + + + + +fs->block + + + + +dht->core + + + + +dht->block + + + + +nse + +nse + + +dht->nse + + + + +datacache + +datacache + + +dht->datacache + + + + +peerinfo + +peerinfo + + +dht->peerinfo + + + + +hello + +hello + + +dht->hello + + + + +transport + +transport + + +core->transport + + + + +exit + +exit + + +exit->cadet + + + + +tun + +tun + + +exit->tun + + + + +dnsstub + +dnsstub + + +exit->dnsstub + + + + +vpn + +vpn + + +vpn->cadet + + + + +vpn->tun + + + + +regex + +regex + + +vpn->regex + + + + +regex->dht + + + + +regex->block + + + + +pt + +pt + + +pt->cadet + + + + +pt->vpn + + + + +dns + +dns + + +pt->dns + + + + +dnsparser + +dnsparser + + +pt->dnsparser + + + + +dns->tun + + + + +dns->dnsstub + + + + +gnsrecord + +gnsrecord + + +dnsparser->gnsrecord + + + + +zonemaster + +zonemaster + + +zonemaster->dht + + + + +namestore + +namestore + + +zonemaster->namestore + + + + +namestore->identity + + + + +namestore->gnsrecord + + + + +gns + +gns + + +gns->identity + + + + +gns->dht + + + + +gns->block + + + + +gns->dnsstub + + + + +gns->vpn + + + + +gns->dns + + + + +gns->dnsparser + + + + +revocation + +revocation + + +gns->revocation + + + + +gns->gnsrecord + + + + +revocation->core + + + + +revocation->set + + + + +set->cadet + + + + +conversation + +conversation + + +conversation->cadet + + + + +conversation->gns + + + + +conversation->gnsrecord + + + + +speaker + +speaker + + +conversation->speaker + + + + +microphone + +microphone + + +conversation->microphone + + + + +nse->core + + + + +peerinfo->hello + + + + +transport->ats + + + + +transport->peerinfo + + + + +transport->hello + + + + +nat + +nat + + +transport->nat + + + + +fragmentation + +fragmentation + + +transport->fragmentation + + + + +topology + +topology + + +topology->core + + + + +topology->peerinfo + + + + +topology->hello + + + + +topology->transport + + + + +hostlist + +hostlist + + +hostlist->core + + + + +hostlist->peerinfo + + + + +hostlist->hello + + + + +scalarproduct + +scalarproduct + + +scalarproduct->cadet + + + + +scalarproduct->set + + + + +secushare + +secushare + + +social + +social + + +secushare->social + + + + +multicast + +multicast + + +multicast->cadet + + + + +psyc + +psyc + + +psyc->multicast + + + + +psycstore + +psycstore + + +psyc->psycstore + + + + +social->gns + + + + +social->psyc + + + + +rps + +rps + + +rps->core + + + + + -- 2.25.1