|Bernd Fix 852ba0dd02||2 years ago|
|doc||2 years ago|
|src||2 years ago|
|work||2 years ago|
|.gitignore||2 years ago|
|LICENSE||3 years ago|
|README.md||2 years ago|
|build.sh||2 years ago|
This repository has two parts:
src/ contains a Go implementation of GNUnet: It is WIP and only provides a
very limited coverage of GNUnet. The goal is to have a complete, functionally
equivalent implementation of the GNUnet protocol in Go.
doc/ contains documents for an implementation-agnostic specification of the
GNUnet P2P protocols. It focuses on the peer messages, but also provides
information on the internal messages.
All files are licensed under GNU AGPL-3.0. Copyright by the authors.
THIS IS WORK-IN-PROGRESS AT A VERY EARLY STATE. DON'T EXPECT ANY COMPLETE DOCUMENTATION OR COMPILABLE, RUNNABLE OR EVEN OPERATIONAL SOURCE CODE.
All source code is written in Golang (version 1.11+).
3rd party libraries are used to provide helper functionality (logging, MPI,
Ed25519 support and other crypto-related packages). Make sure the dependent
packages are accessible through
GOPATH. To install the dependencies:
$ go get -u golang.org/x/crypto/... $ go get -u golang.org/x/text/... $ go get -u github.com/bfix/gospel/...
vanityid: Compute GNUnet vanity peer id for a given regexp pattern.
$ vanityid "^TST[0-9]"
gnunet-service-gns-go: Implementation of the GNS service.
peer_mockup: test message exchange on the lowest level (transport).
Packages used to implement GNUnet protocols (currently only TRANSPORT and GNS).