From 0834a62f62d04b01143aac672f354cd407f55d1f Mon Sep 17 00:00:00 2001 From: "rui.zheng" Date: Sun, 6 Aug 2017 22:42:20 +0800 Subject: [PATCH] fix bugs --- cmd/gost/main.go | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/cmd/gost/main.go b/cmd/gost/main.go index 7169efa..5f9476a 100644 --- a/cmd/gost/main.go +++ b/cmd/gost/main.go @@ -97,7 +97,7 @@ func initChain() (*gost.Chain, error) { } tlsCfg := &tls.Config{ ServerName: serverName, - InsecureSkipVerify: !toBool(node.Values.Get("scure")), + InsecureSkipVerify: !toBool(node.Values.Get("secure")), RootCAs: rootCAs, } var tr gost.Transporter @@ -109,24 +109,22 @@ func initChain() (*gost.Chain, error) { wsOpts.EnableCompression = toBool(node.Values.Get("compression")) wsOpts.ReadBufferSize, _ = strconv.Atoi(node.Values.Get("rbuf")) wsOpts.WriteBufferSize, _ = strconv.Atoi(node.Values.Get("wbuf")) - node.HandshakeOptions = append(node.HandshakeOptions, - gost.WSOptionsHandshakeOption(wsOpts), - ) - tr = gost.WSTransporter(nil) + tr = gost.WSTransporter(wsOpts) case "wss": - tr = gost.WSSTransporter(nil) + wsOpts := &gost.WSOptions{} + wsOpts.EnableCompression = toBool(node.Values.Get("compression")) + wsOpts.ReadBufferSize, _ = strconv.Atoi(node.Values.Get("rbuf")) + wsOpts.WriteBufferSize, _ = strconv.Atoi(node.Values.Get("wbuf")) + tr = gost.WSSTransporter(wsOpts) case "kcp": if !chain.IsEmpty() { return nil, errors.New("KCP must be the first node in the proxy chain") } config, err := parseKCPConfig(node.Values.Get("c")) if err != nil { - log.Log("[kcp]", err) + return nil, err } - node.HandshakeOptions = append(node.HandshakeOptions, - gost.KCPConfigHandshakeOption(config), - ) - tr = gost.KCPTransporter(nil) + tr = gost.KCPTransporter(config) case "ssh": if node.Protocol == "direct" || node.Protocol == "remote" || node.Protocol == "forward" { tr = gost.SSHForwardTransporter() @@ -146,18 +144,15 @@ func initChain() (*gost.Chain, error) { TLSConfig: tlsCfg, KeepAlive: toBool(node.Values.Get("keepalive")), } - node.HandshakeOptions = append(node.HandshakeOptions, - gost.QUICConfigHandshakeOption(config), - ) - tr = gost.QUICTransporter(nil) + tr = gost.QUICTransporter(config) case "http2": - tr = gost.HTTP2Transporter(nil) + tr = gost.HTTP2Transporter(tlsCfg) node.DialOptions = append(node.DialOptions, gost.ChainDialOption(chain), ) chain = gost.NewChain() // cutoff the chain for multiplex case "h2": - tr = gost.H2Transporter(nil) + tr = gost.H2Transporter(tlsCfg) node.DialOptions = append(node.DialOptions, gost.ChainDialOption(chain), ) @@ -256,7 +251,7 @@ func serve(chain *gost.Chain) error { case "kcp": config, err := parseKCPConfig(node.Values.Get("c")) if err != nil { - log.Log("[kcp]", err) + return err } ln, err = gost.KCPListener(node.Addr, config) case "ssh":