一款简单易用的VPN,基于Go语言开发。
- 支持udp
- 支持websocket
- 支持tls
- 支持grpc
- 支持quic
- 支持kcp
- 支持utls
- 支持dtls
- 支持h2
- 支持http
- 支持tcp
- 支持https
Usage of vtun:
-S server mode
-c string
tun interface cidr (default "172.16.0.10/24")
-c6 string
tun interface ipv6 cidr (default "fced:9999::9999/64")
-certificate string
tls certificate file path (default "./certs/server.pem")
-compress
enable data compression
-dn string
device name
-g client global mode
-host string
http host
-isv
tls insecure skip verify
-k string
key (default "freedom@2023")
-l string
local address (default ":3000")
-mtu int
tun mtu (default 1500)
-obfs
enable data obfuscation
-p string
protocol udp/tls/grpc/quic/utls/dtls/h2/http/tcp/https/ws/wss (default "udp")
-path string
websocket path (default "/freedom")
-privatekey string
tls certificate key file path (default "./certs/server.key")
-psk
enable psk mode (dtls only)
-s string
server address (default ":3001")
-sip string
server ip (default "172.16.0.1")
-sip6 string
server ipv6 (default "fced:9999::1")
-sni string
tls handshake sni
-t int
dial timeout in seconds (default 30)
-v enable verbose output
scripts/build.sh
sudo ./vtun-linux-amd64 -s server-addr:3001 -c 172.16.0.10/24 -k 123456
sudo ./vtun-linux-amd64 -s server-addr:3001 -c 172.16.0.10/24 -k 123456 -g
sudo ./vtun-darwin-amd64 -s server-addr:3001 -c 172.16.0.10/24 -k 123456 -g -sip 172.16.0.1
在windows上使用,你必须下载wintun.dll文件并且把它放到当前应用目录下。
用管理员权限打开powershell并运行命令:
.\vtun-win-amd64.exe -s server-addr:3001 -c 172.16.0.10/24 -k 123456 -g -sip 172.16.0.1
sudo ./vtun-linux-amd64 -S -l :3001 -c 172.16.0.1/24 -k 123456
# 设置ipv4和ipv6流量转发
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding=1
sysctl -p /etc/sysctl.conf
# 设置NAT转发流量
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -j ACCEPT
docker run -d --privileged --restart=always --net=host --name vtun-client \
netbyte/vtun -s server-addr:3001 -c 172.16.0.10/24 -k 123456
docker run -d --privileged --restart=always --net=host --name vtun-client \
netbyte/vtun -s server-addr:3001 -c 172.16.0.10/24 -k 123456 -g
docker run -d --privileged --restart=always --net=host --name vtun-server \
netbyte/vtun -S -l :3001 -c 172.16.0.1/24 -k 123456
1. vTunnel
感谢 JetBrains 提供免费的License.