https://github.com/pchchv/govpn
A simple VPN client built in Go
https://github.com/pchchv/govpn
go go-lib go-library go-package golang golang-library golang-package security vpn vpn-client vpn-manager vpn-protocols vpn-server vpn-service
Last synced: 28 days ago
JSON representation
A simple VPN client built in Go
- Host: GitHub
- URL: https://github.com/pchchv/govpn
- Owner: pchchv
- License: apache-2.0
- Created: 2023-05-31T07:24:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-15T14:37:09.000Z (10 months ago)
- Last Synced: 2024-12-15T15:32:15.231Z (10 months ago)
- Topics: go, go-lib, go-library, go-package, golang, golang-library, golang-package, security, vpn, vpn-client, vpn-manager, vpn-protocols, vpn-server, vpn-service
- Language: Go
- Homepage:
- Size: 30.3 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# govpn [](https://godoc.org/github.com/pchchv/govpn) [](https://goreportcard.com/report/github.com/pchchv/govpn)
A simple VPN client built in Go
# Installation
```console
$ git clone https://github.com/pchchv/govpn
```# Build:
```console
$ bash scripts/build.sh
```# Server:
```console
sudo ./main -S -l=:3001 -c=172.16.0.1/24 -k=123456
```# Client:
```console
sudo ./main -l=:3000 -s=server-addr:3001 -c=172.16.0.10/24 -k=123456
```# Server Setup:
* Add TLS for websocket, reverse proxy server (3001) via nginx/caddy(443)
* Enable IP forwarding on the server
```console
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o ens3 -j MASQUERADE
sudo apt-get install iptables-persistent
sudo iptables-save > /etc/iptables/rules.v4
```# Usage of ./main:
```
-S server mode
-c string
vpn interface CIDR (default "172.16.0.1/24")
-k string
encryption key (default "S#Q#FBSDAE#%!@#!@#%!NDADSA")
-p string
protocol ws/wss/udp (default "wss")
-l string
local address (default "0.0.0.0:3000")
-s string
server address (default "0.0.0.0:3001")
```