wiretun

Crates.iowiretun
lib.rswiretun
version0.5.0
sourcesrc
created_at2023-03-21 11:02:28.331213
updated_at2023-09-18 07:22:12.359013
descriptionWireGuard Library
homepagehttps://github.com/lodrem/wiretun
repositoryhttps://github.com/lodrem/wiretun
max_upload_size
id816105
size192,941
Jialun Cai (zarvd)

documentation

https://docs.rs/wiretun

README

WireTun

github crates.io docs.rs build status dependency status

This library provides a cross-platform, asynchronous (with Tokio) WireGuard implementation.

WARNING: This library is still in early development and is not ready for production use.

[dependencies]
wiretun = { version = "*", features = ["uapi"] }

Example

use wiretun::{Cidr, Device, DeviceConfig, PeerConfig, uapi};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
   let cfg = DeviceConfig::default()
       .listen_port(40001);
   let device = Device::native("utun88", cfg).await?;
   uapi::bind_and_handle(device.control()).await?;
   Ok(())
}

More examples can be found in the examples directory.

Minimum supported Rust version (MSRV)

1.66.1

License

This project is licensed under the Apache 2.0 license.

Commit count: 99

cargo fmt