From fa47726c3d9c0b3f9e5bf807fd54daed8662223e Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Sat, 14 Jan 2023 13:18:45 +0800 Subject: [PATCH] add tunnel feature for relay --- cmd/gost/config.go | 8 ++++++++ cmd/gost/main.go | 1 + go.mod | 7 ++++--- go.sum | 14 ++++++++------ 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/cmd/gost/config.go b/cmd/gost/config.go index 22d5ae4..75e684d 100644 --- a/cmd/gost/config.go +++ b/cmd/gost/config.go @@ -65,6 +65,14 @@ func buildService(cfg *config.Config) (services []service.Service) { } } + for _, ingressCfg := range cfg.Ingresses { + if h := parsing.ParseIngress(ingressCfg); h != nil { + if err := registry.IngressRegistry().Register(ingressCfg.Name, h); err != nil { + log.Fatal(err) + } + } + } + for _, recorderCfg := range cfg.Recorders { if h := parsing.ParseRecorder(recorderCfg); h != nil { if err := registry.RecorderRegistry().Register(recorderCfg.Name, h); err != nil { diff --git a/cmd/gost/main.go b/cmd/gost/main.go index a3d40c1..efa8198 100644 --- a/cmd/gost/main.go +++ b/cmd/gost/main.go @@ -254,6 +254,7 @@ func mergeConfig(cfg1, cfg2 *config.Config) *config.Config { Bypasses: append(cfg1.Bypasses, cfg2.Bypasses...), Resolvers: append(cfg1.Resolvers, cfg2.Resolvers...), Hosts: append(cfg1.Hosts, cfg2.Hosts...), + Ingresses: append(cfg1.Ingresses, cfg2.Ingresses...), Recorders: append(cfg1.Recorders, cfg2.Recorders...), Limiters: append(cfg1.Limiters, cfg2.Limiters...), CLimiters: append(cfg1.CLimiters, cfg2.CLimiters...), diff --git a/go.mod b/go.mod index 062d6dd..2884b66 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.18 replace github.com/templexxx/cpu v0.0.7 => github.com/templexxx/cpu v0.0.10-0.20211111114238-98168dcec14a require ( - github.com/go-gost/core v0.0.0-20221221101823-36ed0eae2dec - github.com/go-gost/x v0.0.0-20230111142558-9b128534a080 + github.com/go-gost/core v0.0.0-20230114050924-1a8c1ccb1dc5 + github.com/go-gost/x v0.0.0-20230114051515-82cd924c867f gopkg.in/natefinch/lumberjack.v2 v2.0.0 ) @@ -24,7 +24,7 @@ require ( github.com/gin-gonic/gin v1.8.2 // indirect github.com/go-gost/gosocks4 v0.0.1 // indirect github.com/go-gost/gosocks5 v0.3.1-0.20211109033403-d894d75b7f09 // indirect - github.com/go-gost/relay v0.1.1-0.20211123134818-8ef7fd81ffd7 // indirect + github.com/go-gost/relay v0.2.0 // indirect github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451 // indirect github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect @@ -38,6 +38,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/google/gopacket v1.1.19 // indirect github.com/google/pprof v0.0.0-20221219190121-3cb0bae90811 // indirect + github.com/google/uuid v1.3.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect diff --git a/go.sum b/go.sum index d4dffc8..057bee6 100644 --- a/go.sum +++ b/go.sum @@ -92,18 +92,18 @@ github.com/gin-gonic/gin v1.8.2/go.mod h1:qw5AYuDrzRTnhvusDsrov+fDIxp9Dleuu12h8n github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gost/core v0.0.0-20221221101823-36ed0eae2dec h1:QxAIPNaXlWpqCVYFjkRjw9EIJte3qI+J94Kh213TdaI= -github.com/go-gost/core v0.0.0-20221221101823-36ed0eae2dec/go.mod h1:R08B7BVdhWsYHX8s7wkEBpeKqc4+YFP6bLLFoao0J/A= +github.com/go-gost/core v0.0.0-20230114050924-1a8c1ccb1dc5 h1:X33/ce0ShlkTL28XxpLtirAvOJk99bWduSn7yuSAEU8= +github.com/go-gost/core v0.0.0-20230114050924-1a8c1ccb1dc5/go.mod h1:R08B7BVdhWsYHX8s7wkEBpeKqc4+YFP6bLLFoao0J/A= github.com/go-gost/gosocks4 v0.0.1 h1:+k1sec8HlELuQV7rWftIkmy8UijzUt2I6t+iMPlGB2s= github.com/go-gost/gosocks4 v0.0.1/go.mod h1:3B6L47HbU/qugDg4JnoFPHgJXE43Inz8Bah1QaN9qCc= github.com/go-gost/gosocks5 v0.3.1-0.20211109033403-d894d75b7f09 h1:A95M6UWcfZgOuJkQ7QLfG0Hs5peWIUSysCDNz4pfe04= github.com/go-gost/gosocks5 v0.3.1-0.20211109033403-d894d75b7f09/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= -github.com/go-gost/relay v0.1.1-0.20211123134818-8ef7fd81ffd7 h1:itaaJhQJ19kUXEB4Igb0EbY8m+1Py2AaNNSBds/9gk4= -github.com/go-gost/relay v0.1.1-0.20211123134818-8ef7fd81ffd7/go.mod h1:lcX+23LCQ3khIeASBo+tJ/WbwXFO32/N5YN6ucuYTG8= +github.com/go-gost/relay v0.2.0 h1:8udTweykgDUdOY1j1U90fApNuG7Sp7pvKoiIp3eV6ME= +github.com/go-gost/relay v0.2.0/go.mod h1:lcX+23LCQ3khIeASBo+tJ/WbwXFO32/N5YN6ucuYTG8= github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451 h1:xj8gUZGYO3nb5+6Bjw9+tsFkA9sYynrOvDvvC4uDV2I= github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451/go.mod h1:/9QfdewqmHdaE362Hv5nDaSWLx3pCmtD870d6GaquXs= -github.com/go-gost/x v0.0.0-20230111142558-9b128534a080 h1:rLhZOdPmNJ6kBPoC+gJnQSITn4LfzRN4pgp92opLRHU= -github.com/go-gost/x v0.0.0-20230111142558-9b128534a080/go.mod h1:yXOgzKYFQK/nlc0Ngd3GZHjNA3x3BncyVaagr6W5WvA= +github.com/go-gost/x v0.0.0-20230114051515-82cd924c867f h1:lGRw7N4ymTJoLsgH10CQ48Olp4z3KHKmGrNJ5i1NPcY= +github.com/go-gost/x v0.0.0-20230114051515-82cd924c867f/go.mod h1:mtoc1CuRfHziBkgfvdUWZ0S4bFsuYccVCqPxwXZQQhU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= @@ -198,6 +198,8 @@ github.com/google/pprof v0.0.0-20221219190121-3cb0bae90811 h1:wORs2YN3R3ona/CXYu github.com/google/pprof v0.0.0-20221219190121-3cb0bae90811/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=