A thinclient for the Katzenpost client daemon
Project description
katzenpost_thinclient
A thin client for sending and receiving messages via a Katzenpost mix network.
This pypi package 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.
Contributions
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
Documentation
Here's our python API docs: https://katzenpost.network/docs/python_thin_client.html
Here's our thin client integration guide: https://github.com/katzenpost/website/blob/main/content/en/docs/client_integration.md
Installation
Install katzenpost using pip:
pip install katzenpost_thiclient
Code Examples
We have two working example python programs that use this thin client library:
-
stats - terminal application that prints the current mixnet status https://github.com/katzenpost/status
-
worldmap - renders an image of the mixnet transposed over a worldmap https://github.com/katzenpost/worldmap
Usage
To use this library you need to have a running Katzenpost client daemon.
Here's the client2 daemon source code: https://github.com/katzenpost/katzenpost/tree/main/client2
That directory has a Makefile which will give you two ways to build the daemon:
- Makefile target "warpedclientdaemon": build binary for use with docker test mixnet.
- Makefile target "clientdaemon": build binary for production mixnet.
We recommend that you look over the client2.toml configuration file generated by our dockerized test mixnet. Using that configuration file you can either make the daemon listen for thin client connections on a TCP/IP socket or you can specify a UNIX domain socket.
Compatibility
Works with Katzenpost v0.0.40 or later.
License
AGPLv3
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file katzenpost_thinclient-0.0.2.tar.gz.
File metadata
- Download URL: katzenpost_thinclient-0.0.2.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ee3f076b5d176c6730285b868d0db0c7d59028767fd4cfb77ed33339c8b3621
|
|
| MD5 |
3facdff7704a650ae0ca71135adb61a3
|
|
| BLAKE2b-256 |
e4a569a0c685478a5a90cb610a55633527e305a97174d5a4f605b6901030297d
|
File details
Details for the file katzenpost_thinclient-0.0.2-py3-none-any.whl.
File metadata
- Download URL: katzenpost_thinclient-0.0.2-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc93719dfc9bf4eb7a502dcab70fe67b3f041d4ead8d4eb0adb174d6f16d079a
|
|
| MD5 |
5e377a34b50ad2395f267fd3d1ae7af1
|
|
| BLAKE2b-256 |
e6a025954cb71a6d792681f9fd88beae034f6561de0a160ea7681cefbff0fc58
|