mirror of
https://github.com/liloew/gvn.git
synced 2024-05-03 15:54:50 +08:00
gvn - a distrabuted VPN implementation by Go aimed distributed work environment
.vscode | ||
cmd | ||
conf | ||
dhcp | ||
eventbus | ||
p2p | ||
route | ||
tun | ||
.gitignore | ||
cobra.yaml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md |
GVN: Golang implementation VPN, aimed at distributed work environments.
Build
# for cross-compile, you may need to install aarch64 compile tools:
# dnf install gcc-aarch64-linux-gnu gcc-c++-aarch64-linux-gnu # Fedora and others using RPM etc
# apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu # Ubuntu and others using DEB etc
make clean && make all
Generate config file
export PATH_TO_GVN="..."
# server
"${PATH_TO_TO_GVN}"/gvn-`uname`-`uname -m` init -c server.yaml -s
# client
"${PATH_TO_TO_GVN}"/gvn-`uname`-`uname -m` init -c client.yaml
Run
export PATH_TO_GVN="..."
# server
"${PATH_TO_TO_GVN}"/gvn-`uname`-`uname -m` up -c server.yaml
# client
"${PATH_TO_TO_GVN}"/gvn-`uname`-`uname -m` up -c client.yaml
Windows
Download the wintun.dll from the website and place it under %SYSTEM32% dir.
Test
Has been tested on Linux
, macOS
and Windows
.