aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..fc84364
--- /dev/null
+++ b/README.md
@@ -0,0 +1,42 @@
+# Rust Implementation of WireGuard
+
+## Usage
+
+Most Linux kernel WireGuard users are used to adding an interface with `ip link add wg0 type wireguard`.
+With wireguard-rs, instead simply run:
+
+ $ wireguard-rs wg0
+
+This will create an interface and fork into the background. To remove the interface, use the usual `ip link del wg0`,
+or if your system does not support removing interfaces directly, you may instead remove the control socket via
+`rm -f /var/run/wireguard/wg0.sock`, which will result in wireguard-rs shutting down.
+
+When an interface is running, you may use `wg(8)` to configure it, as well as the usual `ip(8)` and `ifconfig(8)` commands.
+
+## Platforms
+
+### Linux
+
+This will run on Linux;
+however YOU SHOULD NOT RUN THIS ON LINUX. Instead use the kernel module; see the installation page for instructions.
+
+### Windows
+
+Coming soon.
+
+### FreeBSD
+
+Coming soon.
+
+### OpenBSD
+
+Coming soon.
+
+# Building
+
+The wireguard-rs project is targeting the current nightly.
+To build this project obtain nightly `cargo` and `rustc` through [rustup](https://rustup.rs/), then simply run:
+
+ cargo build --release
+
+To compile wireguard-rs to your current platform.