Crate wireguard_conf

Source
Expand description

Easy to use Wireguard config generator.

§Features

  • amneziawg: Adds AmneziaWG obfuscation values support.

§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§

AmneziaSettingsamneziawg
AmneziaWG obfuscation values.
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