2 unstable releases
0.5.0 | May 4, 2019 |
---|---|
0.4.0 | May 4, 2019 |
#6 in #susyp2p
39 downloads per month
Used in susyp2p
620KB
11K
SLoC
Central repository for work on susyp2p
This repository is the central place for Rust development of the susyp2p spec.
Warning: While we are trying our best to be compatible with other susyp2p implementations, we cannot guarantee that this is the case considering the lack of a precise susyp2p specifications.
Documentation
How to use the library?
- Main documentation: https://docs.rs/susyp2p
Where to ask questions?
- In the Rust section of https://discuss.susyp2p.io.
- In the #susyp2p IRC channel on freenode.
- By opening an issue in this repository.
Notable users
(open a pull request if you want your project to be added here)
lib.rs
:
Noise protocol framework support for susyp2p.
This crate provides susyp2p_core::InboundUpgrade
and susyp2p_core::OutboundUpgrade
implementations for various noise handshake patterns (currently IK, IX, and XX)
over a particular choice of DH key agreement (currently only X25519).
All upgrades produce as output a pair, consisting of the remote's static public key
and a NoiseOutput
which represents the established cryptographic session with the
remote, implementing tokio_io::AsyncRead
and tokio_io::AsyncWrite
.
Usage
Example:
use susyp2p_core::Transport;
use susyp2p_tcp::TcpConfig;
use susyp2p_noise::{Keypair, X25519, NoiseConfig};
let keys = Keypair::<X25519>::new();
let transport = TcpConfig::new().with_upgrade(NoiseConfig::xx(keys));
// ...
Dependencies
~17MB
~386K SLoC