vtun/main.go
2021-04-27 16:41:27 +08:00

37 lines
915 B
Go

package main
import (
"flag"
"github.com/net-byte/vtun/client"
"github.com/net-byte/vtun/common/config"
"github.com/net-byte/vtun/server"
)
func main() {
config := config.Config{}
flag.StringVar(&config.CIDR, "c", "172.16.0.1/24", "tun interface CIDR")
flag.StringVar(&config.LocalAddr, "l", "0.0.0.0:3000", "local address")
flag.StringVar(&config.ServerAddr, "s", "0.0.0.0:3001", "server address")
flag.StringVar(&config.Key, "k", "6w9z$C&F)J@NcRfWjXn3r4u7x!A%D*G-", "encryption key")
flag.StringVar(&config.Protocol, "p", "udp", "protocol udp/ws")
flag.BoolVar(&config.ServerMode, "S", false, "server mode")
flag.Parse()
switch config.Protocol {
case "udp":
if config.ServerMode {
server.StartUDPServer(config)
} else {
client.StartUDPClient(config)
}
case "ws":
if config.ServerMode {
server.StartWSServer(config)
} else {
client.StartWSClient(config)
}
default:
}
}