diff --git a/cmd/tun2socks/main.go b/cmd/tun2socks/main.go index de99b90..6b2d59e 100644 --- a/cmd/tun2socks/main.go +++ b/cmd/tun2socks/main.go @@ -26,15 +26,6 @@ const MTU = 1500 var ( version = "unknown version" description = "A tun2socks implementation written in Go." - - args = new(CmdArgs) - - handlerCreator func() - postFlagsInitFn []func() - - lwipWriter io.Writer - fakeDns dns.FakeDns - sessionStater stats.SessionStater ) type CmdArgs struct { @@ -64,6 +55,17 @@ type CmdArgs struct { StatsAddr *string } +var ( + args = new(CmdArgs) + + handlerCreator func() + postFlagsInitFn []func() + + lwipWriter io.Writer + fakeDns dns.FakeDns + sessionStater stats.SessionStater +) + func addPostFlagsInitFn(fn func()) { postFlagsInitFn = append(postFlagsInitFn, fn) } @@ -75,25 +77,24 @@ func registerHandlerCreator(creator func()) { handlerCreator = creator } -func showVersion() { - fmt.Println("Go-tun2socks", version) - fmt.Println(description) -} - -func main() { +func init() { args.Version = flag.Bool("version", false, "Print version") - args.DelayICMP = flag.Int("delayICMP", 1, "Delay ICMP packets for a short period of time, in milliseconds") + args.LogLevel = flag.String("loglevel", "info", "Logging level. (info, warning, error, debug, silent)") args.TunName = flag.String("tunName", "tun0", "TUN interface name") args.TunAddr = flag.String("tunAddr", "240.0.0.2", "TUN interface address") args.TunGw = flag.String("tunGw", "240.0.0.1", "TUN interface gateway") args.TunMask = flag.String("tunMask", "255.255.255.0", "TUN interface netmask, it should be a prefix length (a number) for IPv6 address") args.TunDns = flag.String("tunDns", "1.1.1.1", "DNS resolvers for TUN interface (Windows Only)") - args.LogLevel = flag.String("loglevel", "info", "Logging level. (info, warning, error, debug, silent)") + args.DelayICMP = flag.Int("delayICMP", 1, "Delay ICMP packets for a short period of time, in milliseconds") +} +func main() { + // Parse args flag.Parse() if *args.Version { - showVersion() + fmt.Println("Go-tun2socks", version) + fmt.Println(description) os.Exit(0) } diff --git a/cmd/tun2socks/main_socks.go b/cmd/tun2socks/main_socks.go index 17cba6f..85f1cd1 100644 --- a/cmd/tun2socks/main_socks.go +++ b/cmd/tun2socks/main_socks.go @@ -4,15 +4,16 @@ package main import ( "flag" + "net" + "time" + "github.com/xjasonlyu/tun2socks/common/log" "github.com/xjasonlyu/tun2socks/core" "github.com/xjasonlyu/tun2socks/proxy/socks" - "net" - "time" ) func init() { - args.ProxyServer = flag.String("proxyServer", "1.2.3.4:1087", "Proxy server address") + args.ProxyServer = flag.String("proxyServer", "", "Proxy server address") args.UdpTimeout = flag.Duration("udpTimeout", 60*time.Second, "UDP session timeout") registerHandlerCreator(func() {