From 03721e8c7eeee000d7d22c6d7dc8297c92f1b2d2 Mon Sep 17 00:00:00 2001 From: Charles Xu <6831013+char8x@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:01:14 +0000 Subject: [PATCH 1/2] update deps --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 639c397..2ce57b7 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/golang/snappy v0.0.4 github.com/google/uuid v1.3.0 github.com/gorilla/websocket v1.5.0 - github.com/miekg/dns v1.1.55 + github.com/miekg/dns v1.1.56 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pion/dtls/v2 v2.2.6 github.com/pires/go-proxyproto v0.6.2 @@ -33,7 +33,7 @@ require ( github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07 github.com/vishvananda/netlink v1.1.0 github.com/xtaci/kcp-go/v5 v5.6.1 - github.com/xtaci/smux v1.5.16 + github.com/xtaci/smux v1.5.24 github.com/xtaci/tcpraw v1.2.25 github.com/yl2chen/cidranger v1.0.2 golang.org/x/crypto v0.13.0 @@ -41,8 +41,8 @@ require ( golang.org/x/sys v0.12.0 golang.org/x/time v0.3.0 golang.zx2c4.com/wireguard v0.0.0-20220703234212-c31a7b1ab478 - google.golang.org/grpc v1.54.0 - google.golang.org/protobuf v1.30.0 + google.golang.org/grpc v1.58.1 + google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -109,7 +109,7 @@ require ( golang.org/x/text v0.13.0 // indirect golang.org/x/tools v0.13.0 // indirect golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 // indirect - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 07d1c7c..8b3f373 100644 --- a/go.sum +++ b/go.sum @@ -257,8 +257,8 @@ github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APP github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= -github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= +github.com/miekg/dns v1.1.56 h1:5imZaSeoRNvpM9SzWNhEcP9QliKiz20/dA2QabIGVnE= +github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mmcloughlin/avo v0.0.0-20200803215136-443f81d77104 h1:ULR/QWMgcgRiZLUjSSJMU+fW+RDMstRdmnDWj9Q+AsA= @@ -400,8 +400,8 @@ github.com/xtaci/kcp-go/v5 v5.6.1 h1:Pwn0aoeNSPF9dTS7IgiPXn0HEtaIlVb6y5UKWPsx8bI github.com/xtaci/kcp-go/v5 v5.6.1/go.mod h1:W3kVPyNYwZ06p79dNwFWQOVFrdcBpDBsdyvK8moQrYo= github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae h1:J0GxkO96kL4WF+AIT3M4mfUVinOCPgf2uUWYFUzN0sM= github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae/go.mod h1:gXtu8J62kEgmN++bm9BVICuT/e8yiLI2KFobd/TRFsE= -github.com/xtaci/smux v1.5.16 h1:FBPYOkW8ZTjLKUM4LI4xnnuuDC8CQ/dB04HD519WoEk= -github.com/xtaci/smux v1.5.16/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= +github.com/xtaci/smux v1.5.24 h1:77emW9dtnOxxOQ5ltR+8BbsX1kzcOxQ5gB+aaV9hXOY= +github.com/xtaci/smux v1.5.24/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= github.com/xtaci/tcpraw v1.2.25 h1:VDlqo0op17JeXBM6e2G9ocCNLOJcw9mZbobMbJjo0vk= github.com/xtaci/tcpraw v1.2.25/go.mod h1:dKyZ2V75s0cZ7cbgJYdxPvms7af0joIeOyx1GgJQbLk= github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU= @@ -748,8 +748,8 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -766,8 +766,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.58.1 h1:OL+Vz23DTtrrldqHK49FUOPHyY75rvFqJfXC84NYW58= +google.golang.org/grpc v1.58.1/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -780,8 +780,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 7833ca8bc6f2135cdfc0560b5ac5c029a2a5ef73 Mon Sep 17 00:00:00 2001 From: Charles Xu <6831013+char8x@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:16:48 +0000 Subject: [PATCH 2/2] replace deprecated method --- dialer/ssh/metadata.go | 4 ++-- dialer/sshd/metadata.go | 4 ++-- handler/http2/handler.go | 3 +-- handler/socks/v5/udp.go | 3 +-- handler/ss/handler.go | 3 +-- internal/util/ssh/ssh.go | 4 ++-- internal/util/tls/tls.go | 4 ++-- listener/dns/listener.go | 4 ++-- listener/ssh/metadata.go | 4 ++-- listener/sshd/metadata.go | 4 ++-- resolver/exchanger/exchanger.go | 4 ++-- 11 files changed, 19 insertions(+), 22 deletions(-) diff --git a/dialer/ssh/metadata.go b/dialer/ssh/metadata.go index 3ed5fca..2fa8315 100644 --- a/dialer/ssh/metadata.go +++ b/dialer/ssh/metadata.go @@ -1,7 +1,7 @@ package ssh import ( - "io/ioutil" + "os" "time" mdata "github.com/go-gost/core/metadata" @@ -26,7 +26,7 @@ func (d *sshDialer) parseMetadata(md mdata.Metadata) (err error) { ) if key := mdutil.GetString(md, privateKeyFile); key != "" { - data, err := ioutil.ReadFile(key) + data, err := os.ReadFile(key) if err != nil { return err } diff --git a/dialer/sshd/metadata.go b/dialer/sshd/metadata.go index 62fef81..4a9b484 100644 --- a/dialer/sshd/metadata.go +++ b/dialer/sshd/metadata.go @@ -1,7 +1,7 @@ package sshd import ( - "io/ioutil" + "os" "time" mdata "github.com/go-gost/core/metadata" @@ -26,7 +26,7 @@ func (d *sshdDialer) parseMetadata(md mdata.Metadata) (err error) { ) if key := mdutil.GetString(md, privateKeyFile); key != "" { - data, err := ioutil.ReadFile(key) + data, err := os.ReadFile(key) if err != nil { return err } diff --git a/handler/http2/handler.go b/handler/http2/handler.go index 6b1bc19..960067c 100644 --- a/handler/http2/handler.go +++ b/handler/http2/handler.go @@ -10,7 +10,6 @@ import ( "fmt" "hash/crc32" "io" - "io/ioutil" "net" "net/http" "net/http/httputil" @@ -149,7 +148,7 @@ func (h *http2Handler) roundTrip(ctx context.Context, w http.ResponseWriter, req ProtoMajor: 2, ProtoMinor: 0, Header: http.Header{}, - Body: ioutil.NopCloser(bytes.NewReader([]byte{})), + Body: io.NopCloser(bytes.NewReader([]byte{})), } if !h.authenticate(ctx, w, req, resp, log) { diff --git a/handler/socks/v5/udp.go b/handler/socks/v5/udp.go index 5a6cfa1..1a4506c 100644 --- a/handler/socks/v5/udp.go +++ b/handler/socks/v5/udp.go @@ -5,7 +5,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "net" "time" @@ -77,7 +76,7 @@ func (h *socks5Handler) handleUDP(ctx context.Context, conn net.Conn, log logger t := time.Now() log.Debugf("%s <-> %s", conn.RemoteAddr(), cc.LocalAddr()) - io.Copy(ioutil.Discard, conn) + io.Copy(io.Discard, conn) log.WithFields(map[string]any{"duration": time.Since(t)}). Debugf("%s >-< %s", conn.RemoteAddr(), cc.LocalAddr()) diff --git a/handler/ss/handler.go b/handler/ss/handler.go index 4ee10c7..2f219cc 100644 --- a/handler/ss/handler.go +++ b/handler/ss/handler.go @@ -3,7 +3,6 @@ package ss import ( "context" "io" - "io/ioutil" "net" "time" @@ -92,7 +91,7 @@ func (h *ssHandler) Handle(ctx context.Context, conn net.Conn, opts ...handler.H addr := &gosocks5.Addr{} if _, err := addr.ReadFrom(conn); err != nil { log.Error(err) - io.Copy(ioutil.Discard, conn) + io.Copy(io.Discard, conn) return err } diff --git a/internal/util/ssh/ssh.go b/internal/util/ssh/ssh.go index 8671372..a52b235 100644 --- a/internal/util/ssh/ssh.go +++ b/internal/util/ssh/ssh.go @@ -4,7 +4,7 @@ import ( "context" "errors" "fmt" - "io/ioutil" + "os" "github.com/go-gost/core/auth" "golang.org/x/crypto/ssh" @@ -58,7 +58,7 @@ func PublicKeyCallback(keys map[string]bool) PublicKeyCallbackFunc { // ParseSSHAuthorizedKeysFile parses ssh authorized keys file. func ParseAuthorizedKeysFile(name string) (map[string]bool, error) { - authorizedKeysBytes, err := ioutil.ReadFile(name) + authorizedKeysBytes, err := os.ReadFile(name) if err != nil { return nil, err } diff --git a/internal/util/tls/tls.go b/internal/util/tls/tls.go index 9ae4de2..131f94f 100644 --- a/internal/util/tls/tls.go +++ b/internal/util/tls/tls.go @@ -4,8 +4,8 @@ import ( "crypto/tls" "crypto/x509" "errors" - "io/ioutil" "net" + "os" "time" "github.com/go-gost/core/logger" @@ -114,7 +114,7 @@ func loadCA(caFile string) (cp *x509.CertPool, err error) { return } cp = x509.NewCertPool() - data, err := ioutil.ReadFile(caFile) + data, err := os.ReadFile(caFile) if err != nil { return nil, err } diff --git a/listener/dns/listener.go b/listener/dns/listener.go index 53d8d3e..e5048e9 100644 --- a/listener/dns/listener.go +++ b/listener/dns/listener.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/base64" "errors" - "io/ioutil" + "io" "net" "net/http" "strings" @@ -164,7 +164,7 @@ func (l *dnsListener) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } - buf, err = ioutil.ReadAll(r.Body) + buf, err = io.ReadAll(r.Body) if err != nil { l.logger.Error(err) http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) diff --git a/listener/ssh/metadata.go b/listener/ssh/metadata.go index 6c4ac19..61044f9 100644 --- a/listener/ssh/metadata.go +++ b/listener/ssh/metadata.go @@ -1,7 +1,7 @@ package ssh import ( - "io/ioutil" + "os" mdata "github.com/go-gost/core/metadata" mdutil "github.com/go-gost/core/metadata/util" @@ -28,7 +28,7 @@ func (l *sshListener) parseMetadata(md mdata.Metadata) (err error) { ) if key := mdutil.GetString(md, privateKeyFile); key != "" { - data, err := ioutil.ReadFile(key) + data, err := os.ReadFile(key) if err != nil { return err } diff --git a/listener/sshd/metadata.go b/listener/sshd/metadata.go index 154073b..d9644e2 100644 --- a/listener/sshd/metadata.go +++ b/listener/sshd/metadata.go @@ -1,7 +1,7 @@ package ssh import ( - "io/ioutil" + "os" mdata "github.com/go-gost/core/metadata" mdutil "github.com/go-gost/core/metadata/util" @@ -28,7 +28,7 @@ func (l *sshdListener) parseMetadata(md mdata.Metadata) (err error) { ) if key := mdutil.GetString(md, privateKeyFile); key != "" { - data, err := ioutil.ReadFile(key) + data, err := os.ReadFile(key) if err != nil { return err } diff --git a/resolver/exchanger/exchanger.go b/resolver/exchanger/exchanger.go index 89ad775..105fc7c 100644 --- a/resolver/exchanger/exchanger.go +++ b/resolver/exchanger/exchanger.go @@ -5,7 +5,7 @@ import ( "context" "crypto/tls" "fmt" - "io/ioutil" + "io" "net" "net/http" "net/url" @@ -172,7 +172,7 @@ func (ex *exchanger) dohExchange(ctx context.Context, msg []byte) ([]byte, error } // Read wireformat response from the body - buf, err := ioutil.ReadAll(resp.Body) + buf, err := io.ReadAll(resp.Body) if err != nil { return nil, fmt.Errorf("failed to read the response body: %w", err) }