koibumi 0.0.1

An experimental Bitmessage client
koibumi-0.0.1 is not a library.

Koibumi

Koibumi is an experimental Bitmessage client. Note that Koibumi is NOT an official project of The Bitmessage Developers.

Features

Koibumi can connect to the Bitmessage network and relay Bitmessage objects.

It has a GUI. Configuration and monitoring can be performed on the window. If you do not need any GUI, use koibumi-daemon instead.

Currently, this client is limited to relay only mode. User messages can not be written or read.

Additionaly, network connections are limited to via Tor only. You need a Tor SOCKS5 proxy running at localhost. Although the client can also connect to Clearnet, DNS bootstrapping is not implemented yet.

Currently, all data are stored on memory, not persistent.

Usage

To install the Koibumi Bitmessage client, issue the command:

cargo install koibumi

To complete the installation successful, you may need to install some extra libraries such as libvulkan-dev on the host Linux machine.

Then, run koibumi command, and a GUI window popups. Possibly, you may need to install mesa-vulkan-drivers on Linux. On the window, you can configure several settings.

To connect to the Bitmessage network, push Start button on the window. When the client connected to some remote nodes, their addresses and user agents are shown on the window. You can monitor how many Bitmessage objects are downloaded and shared.

This client is experimental and under development, so many debug logs are printed on the console.

Settings

These are default settings:

  • Spawn a Bitmessage server at 127.0.0.1:8444. But, currently, this does not fully work, and the client does not advertise its server address.
  • Connect to the Bitmessage network via SOCKS5 proxy at 127.0.0.1:9050. It is the default local Tor proxy server address. Be careful, if this checkbox is turned off, no SOCKS proxy is used, and all connections are directly to Clearnet.
  • The client can connect to Bitmessage nodes that have Onion addresses.
  • The client can connect to Bitmessage nodes that have IP addresses. Be careful, if SOCKS checkbox above is turned off, then all connections are directly to Clearnet.
  • Does not connect to myself.
  • Use a user agent of a version of PyBitmessage.
  • At first, connect to the seed Bitmessage node on the Tor network. This default address is embedded in PyBitmessage source code.
  • Max 32 outgoing connections can be initiated and max 8 outgoing established connections are keeped.

You can change these settings on the GUI window.

Although server mode does not fully work, if you want to test connecting to yourself,

  • turn off SOCKS checkbox,
  • turn on Connect to Myself,
  • push Myself button and set the seed the local server.

Implementation details

Some of the significant external crates which Koibumi uses:

Koibumi's internal implementation is divided into several crates:

  • Applications
    • koibumi: An experimental Bitmessage client with GUI
    • koibumi-daemon: An experimental Bitmessage client without GUI
  • Libraries
    • koibumi-core: A library that provides various types and methods usable to implement Bitmessage clients
    • koibumi-node: An implementation of Bitmessage network node
  • Other small libraries