How to use it? more
# install golang 1.9+, because of sync.Map
go get -u -v github.com/FlowerWrong/tun2socks
cd tun2socks
go get ./...
cp config.example.ini config.ini
# edit it for free
sudo go run cmd/main.go -h
sudo go run cmd/main.go -v
sudo go run cmd/main.go -c=config.ini
- For darwin and linux, you should use netstack smart branch.
- For windows user, you should use netstack master branch.
- macOS
- linux
- Windows Vista and above support with tap-windows6, download link, please use netstack master branch.
- Raspberry Pi support
- android support with root
Support route
, udp.proxy
, proxy
, pattern
and rule
, see config.example.ini.
sudo kill -s USR2 $PID
NOTE: go run
not support kill command signal.
See c api wiki.
Windows build need to install git + tdm-gcc.
- gui
- ipv6 support
- thanks xjdrew/kone for dns fake mode
- thanks yinghuocho/gotun2socks for udp <-> socks5 tunnel
- thanks songgao/water for tun io on many platform
- thanks google/netstack for tcp/ip stack
- thanks google/gopacket for pack/unpack ip package
- thanks miekg/dns for dns parser and server