From 5d7100f749508e53085e7a4941493268baf4be34 Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Fri, 21 Jun 2024 23:41:27 +0800 Subject: [PATCH 1/6] add linux network namespace support for listener and dialer --- cmd/gost/cmd.go | 26 +++++++++++++++++--------- go.mod | 6 +++--- go.sum | 11 ++++++----- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/cmd/gost/cmd.go b/cmd/gost/cmd.go index 6b64449..5b5c040 100644 --- a/cmd/gost/cmd.go +++ b/cmd/gost/cmd.go @@ -72,10 +72,17 @@ func buildConfigFromCmd(services, nodes stringList) (*config.Config, error) { mc := nodeConfig.Connector.Metadata md := mdx.NewMetadata(mc) + m := map[string]any{} + for k, v := range url.Query() { + if len(v) > 0 { + m[k] = v[0] + } + } hopConfig := &config.HopConfig{ Name: fmt.Sprintf("%shop-%d", namePrefix, i), Selector: parseSelector(mc), Nodes: nodes, + Metadata: m, } if v := mdutil.GetString(md, "bypass"); v != "" { @@ -442,8 +449,17 @@ func buildNodeConfig(url *url.URL) (*config.NodeConfig, error) { dialer = schemes[1] } + m := map[string]any{} + for k, v := range url.Query() { + if len(v) > 0 { + m[k] = v[0] + } + } + md := mdx.NewMetadata(m) + node := &config.NodeConfig{ - Addr: url.Host, + Addr: url.Host, + Metadata: m, } if c := registry.ConnectorRegistry().Get(connector); c == nil { @@ -464,14 +480,6 @@ func buildNodeConfig(url *url.URL) (*config.NodeConfig, error) { auth.Password, _ = url.User.Password() } - m := map[string]any{} - for k, v := range url.Query() { - if len(v) > 0 { - m[k] = v[0] - } - } - md := mdx.NewMetadata(m) - if sauth := mdutil.GetString(md, "auth"); sauth != "" && auth == nil { au, err := parseAuthFromCmd(sauth) if err != nil { diff --git a/go.mod b/go.mod index eb11614..e191f3b 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.22 toolchain go1.22.2 require ( - github.com/go-gost/core v0.0.0-20240508132029-8d554ddcf77c - github.com/go-gost/x v0.0.0-20240613142450-15f28c667a31 + github.com/go-gost/core v0.0.0-20240621153412-5aede9a2b32f + github.com/go-gost/x v0.0.0-20240621153818-2ae04628222a github.com/judwhite/go-svc v1.2.1 ) @@ -94,7 +94,7 @@ require ( github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect github.com/vishvananda/netlink v1.1.0 // indirect - github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df // indirect + github.com/vishvananda/netns v0.0.4 // indirect github.com/xtaci/kcp-go/v5 v5.6.5 // indirect github.com/xtaci/smux v1.5.24 // indirect github.com/xtaci/tcpraw v1.2.25 // indirect diff --git a/go.sum b/go.sum index 2207f77..95db688 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/go-gost/core v0.0.0-20240508132029-8d554ddcf77c h1:1ahtn+3bQB50at5ubWDOrA4yja8vWpWNrGSRaCztNWg= -github.com/go-gost/core v0.0.0-20240508132029-8d554ddcf77c/go.mod h1:j08tDHkFzk7dfOeLhl3RWsASdf9YWWRfWBUQqbQvx3A= +github.com/go-gost/core v0.0.0-20240621153412-5aede9a2b32f h1:deEX5HhpUDB03wAggTWn3/8l20cEGVq25bMsd9wqizo= +github.com/go-gost/core v0.0.0-20240621153412-5aede9a2b32f/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= 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.4.0 h1:EIrOEkpJez4gwHrMa33frA+hHXJyevjp47thpMQsJzI= @@ -65,8 +65,8 @@ github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c= github.com/go-gost/relay v0.5.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-20240613142450-15f28c667a31 h1:ME3v3km1JFzqphFDWKjzL/urZI4b/BbXAv+KT+pS4+I= -github.com/go-gost/x v0.0.0-20240613142450-15f28c667a31/go.mod h1:Jz+SvVsscqvMOfZfiPDyHE1wngeqvJNxU4jZXnamo2c= +github.com/go-gost/x v0.0.0-20240621153818-2ae04628222a h1:vv3XqA3rSaShSSiv8BNB6UMOBL31ni0w6OLkZRUI0Vg= +github.com/go-gost/x v0.0.0-20240621153818-2ae04628222a/go.mod h1:Glu6+AqAYDmAB+U7jkwEctKG4ZWERiT6pzO75kgyTiY= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= @@ -246,8 +246,9 @@ github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4d github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df h1:OviZH7qLw/7ZovXvuNyL3XQl8UFofeikI1NW1Gypu7k= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/xtaci/kcp-go/v5 v5.6.5 h1:oxGZNobj3OddrLzwdJYnR/waNgwrL98u02u0DWNHE3k= github.com/xtaci/kcp-go/v5 v5.6.5/go.mod h1:Qy3Zf2tWTdFdEs0E8JvhrX+39r5UDZoYac8anvud7/Q= github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae h1:J0GxkO96kL4WF+AIT3M4mfUVinOCPgf2uUWYFUzN0sM= From 56a68ae06f47d0e1b21b770bac916dad3d31905e Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Mon, 24 Jun 2024 21:42:37 +0800 Subject: [PATCH 2/6] fix netns for socks5 and relay handler --- cmd/gost/main.go | 4 +++- go.mod | 4 ++-- go.sum | 8 ++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cmd/gost/main.go b/cmd/gost/main.go index d3a5a42..b5dd464 100644 --- a/cmd/gost/main.go +++ b/cmd/gost/main.go @@ -63,7 +63,9 @@ func worker(id int, args []string, ctx *context.Context, ret *int) { cmd.Stderr = os.Stderr cmd.Env = append(os.Environ(), fmt.Sprintf("_GOST_ID=%d", id)) - cmd.Run() + if err := cmd.Run(); err != nil { + log.Fatal(err) + } if cmd.ProcessState.Exited() { *ret = cmd.ProcessState.ExitCode() } diff --git a/go.mod b/go.mod index e191f3b..5b72132 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.22 toolchain go1.22.2 require ( - github.com/go-gost/core v0.0.0-20240621153412-5aede9a2b32f - github.com/go-gost/x v0.0.0-20240621153818-2ae04628222a + github.com/go-gost/core v0.0.0-20240624131323-ca340b1bf1a2 + github.com/go-gost/x v0.0.0-20240624131804-f9bfca76ed1f github.com/judwhite/go-svc v1.2.1 ) diff --git a/go.sum b/go.sum index 95db688..51e41e4 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/go-gost/core v0.0.0-20240621153412-5aede9a2b32f h1:deEX5HhpUDB03wAggTWn3/8l20cEGVq25bMsd9wqizo= -github.com/go-gost/core v0.0.0-20240621153412-5aede9a2b32f/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= +github.com/go-gost/core v0.0.0-20240624131323-ca340b1bf1a2 h1:+VxqwMcnO/Jqpa88n9D2YoApTFrSRbjlFd9Oy/xvE0s= +github.com/go-gost/core v0.0.0-20240624131323-ca340b1bf1a2/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= 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.4.0 h1:EIrOEkpJez4gwHrMa33frA+hHXJyevjp47thpMQsJzI= @@ -65,8 +65,8 @@ github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c= github.com/go-gost/relay v0.5.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-20240621153818-2ae04628222a h1:vv3XqA3rSaShSSiv8BNB6UMOBL31ni0w6OLkZRUI0Vg= -github.com/go-gost/x v0.0.0-20240621153818-2ae04628222a/go.mod h1:Glu6+AqAYDmAB+U7jkwEctKG4ZWERiT6pzO75kgyTiY= +github.com/go-gost/x v0.0.0-20240624131804-f9bfca76ed1f h1:WZmHBag1F1odBYWM4my1qDdaFSU3qJ5dCwnIva/a2aA= +github.com/go-gost/x v0.0.0-20240624131804-f9bfca76ed1f/go.mod h1:XRTGoqkj3BCGyvcFIqDyC6sFP4AEXcVbKM1FVvleTIo= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= From cd4fad8c084bd69ac423d4c1df1b68bf939f490f Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Tue, 25 Jun 2024 21:44:39 +0800 Subject: [PATCH 3/6] add dialTimeout option for service --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 5b72132..ea6888b 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.22 toolchain go1.22.2 require ( - github.com/go-gost/core v0.0.0-20240624131323-ca340b1bf1a2 - github.com/go-gost/x v0.0.0-20240624131804-f9bfca76ed1f + github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc + github.com/go-gost/x v0.0.0-20240625124038-b99292bed854 github.com/judwhite/go-svc v1.2.1 ) diff --git a/go.sum b/go.sum index 51e41e4..54534ea 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/go-gost/core v0.0.0-20240624131323-ca340b1bf1a2 h1:+VxqwMcnO/Jqpa88n9D2YoApTFrSRbjlFd9Oy/xvE0s= -github.com/go-gost/core v0.0.0-20240624131323-ca340b1bf1a2/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= +github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc h1:aj0FZ3RYZPqlDko/pKPPAAve1/73g+uIq/sVEGtarss= +github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= 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.4.0 h1:EIrOEkpJez4gwHrMa33frA+hHXJyevjp47thpMQsJzI= @@ -65,8 +65,8 @@ github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c= github.com/go-gost/relay v0.5.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-20240624131804-f9bfca76ed1f h1:WZmHBag1F1odBYWM4my1qDdaFSU3qJ5dCwnIva/a2aA= -github.com/go-gost/x v0.0.0-20240624131804-f9bfca76ed1f/go.mod h1:XRTGoqkj3BCGyvcFIqDyC6sFP4AEXcVbKM1FVvleTIo= +github.com/go-gost/x v0.0.0-20240625124038-b99292bed854 h1:h0qqdvqMyc3V/zR22rnsjrXjxt4/TzmBfLy48/RxWho= +github.com/go-gost/x v0.0.0-20240625124038-b99292bed854/go.mod h1:HcCaxktAkPxu23Ii0MBYXrfxlsk1kwSZYiF6fMcLKEU= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= From 1400b5ff5d336849fc84d77e7c6aeb5729b37355 Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Tue, 25 Jun 2024 22:26:11 +0800 Subject: [PATCH 4/6] remove content-length header for http proxy response --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ea6888b..d28baf1 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.22.2 require ( github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc - github.com/go-gost/x v0.0.0-20240625124038-b99292bed854 + github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8 github.com/judwhite/go-svc v1.2.1 ) diff --git a/go.sum b/go.sum index 54534ea..0ccf235 100644 --- a/go.sum +++ b/go.sum @@ -65,8 +65,8 @@ github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c= github.com/go-gost/relay v0.5.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-20240625124038-b99292bed854 h1:h0qqdvqMyc3V/zR22rnsjrXjxt4/TzmBfLy48/RxWho= -github.com/go-gost/x v0.0.0-20240625124038-b99292bed854/go.mod h1:HcCaxktAkPxu23Ii0MBYXrfxlsk1kwSZYiF6fMcLKEU= +github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8 h1:1kK+XtTFNo6z2/riWMnPmgNtAWF4UwpTS3AJVYKsDOY= +github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8/go.mod h1:HcCaxktAkPxu23Ii0MBYXrfxlsk1kwSZYiF6fMcLKEU= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= From c71e128fec97a055ef9cc8a192fd48fcc1b6928a Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Thu, 4 Jul 2024 23:09:05 +0800 Subject: [PATCH 5/6] bump deps --- .github/workflows/trigger-nightly.yml | 2 +- cmd/gost/cmd.go | 41 ++++++++++++++++----------- go.mod | 6 ++-- go.sum | 8 ++++++ 4 files changed, 36 insertions(+), 21 deletions(-) diff --git a/.github/workflows/trigger-nightly.yml b/.github/workflows/trigger-nightly.yml index 360b570..0b7a6d3 100644 --- a/.github/workflows/trigger-nightly.yml +++ b/.github/workflows/trigger-nightly.yml @@ -3,7 +3,7 @@ name: Trigger nightly build on: schedule: # * is a special character in YAML, so you have to quote this string - - cron: '00 15 * * *' + - cron: '30 15 * * *' workflow_dispatch: jobs: diff --git a/cmd/gost/cmd.go b/cmd/gost/cmd.go index 5b5c040..73f53d5 100644 --- a/cmd/gost/cmd.go +++ b/cmd/gost/cmd.go @@ -69,18 +69,17 @@ func buildConfigFromCmd(services, nodes stringList) (*config.Config, error) { nodes = append(nodes, nodeCfg) } - mc := nodeConfig.Connector.Metadata - md := mdx.NewMetadata(mc) - m := map[string]any{} for k, v := range url.Query() { if len(v) > 0 { m[k] = v[0] } } + md := mdx.NewMetadata(m) + hopConfig := &config.HopConfig{ Name: fmt.Sprintf("%shop-%d", namePrefix, i), - Selector: parseSelector(mc), + Selector: parseSelector(m), Nodes: nodes, Metadata: m, } @@ -101,7 +100,7 @@ func buildConfigFromCmd(services, nodes stringList) (*config.Config, error) { } hopConfig.Bypass = bypassCfg.Name cfg.Bypasses = append(cfg.Bypasses, bypassCfg) - delete(mc, "bypass") + delete(m, "bypass") } if v := mdutil.GetString(md, "resolver"); v != "" { resolverCfg := &config.ResolverConfig{ @@ -120,7 +119,7 @@ func buildConfigFromCmd(services, nodes stringList) (*config.Config, error) { } hopConfig.Resolver = resolverCfg.Name cfg.Resolvers = append(cfg.Resolvers, resolverCfg) - delete(mc, "resolver") + delete(m, "resolver") } if v := mdutil.GetString(md, "hosts"); v != "" { hostsCfg := &config.HostsConfig{ @@ -141,18 +140,18 @@ func buildConfigFromCmd(services, nodes stringList) (*config.Config, error) { } hopConfig.Hosts = hostsCfg.Name cfg.Hosts = append(cfg.Hosts, hostsCfg) - delete(mc, "hosts") + delete(m, "hosts") } if v := mdutil.GetString(md, "interface"); v != "" { hopConfig.Interface = v - delete(mc, "interface") + delete(m, "interface") } if v := mdutil.GetInt(md, "so_mark"); v > 0 { hopConfig.SockOpts = &config.SockOptsConfig{ Mark: v, } - delete(mc, "so_mark") + delete(m, "so_mark") } chain.Hops = append(chain.Hops, hopConfig) @@ -392,15 +391,18 @@ func buildServiceConfig(url *url.URL) (*config.ServiceConfig, error) { delete(m, "auth") tlsConfig := &config.TLSConfig{ - CertFile: mdutil.GetString(md, "certFile", "cert"), - KeyFile: mdutil.GetString(md, "keyFile", "key"), - CAFile: mdutil.GetString(md, "caFile", "ca"), + CertFile: mdutil.GetString(md, "tls.certFile", "certFile", "cert"), + KeyFile: mdutil.GetString(md, "tls.keyFile", "keyFile", "key"), + CAFile: mdutil.GetString(md, "tls.caFile", "caFile", "ca"), } + delete(m, "tls.certFile") delete(m, "certFile") delete(m, "cert") + delete(m, "tls.keyFile") delete(m, "keyFile") delete(m, "key") + delete(m, "tls.caFile") delete(m, "caFile") delete(m, "ca") @@ -490,23 +492,28 @@ func buildNodeConfig(url *url.URL) (*config.NodeConfig, error) { delete(m, "auth") tlsConfig := &config.TLSConfig{ - CertFile: mdutil.GetString(md, "certFile", "cert"), - KeyFile: mdutil.GetString(md, "keyFile", "key"), - CAFile: mdutil.GetString(md, "caFile", "ca"), - Secure: mdutil.GetBool(md, "secure"), - ServerName: mdutil.GetString(md, "serverName"), + CertFile: mdutil.GetString(md, "tls.certFile", "certFile", "cert"), + KeyFile: mdutil.GetString(md, "tls.keyFile", "keyFile", "key"), + CAFile: mdutil.GetString(md, "tls.caFile", "caFile", "ca"), + Secure: mdutil.GetBool(md, "tls.secure", "secure"), + ServerName: mdutil.GetString(md, "tls.servername", "servername"), } if tlsConfig.ServerName == "" { tlsConfig.ServerName = url.Hostname() } + delete(m, "tls.certFile") delete(m, "certFile") delete(m, "cert") + delete(m, "tls.keyFile") delete(m, "keyFile") delete(m, "key") + delete(m, "tls.caFile") delete(m, "caFile") delete(m, "ca") + delete(m, "tls.secure") delete(m, "secure") + delete(m, "tls.servername") delete(m, "serverName") if !tlsConfig.Secure && tlsConfig.CertFile == "" && tlsConfig.CAFile == "" && tlsConfig.ServerName == "" { diff --git a/go.mod b/go.mod index d28baf1..5d7fc00 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.22 toolchain go1.22.2 require ( - github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc - github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8 + github.com/go-gost/core v0.0.0-20240704150322-30cc92870515 + github.com/go-gost/x v0.0.0-20240704150535-22537ff0d294 github.com/judwhite/go-svc v1.2.1 ) @@ -29,7 +29,7 @@ require ( github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.9.1 // indirect github.com/go-gost/gosocks4 v0.0.1 // indirect - github.com/go-gost/gosocks5 v0.4.0 // indirect + github.com/go-gost/gosocks5 v0.4.2 // indirect github.com/go-gost/plugin v0.0.0-20240103125338-9c84e29cb81a // indirect github.com/go-gost/relay v0.5.0 // indirect github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451 // indirect diff --git a/go.sum b/go.sum index 0ccf235..ac8ebe6 100644 --- a/go.sum +++ b/go.sum @@ -55,10 +55,14 @@ github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc h1:aj0FZ3RYZPqlDko/pKPPAAve1/73g+uIq/sVEGtarss= github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= +github.com/go-gost/core v0.0.0-20240704150322-30cc92870515 h1:i/zcDZtz00hcmRosvJgXmgJsdc4bC32PAvt2+8MUOEg= +github.com/go-gost/core v0.0.0-20240704150322-30cc92870515/go.mod h1:QmVAZIXIYBsX44Vehwug5RFnG2K3/Hz/uu/Y4QVhAY0= 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.4.0 h1:EIrOEkpJez4gwHrMa33frA+hHXJyevjp47thpMQsJzI= github.com/go-gost/gosocks5 v0.4.0/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= +github.com/go-gost/gosocks5 v0.4.1/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= +github.com/go-gost/gosocks5 v0.4.2/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= github.com/go-gost/plugin v0.0.0-20240103125338-9c84e29cb81a h1:ME7P1Brcg4C640DSPqlvQr7JuvvQfJ8QpmS3yCFlK3A= github.com/go-gost/plugin v0.0.0-20240103125338-9c84e29cb81a/go.mod h1:qXr2Zm9Ex2ATqnWuNUzVZqySPMnuIihvblYZt4MlZLw= github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c= @@ -67,6 +71,10 @@ github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451 h1:xj8gUZG github.com/go-gost/tls-dissector v0.0.2-0.20220408131628-aac992c27451/go.mod h1:/9QfdewqmHdaE362Hv5nDaSWLx3pCmtD870d6GaquXs= github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8 h1:1kK+XtTFNo6z2/riWMnPmgNtAWF4UwpTS3AJVYKsDOY= github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8/go.mod h1:HcCaxktAkPxu23Ii0MBYXrfxlsk1kwSZYiF6fMcLKEU= +github.com/go-gost/x v0.0.0-20240704013435-b583e29a5646 h1:C48MGoJ0PLOIT6AqWMFcQKq9YIp3VxgtLPPw1AYIGPQ= +github.com/go-gost/x v0.0.0-20240704013435-b583e29a5646/go.mod h1:mD1F3T0Hv16MfT2crZRo2kFXRv7OhfbvUhxXIVFa4jg= +github.com/go-gost/x v0.0.0-20240704150535-22537ff0d294 h1:sXmgKm9UBPMnAbYcMgvf/NUCEbkkFbdRqlTcRZzXPOc= +github.com/go-gost/x v0.0.0-20240704150535-22537ff0d294/go.mod h1:8+dJVV3BEdCciVvmAoqNBZ9+2asPr7ZIcBJGCc9yTfA= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= From 4a2a2a00de36572eeff7dd47c49ffda1500fb85d Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Thu, 4 Jul 2024 23:12:01 +0800 Subject: [PATCH 6/6] update go.sum --- go.sum | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/go.sum b/go.sum index ac8ebe6..3a32980 100644 --- a/go.sum +++ b/go.sum @@ -53,15 +53,11 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc h1:aj0FZ3RYZPqlDko/pKPPAAve1/73g+uIq/sVEGtarss= -github.com/go-gost/core v0.0.0-20240625123708-4e831b95e8cc/go.mod h1:aTPFucvJyqc/o5h5/ZtyHJ0xgFIq5Ip+cMlhazm+TaI= github.com/go-gost/core v0.0.0-20240704150322-30cc92870515 h1:i/zcDZtz00hcmRosvJgXmgJsdc4bC32PAvt2+8MUOEg= github.com/go-gost/core v0.0.0-20240704150322-30cc92870515/go.mod h1:QmVAZIXIYBsX44Vehwug5RFnG2K3/Hz/uu/Y4QVhAY0= 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.4.0 h1:EIrOEkpJez4gwHrMa33frA+hHXJyevjp47thpMQsJzI= -github.com/go-gost/gosocks5 v0.4.0/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= -github.com/go-gost/gosocks5 v0.4.1/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= +github.com/go-gost/gosocks5 v0.4.2 h1:IianxHTkACPqCwiOAT3MHoMdSUl+SEPSRu1ikawC1Pc= github.com/go-gost/gosocks5 v0.4.2/go.mod h1:1G6I7HP7VFVxveGkoK8mnprnJqSqJjdcASKsdUn4Pp4= github.com/go-gost/plugin v0.0.0-20240103125338-9c84e29cb81a h1:ME7P1Brcg4C640DSPqlvQr7JuvvQfJ8QpmS3yCFlK3A= github.com/go-gost/plugin v0.0.0-20240103125338-9c84e29cb81a/go.mod h1:qXr2Zm9Ex2ATqnWuNUzVZqySPMnuIihvblYZt4MlZLw= @@ -69,10 +65,6 @@ github.com/go-gost/relay v0.5.0 h1:JG1tgy/KWiVXS0ukuVXvbM0kbYuJTWxYpJ5JwzsCf/c= github.com/go-gost/relay v0.5.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-20240625140900-74dc03bd66b8 h1:1kK+XtTFNo6z2/riWMnPmgNtAWF4UwpTS3AJVYKsDOY= -github.com/go-gost/x v0.0.0-20240625140900-74dc03bd66b8/go.mod h1:HcCaxktAkPxu23Ii0MBYXrfxlsk1kwSZYiF6fMcLKEU= -github.com/go-gost/x v0.0.0-20240704013435-b583e29a5646 h1:C48MGoJ0PLOIT6AqWMFcQKq9YIp3VxgtLPPw1AYIGPQ= -github.com/go-gost/x v0.0.0-20240704013435-b583e29a5646/go.mod h1:mD1F3T0Hv16MfT2crZRo2kFXRv7OhfbvUhxXIVFa4jg= github.com/go-gost/x v0.0.0-20240704150535-22537ff0d294 h1:sXmgKm9UBPMnAbYcMgvf/NUCEbkkFbdRqlTcRZzXPOc= github.com/go-gost/x v0.0.0-20240704150535-22537ff0d294/go.mod h1:8+dJVV3BEdCciVvmAoqNBZ9+2asPr7ZIcBJGCc9yTfA= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=