| Crates.io | katzenpost_thin_client |
| lib.rs | katzenpost_thin_client |
| version | 0.0.11 |
| created_at | 2025-03-26 22:12:47.542138+00 |
| updated_at | 2025-07-17 23:56:24.245328+00 |
| description | This rust crate provides an async thin client library for Katzenpost, a post quantum decryption mixnet. |
| homepage | https://katzenpost.network |
| repository | https://github.com/katzenpost/thin_client |
| max_upload_size | |
| id | 1607220 |
| size | 253,231 |
A thin client for sending and receiving messages via a Katzenpost mix network.
This crate provides a thin client library for interacting with a Katzenpost mixnet.
A mix network is a type of anonymous communications network.
A thin client library is code you can use as a depencency in your application so that it can anonymously interact with services on the mix network. The Katzenpost client daemon is a multiplexing client; many applications on the same device can use their thin client libraries to connect to the daemon and interact with mixnet services concurrently.
This is a work in progress and we'll require feedback from developers to make improvements. Pull requests welcome:
https://github.com/katzenpost/thin_client
Rust API docs https://docs.rs/katzenpost_thin_client/0.0.4/katzenpost_thin_client/
Katzenpost client integration guide https://github.com/katzenpost/website/blob/main/content/en/docs/client_integration.md
Add katzenpost_thin_client to your Cargo.toml:
[dependencies]
katzenpost_thin_client = "0.0.10"
Here's well use the docker mixnet to test locally. Our example rust mixnet client is here:
Firstly, start the docker mixnet. For details instructions, go here: https://katzenpost.network/docs/admin_guide/docker.html We'll be working with the Katzenpost monorepo to get the docker mixnet started: https://github.com/katzenpost/katzenpost
cd katzenpost/docker
make start wait run-ping
Once our docker mixnet is fully started up then we can start the client2 daemon:
cd katzenpost/client2
make warpedclientdaemon
cd cmd/kpclientd
./kpclientd -c ../../../docker/voting_mixnet/client2/client.toml
The above client2/client.toml should have been created by the make start command above which sets up a new docker mixnet. Next we can
finally run our example rust client, specifying the correct file path
to the thin client configuration file:
cargo run --example echo_ping -- ./katzenpost/docker/voting_mixnet/client2/thinclient.toml
Works with Katzenpost v0.0.56 or later.
AGPLv3