Skip to main content

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:

  1. stats - terminal application that prints the current mixnet status https://github.com/katzenpost/status

  2. 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:

  1. Makefile target "warpedclientdaemon": build binary for use with docker test mixnet.
  2. 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

katzenpost_thinclient-0.0.2.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

katzenpost_thinclient-0.0.2-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

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

Hashes for katzenpost_thinclient-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4ee3f076b5d176c6730285b868d0db0c7d59028767fd4cfb77ed33339c8b3621
MD5 3facdff7704a650ae0ca71135adb61a3
BLAKE2b-256 e4a569a0c685478a5a90cb610a55633527e305a97174d5a4f605b6901030297d

See more details on using hashes here.

File details

Details for the file katzenpost_thinclient-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for katzenpost_thinclient-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fc93719dfc9bf4eb7a502dcab70fe67b3f041d4ead8d4eb0adb174d6f16d079a
MD5 5e377a34b50ad2395f267fd3d1ae7af1
BLAKE2b-256 e6a025954cb71a6d792681f9fd88beae034f6561de0a160ea7681cefbff0fc58

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page