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-pingUsage: 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