summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md15
1 files changed, 14 insertions, 1 deletions
diff --git a/README.md b/README.md
index 1b09bb7..0c493cb 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,20 @@
# wg-wrap: Transparent Userspace VPN Wrapper
## Overview
-wg-wrap is a design for a tool that allows a native Linux process to communicate over a WireGuard VPN without requiring the host kernel to manage the VPN tunnel or requiring global root privileges. It achieves this by bridging a Linux network namespace's TUN device directly to a userspace WireGuard implementation.
+wg-wrap is a tool that allows a native Linux process to communicate over a WireGuard VPN without requiring the host kernel to manage the VPN tunnel or requiring global root privileges. It achieves this by bridging a Linux network namespace's TUN device directly to a userspace WireGuard implementation.
+
+### Building from Source
+Because `wg-wrap` uses an embedded C launcher to handle rootless namespace transitions, it cannot be built using `go build` alone. You must use the provided Makefile.
+
+**Requirements:**
+- `gcc`
+- `go` (1.23+)
+
+**Build Instructions:**
+```bash
+make
+```
+This will compile the C launcher and embed it into the final `wg-wrap` binary.
## Profile Management
To simplify usage, `wg-wrap` implements a profile system for managing WireGuard configurations.