2 unstable releases
0.5.0 | May 4, 2019 |
---|---|
0.4.0 | May 4, 2019 |
#7 in #susyp2p
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
~16MB
~368K SLoC