wirectl

Crates.iowirectl
lib.rswirectl
version0.1.0
sourcesrc
created_at2021-07-19 16:41:21.17025
updated_at2021-07-19 16:41:21.17025
descriptionLibrary to control Wireguard with kernel or userspace implementation
homepage
repositoryhttps://github.com/Leo1003/wiremole
max_upload_size
id424797
size53,407
Shao-Fu Chen (Leo1003)

documentation

README

Wirectl

minimum rustc version A library providing anything that you will need to configure Wireguard interfaces.

Motivation

Wireguard has become a widely-used tunnel solution in these years. Being a fast, simple, and secure protocol, it became my favorite VPN protocol. However, there is no well-maintained server to dynamically modify the configurations. Thus, this limits the usage of Wireguard in some circumstances.

In order to manage wireguard configurations via REST api and beautiful interface. I decide to create a web server in Rust. But I found that there is also no well-maintained library to control Wireguard in the Rust ecosystem. So, my project became writing one library and one web server of Wireguard. :/

Current Status

This library still under development, it lacks of some core features and isn't properly tested.

Roadmap

  • Support for different implementation
    • Linux
    • FreeBSD
    • OpenBSD
    • Userspace (Unix)
    • Userspace (Windows)
  • Async runtime support
    • Smol
    • Tokio
    • Be async runtime agnostic if there is a proper way to do that
  • Extension features
    • wg-quick configuration
      • Parsing
      • Generating
    • Embbeding boringtun library
Commit count: 37

cargo fmt