From 22a600dd0a21553d0d8aa01bba1478ebd6f13c85 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 23 Jul 2023 18:49:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DHTTP=E4=BC=A0=E8=BE=93?= =?UTF-8?q?=E6=97=B6=E5=8F=AF=E8=83=BD=E6=97=A0=E6=B3=95=E4=BC=A0=E9=80=92?= =?UTF-8?q?TOA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/http_client_pool.go | 4 +++- internal/nodes/toa_manager.go | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/nodes/http_client_pool.go b/internal/nodes/http_client_pool.go index ae65a22..9338051 100644 --- a/internal/nodes/http_client_pool.go +++ b/internal/nodes/http_client_pool.go @@ -4,9 +4,11 @@ import ( "context" "crypto/tls" "errors" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/TeaOSLab/EdgeNode/internal/goman" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" + "github.com/iwind/TeaGo/types" "github.com/pires/go-proxyproto" "golang.org/x/net/http2" "net" @@ -224,7 +226,7 @@ func (this *HTTPClientPool) handleTOA(req *HTTPRequest, ctx context.Context, net for i := 1; i <= retries; i++ { var port = int(toaConfig.RandLocalPort()) // TODO 思考是否支持X-Real-IP/X-Forwarded-IP - err := sharedTOAManager.SendMsg("add:" + strconv.Itoa(port) + ":" + req.requestRemoteAddr(true)) + err := sharedTOAManager.SendMsg("add:" + strconv.Itoa(port) + ":" + configutils.QuoteIP(req.requestRemoteAddr(true)) + ":" + types.String(req.RemotePort())) if err != nil { remotelogs.Error("TOA", "add failed: "+err.Error()) } else { diff --git a/internal/nodes/toa_manager.go b/internal/nodes/toa_manager.go index 418fc81..930ddec 100644 --- a/internal/nodes/toa_manager.go +++ b/internal/nodes/toa_manager.go @@ -60,14 +60,14 @@ func (this *TOAManager) Run(config *nodeconfigs.TOAConfig) error { return nil } - binPath := Tea.Root + "/edge-toa/edge-toa" // TODO 可以做成配置 + var binPath = Tea.Root + "/edge-toa/edge-toa" // TODO 可以做成配置 _, err := os.Stat(binPath) if err != nil { return err } remotelogs.Println("TOA", "starting ...") remotelogs.Println("TOA", "args: "+strings.Join(config.AsArgs(), " ")) - cmd := executils.NewCmd(binPath, config.AsArgs()...) + var cmd = executils.NewCmd(binPath, config.AsArgs()...) err = cmd.Start() if err != nil { return err