Thank you for interest in Katzenpost! This document describes how to use and configure the Katzenpost Mix Network software system. The target audience for this document is systems administrators. This document assumes you are familiar with using unix systems, git revision control system and building golang binaries.
Katzenpost can be used as a message oriented transport for a variety
of applications and is in no way limited to the e-mail use case
demonstrated by the
mailproxy client/library. Other possible
applications of Katzenpost include but are not limited to: instant
messenger applications, crypto currency transaction transport,
bulletin board systems, file sharing and so forth.
The Katzenpost system has four component categories:
public key infrastructure
Providers has a superset of mixes that fulfill two roles: 1. The initial hop in the route and therefore as an ingress hop
this node authenticates clients and does per client rate limiting.
The terminal hop in the route and therefore can either store and forward or proxy to a
Kaetzchenaka a mixnet service.
This handbook will describe how to use and deploy each of these. The build instructions in this handbook assume that you have a proper golang environment with at least golang 1.10 or later AND the git revision control system commandline installed.
NOTE: Find out what our latest stable version tag by looking at the “releases.rst” file in the top-level of this repository.
Make sure you have a recent version of Go that supports go modules.
Follow the build instructions for each Katzenpost component you want to build.
There are two server infrastructure components:
There are several clients. Our latest work-in-progress:
The old client from the Panoramix EU 2020 grant deliverable:
Additionally HashCloak makes crypto currency clients that work with Katzenpost:
Each Katzenpost component has a configuration file in the TOML format. This handbook will give you all the details you need to know to configure each of these configuration files. To learn more about the TOML format see: https://github.com/toml-lang/toml#toml
# may be used at the beginning of a line to denote a comment
instead of an effective configuration line.