## Installation

Guide for debian: 
https://github.com/royneary/painless-gnunet/blob/master/tutorial_debian9.md

Guide as source for fast-easy edit:
https://md.darmstadt.ccc.de/gnunet


https://md.darmstadt.ccc.de/gnunet2

Docker:
https://github.com/compiaffe/gnunet-docker


GNUnet Repo:
git clone ssh://git@gnunet.org/gnunet.git

Nim (https://nim-lang.org/
is a Chat App, take the one from their page or directly run: 

curl https://nim-lang.org/choosenim/init.sh -sSf | sh

export PATH=$HOME/.nimble/bin:$PATH

echo "export PATH=$HOME/.nimble/bin:$PATH" >> ~/.bashrc

git clone https://gnunet.org/git/gnunet-nim.git
or try: git clone https://gnunet.org/git/groupchat.git

cd /gnunet-nim/examples/

nim c ./groupchat 

LD_LIBRARY_PATH=/usr/local/lib ./groupchat --config=/etc/gnunet.conf --server=TRJSC1DTXDP1CA7PMEAWFY3ZYFA817AZZP4QGCQ43YDCT35EYJX0 --port=t3ss

=> if you run into a problem use the older version of nim, if build with 0.18 should still work. It seems the 0.19 creates some issues 
where

branch nimbox is a termbox (https://github.com/nsf/termbox)
and nim wrapper nimbox (https://github.com/dom96/nimbox) based tui.

./groupchat --config=/etc/gnunet.conf --server=TRJSC1DTXDP1CA7PMEAWFY3ZYFA817AZZP4QGCQ43YDCT35EYJX0 --port=t3ss nick=yournick




## General 

### Paper

The GNUnet System (Habilitation von Christian Grothoff):
https://grothoff.org/christian/habil.pdf

Paper zu GNUnet Filesharing:
https://gnunet.org/sites/default/files/aff.pdf

### videos

Talks und Videos zum GNUnet: 
https://gnunet.org/videos

Besagter 45-subsystems-in-45mins: 
https://www.youtube.com/watch?v=eM4J7ljCExM

LT-zusammenfassung davon:
 https://media.ccc.de/v/gpn18-189-lightning-talks (erster talk)



## angepasstes Dockerfile, welches tut:

FROM ubuntu:18.04

ENV DEBIAN_FRONTEND noninteractive

# Install tools and dependencies
RUN apt-get update && \
    apt-get -y install --no-install-recommends \
      ca-certificates \
      libsasl2-modules \
      git \
      automake \
      autopoint \
      autoconf \
      build-essential \
      texinfo \
      libtool \
      libltdl-dev \
      libgpg-error-dev \
      libidn11-dev \
      libunistring-dev \
      libglpk-dev \
      libjansson-dev \
      libbluetooth-dev \
      libextractor-dev \
      libpq-dev \
      libsqlite3-dev \
      libgcrypt-dev \
      zlib1g-dev \
      miniupnpc \
      libcurl4-gnutls-dev \
      libsqlite3-dev \
      libmicrohttpd-dev && \
    apt-get clean all && \
    apt-get -y autoremove && \
    rm -rf \
      /var/lib/apt/lists/* \
      /tmp/*


# Install GNUnet
ENV GNUNET_GIT_URL https://gnunet.org/git/gnunet
ENV GNUNET_GIT_BRANCH master
ENV GNUNET_PREFIX /usr/local/gnunet
ENV CFLAGS '-g -Wall -O0'

RUN git clone $GNUNET_GIT_URL \
      --branch $GNUNET_GIT_BRANCH \
      --depth=1 \
      --quiet && \
    cd /gnunet && \
      ./bootstrap && \
      ./configure \
        --with-nssdir=/lib \
        --prefix="$GNUNET_PREFIX" \
        --enable-logging=verbose && \
      make -j3 && \
      make install && \
      ldconfig && \
    cd - && \
    rm -fr /gnunet

# Configure GNUnet
COPY gnunet.conf /etc/gnunet.conf
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
RUN chmod 755 /usr/local/bin/docker-entrypoint

ENV LOCAL_PORT_RANGE='40001 40200'
ENV PATH "$GNUNET_PREFIX/bin:/usr/local/bin:$PATH"

ENTRYPOINT ["docker-entrypoint"]


gnunet-cadet 88RXABKJNMT426FY81N2DXN0M2X37SW5Q1NR005YPDZ1Q7A22CHG t3ss