Skip to content

katzenpost/status

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

katzenpost-status

minxnet diagnostics and status page for katzenpost mix networks


example status image

works with Katzenpost version v0.0.41 or later

Installation / Depedencies

katzenpost-status depends on the katzenpost thinclient which requires you to run a katzenpost client2 daemon. Build kpclientd:

git clone https://github.com/katzenpost/katzenpost.git
cd katzenpost/cmd/kpclientd
go build -v

Run the client daemon first:

./kpclientd -c /home/human/client2.toml

Install ping and tcptraceroute for the network survey feature:

apt install tcptraceroute iputils-ping

Thin client configuration

The --config file is the thin client's TOML config. Recent versions of the thin client receive the Sphinx and Pigeonhole geometries from the daemon over the handshake, so the file now carries only the [Dial] transport section; a stale file with [SphinxGeometry] or [PigeonholeGeometry] sections will be rejected. A minimal config looks like:

[Dial]
  [Dial.Tcp]
    Address = "localhost:64331"
    Network = "tcp"

To reach the daemon over an abstract Unix socket instead, use:

[Dial]
  [Dial.Unix]
    Address = "@katzenpost"

Commandline Usage

Usage: katzenpost-status [OPTIONS]

Options:
  --config TEXT        Path to the thin client TOML config file.  [required]
  --htmlout TEXT       Path to output HTML file.
  --dirauthconf TEXT   Path to the directory authority configuration TOML
                       file.  [required]
  --network-name TEXT  Name of the network deployment (outer panel title).
  --ping / --no-ping   Send a ping via echo service and show result.
  --verbose            Verbose output (includes Rich tables and debug
                       logging).
  --quiet              Suppress all console output (except exit code).
  --help               Show this message and exit.

Example Usage

This example uses the uv tool:

uv venv
uv sync
uv run katzenpost-status --config ~/.local/katzenpost/thinclient.toml --dirauthconf ~/.local/katzenpost/authority.toml --htmlout ~/.local/katzenpost/status.html --ping 

Example deployment for status.namenlos.network

As an example we provide a full set of services to regularly update the status page for the namenlos network.

Add a katzenpost-status user that can update the status web page

useradd --system --home /var/lib/katzenpost-status \
  --shell /usr/sbin/nologin --user-group katzenpost-status
mkdir -p /var/www/status.namenlos.network
chown katzenpost-status:katzenpost-status /var/www/status.namenlos.network
chmod 0755 /var/www/status.namenlos.network

Add service and timer configurations

cp configs/kpclientd.service /etc/systemd/system/kpclientd.service
cp configs/katzenpost-status.service /etc/systemd/system/katzenpost-status.service
cp configs/katzenpost-status.timer /etc/systemd/system/katzenpost-status.timer

Reload systemd services

After installing the configuration files and reloading system, enable the services:

systemctl daemon-reload
systemctl enable --now kpclientd.service
systemctl enable --now katzenpost-status.timer

License

AGPLv3

About

minxnet diagnostics and status for katzenpost mix networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages