Crate wireguard_conf

Source
Expand description

Easy to use Wireguard config generator.

§Example

use wireguard_conf::prelude::*;
use wireguard_conf::as_ipnet;

use ipnet::Ipv4Net;

let peer = PeerBuilder::new()
    .add_allowed_ip(as_ipnet!("10.0.0.2/24"))
    .build();

let interface = InterfaceBuilder::new()
    .address(as_ipnet!("10.0.0.1/24"))
    .add_peer(peer.clone())
    .build();

// to export configs, use `println!()`, `writeln!()`, `.to_string()`, etc.

println!("Server's config:");
println!("{}\n", interface);

println!("Client's config:");
println!("{}", peer.to_interface(&interface).unwrap());

Modules§

prelude

Macros§

as_ipnet
Get expression as ipnet::Ipv4Net

Structs§

AmneziaSettings
Interface
InterfaceBuilder
Builder, that used for creating Interfaces.
Peer
PeerBuilder
Builder, that used for creating Peers.
PrivateKey
Private key
PublicKey
Public key.

Enums§

WireguardError

Type Aliases§

WireguardResult