Measurement server library
Go Shell Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Server for Neubot and NDT tests written by Simone Basso, et al, in the context of the neubot project. This software is not affiliated with the NDT project and NDT server side has was written using as reference the official specification.

Botticelli is still experimental software. As far as the NDT server is concerned, botticelli is known to work with measurement-kit's NDT client and does not work with NDT v3.7.0.2 (but a patch to make it work with the official NDT has been submitted). As regards Neubot, it MAY work with some Neubot versions, but for now the main focus of botticelli is to implement NDT.

We currently use botticelli to implement neubot-server, where botticelli is used ONLY to implement a NDT server (meaning that botticelli's Neubot specific code is not enabled).

Cloning botticelli

Botticelli is written in Golang and you need to have it installed on your system to compile botticelli.

To checkout botticelli you first need to select your GOPATH. In my systems I typically use my home for that:


Then you need to create the directory where to clone botticelli:

install -d $GOPATH/src/

Then clone like this:

cd $GOPATH/src/
git clone

Compiling and cross compiling

You need to enter into botticelli's root directory first:

cd $GOPATH/src/

Then compile for your system and architecture:

go get -u -v

To run botticelli, execute:


Because botticelli is written in Go, it is also quite easy to cross compile it for other systems and architectures, e.g.:

GOOS=linux GOARCH=386 go get -u -v

The cross compiled binary will be located at:


Consult Golang docs for more info on supported GOOS and GOARCH combinations.