summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJames O'Doherty <james@theodohertyfamily.com>2026-05-22 10:22:40 -0400
committerJames O'Doherty <james@theodohertyfamily.com>2026-05-22 10:22:40 -0400
commit401683a6b11e5a7810c949147a12f2c4bbfba48a (patch)
tree30e411bf7eefcb91e5f17921d42b63ba2f3a3fb5 /README.md
parent5dbc46f3c1c75bf922bcc1c3df342323c23c04ce (diff)
feat: add argument verification diagnostic and secure temp files for launcher
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.