spotlib
Client for the Spot secure messaging network: end-to-end encrypted communication with connection management, cryptographic identity, message routing, and request-response as well as fire-and-forget messaging.
This is a Rust port of the Go package
github.com/KarpelesLab/spotlib.
Pure Rust all the way down — built on
bottlers (Bottle containers),
purecrypto (TLS & primitives) and
rsurl (REST API). No async runtime;
connections are handled by background threads.
Usage
use Duration;
let t = from_secs;
// create a client (use spotlib::DiskStore to persist the identity key)
let client = builder
.handler
.build?;
client.wait_online?;
// the local address other peers can reach us at
println!; // k.<base64url sha256 of public key>
// E2E encrypted query (encrypt + sign, verify + decrypt the response)
let res = client.query?;
See the crate docs and examples/spot_test.rs for more.