Skip to content

idkncc/wireguard-conf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wireguard Conf

Easy to use library for creating wireguard configs.

Installation

Install wireguard-conf and ipnet (for parsing ip networks)

cargo add wireguard-conf ipnet

Usage

More usage examples in tests and on docs.rs

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

use ipnet::Ipv4Net;

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

// create interface with that peer:
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());

Features

  • amneziawg: adds support for generating/using AmneziaWG obfuscation values.

How2Contribute

  1. Fork it, clone it
  2. Add changes
  3. Format and lint code:
    cargo fmt
    cargo clippy
  4. Commit changes (use Conventional commits)
    git commit -m "feat: did something"
  5. Create PR
  6. PROFIT

About

Library, that used for creating wireguard configs

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages