vtun

command module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2022 License: MIT Imports: 5 Imported by: 0

README

vtun

A simple VPN written in golang.

Travis Go Report Card image image

Features

  • VPN over tcp
  • VPN over udp
  • VPN over websocket

Usage

Usage of ./vtun:
  -S    server mode
  -c string
        tun interface cidr (default "172.16.0.10/24")
  -d string
        dns address (default "8.8.8.8:53")
  -g    client global mode
  -k string
        key (default "freedom@2022")
  -l string
        local address (default ":3000")
  -mtu int
        tun mtu (default 1500)
  -obfs
        enable data obfuscation
  -p string
        protocol tcp/udp/ws/wss (default "wss")
  -path string
        websocket path (default "/freedom")
  -s string
        server address (default ":3001")
  -t int
        dial timeout in seconds (default 30)

Build

sh scripts/build.sh

Client

sudo ./vtun-linux-amd64 -l=:3000 -s=server-addr:3001 -c=172.16.0.10/24 -k=123456

Client with global mode(routing all your traffic to server)

sudo ./vtun-linux-amd64 -l=:3000 -s=server-addr:3001 -c=172.16.0.10/24 -k=123456 -g

Server

sudo ./vtun-linux-amd64 -S -l=:3001 -c=172.16.0.1/24 -k=123456

Server setup on Linux

  1. Add TLS for websocket,reverse proxy server(3001) via nginx/caddy(443)

  2. Enable IP forwarding on server

  sudo echo 1 > /proc/sys/net/ipv4/ip_forward
  sudo sysctl -p
  // eth0 is the name of your public network interface
  sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o eth0 -j MASQUERADE

Docker

Run client
docker run  -d --privileged --restart=always --net=host --name vtun-client netbyte/vtun -l :3000 -s server-addr:3001 -c 172.16.0.10/24 -k 123456
Run client with global mode
docker run  -d --privileged --restart=always --net=host --name vtun-client netbyte/vtun -l :3000 -s server-addr:3001 -c 172.16.0.10/24 -k 123456 -g
Run server
docker run  -d --privileged --restart=always --net=host --name vtun-server netbyte/vtun -S -l :3001 -c 172.16.0.1/24 -k 123456

Mobile client

Android

TODO (help wanted)

  1. Support windows
  2. Support IPv6
  3. Develop iOS app

License

The MIT License (MIT)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
common

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL