Ouroboros Prototype
The Ouroboros prototype is a packet network implementation based on the networking model of the same name. It is developed in C for POSIX operating systems.
Software Architecture
Split in library
Library
IRMd
IPCPs
Requirements
Ouroboros builds on most POSIX compliant systems. Below you will find instructions for GNU/Linux, FreeBSD and OS X. On Windows 10, you can build Ouroboros using the Linux Subsystem for Windows .
You need git to clone the repository. To build Ouroboros, you need cmake, google protocol buffers installed in addition to a C compiler (gcc or clang) and make.
Optionally, you can also install libgcrypt, libssl, fuse, and dnsutils.
On GNU/Linux you will need either libgcrypt (≥ 1.7.0) or libssl if your glibc is older than version 2.25.
On OS X, you will need homebrew. Disable System Integrity Protection during the installation and/or removal of Ouroboros.
Get Ouroboros
You can clone Ouroboros using the command line from its website or, if you prefer from Github or BitBucket.
$ git clone https://ouroboros.rocks/git/ouroboros
$ git clone git://ouroboros.rocks/ouroboros
$ git clone https://github.com/dstaesse/ouroboros
Optional repositories are pyOuroboros, a Python wrapper to write Ouroboros programs in Python, and ouroboros-metrics that contains an InfluxDB exporter.