Skip to content

zarvd/wiretun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

WireGuard implementation in Rust with Tokio

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •