README


.. image:: https://travis-ci.org/katzenpost/server.svg?branch=master
  :target: https://travis-ci.org/katzenpost/server

.. image:: https://godoc.org/github.com/katzenpost/server?status.svg
  :target: https://godoc.org/github.com/katzenpost/server

Katzenpost Mix Server
=====================

Building
--------

Dependencies pinned using go-modules.
For more info on go-modules, see: https://github.com/golang/go/wiki/Modules

Build the mix server like this:
::

  export GO111MODULE=on
  cd cmd/server
  go build



license
=======

AGPL: see LICENSE file for details.


supported by
============

.. image:: https://katzenpost.mixnetworks.org/_static/images/eu-flag-tiny.jpg

This project has received funding from the European Union’s Horizon 2020
research and innovation programme under the Grant Agreement No 653497, Privacy
and Accountability in Networks via Optimized Randomized Mix-nets (Panoramix).
Expand ▾ Collapse ▴

Documentation

Overview

    Package server provides the Katzenpost server.

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var ErrGenerateOnly = errors.New("server: GenerateOnly set")

      ErrGenerateOnly is the error returned when the server initialization terminates due to the `GenerateOnly` debug config option.

      Functions

      This section is empty.

      Types

      type Server

      type Server struct {
      	// contains filtered or unexported fields
      }

        Server is a Katzenpost server instance.

        func New

        func New(cfg *config.Config) (*Server, error)

          New returns a new Server instance parameterized with the specified configuration.

          func (*Server) IdentityKey

          func (s *Server) IdentityKey() *eddsa.PublicKey

            IdentityKey returns the running server's identity public key.

            func (*Server) RotateLog

            func (s *Server) RotateLog()

              RotateLog rotates the log file if logging to a file is enabled.

              func (*Server) Shutdown

              func (s *Server) Shutdown()

                Shutdown cleanly shuts down a given Server instance.

                func (*Server) Wait

                func (s *Server) Wait()

                  Wait waits till the server is terminated for any reason.

                  Directories

                  Path Synopsis
                  Package cborplugin is a plugin system allowing mix network services to be added in any language.
                  Package cborplugin is a plugin system allowing mix network services to be added in any language.
                  cmd
                  Package config provides the Katzenpost server configuration.
                  Package config provides the Katzenpost server configuration.
                  Package provides registration protocol constants
                  Package provides registration protocol constants
                  Package spool defines the Katzenpost server user message spool abstract interface.
                  Package spool defines the Katzenpost server user message spool abstract interface.
                  boltspool
                  Package boltspool implements the Katzenpost server user message spool with a simple boltdb based backend.
                  Package boltspool implements the Katzenpost server user message spool with a simple boltdb based backend.
                  Package userdb defines the Katzenpost server user database abstract interface.
                  Package userdb defines the Katzenpost server user database abstract interface.
                  boltuserdb
                  Package boltuserdb implements the Katzenpost server user database with a simple boltdb based backend.
                  Package boltuserdb implements the Katzenpost server user database with a simple boltdb based backend.
                  externuserdb
                  Package externuserdb implements the Katzenpost server user database with http calls to a external authorization source (expected to run in localhost).
                  Package externuserdb implements the Katzenpost server user database with http calls to a external authorization source (expected to run in localhost).
                  internal
                  constants
                  Package constants defines internal constants for the Katzenpost server.
                  Package constants defines internal constants for the Katzenpost server.
                  cryptoworker
                  Package cryptoworker implements the Katzenpost Sphinx crypto worker.
                  Package cryptoworker implements the Katzenpost Sphinx crypto worker.
                  debug
                  Package debug implements useful helper routines to aid debugging.
                  Package debug implements useful helper routines to aid debugging.
                  decoy
                  Package decoy implements the decoy traffic source and sink.
                  Package decoy implements the decoy traffic source and sink.
                  glue
                  Package glue implements the glue structure that ties all the internal subpackages together.
                  Package glue implements the glue structure that ties all the internal subpackages together.
                  incoming
                  Package incoming implements the incoming connection support.
                  Package incoming implements the incoming connection support.
                  mixkey
                  Package mixkey provides persistent mix keys and associated utilities.
                  Package mixkey provides persistent mix keys and associated utilities.
                  outgoing
                  Package outgoing implements the outgoing connection support.
                  Package outgoing implements the outgoing connection support.
                  packet
                  Package packet implements the Katzenpost server side packet structure.
                  Package packet implements the Katzenpost server side packet structure.
                  pki
                  Package pki implements the server PKI handler.
                  Package pki implements the server PKI handler.
                  pkicache
                  Package pkicache provides a rudimentary cached representation of a PKI Document suitable for server use.
                  Package pkicache provides a rudimentary cached representation of a PKI Document suitable for server use.
                  provider
                  Package provider implements the Katzenpost sever provider.
                  Package provider implements the Katzenpost sever provider.
                  provider/kaetzchen
                  Package kaetzchen implements support for provider side auto-responder agents.
                  Package kaetzchen implements support for provider side auto-responder agents.
                  scheduler
                  Package scheduler implements the Katzenpost server scheduler.
                  Package scheduler implements the Katzenpost server scheduler.
                  sqldb
                  Package sqldb interfaces the Katzenpost server with a SQL database.
                  Package sqldb interfaces the Katzenpost server with a SQL database.