minxnet diagnostics and status page for katzenpost mix networks
works with Katzenpost version v0.0.41 or later
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 -vRun the client daemon first:
./kpclientd -c /home/human/client2.tomlInstall ping and tcptraceroute for the network survey feature:
apt install tcptraceroute iputils-pingThe --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"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.
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 As an example we provide a full set of services to regularly update the status page for the namenlos network.
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.networkcp 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.timerAfter installing the configuration files and reloading system, enable the services:
systemctl daemon-reload
systemctl enable --now kpclientd.service
systemctl enable --now katzenpost-status.timer
AGPLv3
