From 39dfd8b6dd8e51d714f4afc4668cc1f5eaa7ee77 Mon Sep 17 00:00:00 2001 From: wyx2685 Date: Wed, 23 Jul 2025 22:02:48 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20xray=E5=86=85=E6=A0=B8=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E8=87=AA=E6=9C=89=E8=BF=9E=E6=8E=A5=E6=97=B6=E6=8A=A5=E7=A9=BA?= =?UTF-8?q?=E6=8C=87=E9=92=88BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/xray/app/dispatcher/default.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core/xray/app/dispatcher/default.go b/core/xray/app/dispatcher/default.go index dfa17af..d4406ad 100644 --- a/core/xray/app/dispatcher/default.go +++ b/core/xray/app/dispatcher/default.go @@ -151,14 +151,9 @@ func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network) (* uplinkReader, uplinkWriter := pipe.New(opt...) downlinkReader, downlinkWriter := pipe.New(opt...) - managedWriter := &ManagedWriter{ - writer: uplinkWriter, - manager: d.Wm, - } - inboundLink := &transport.Link{ Reader: downlinkReader, - Writer: managedWriter, + Writer: uplinkWriter, } outboundLink := &transport.Link{ @@ -198,6 +193,13 @@ func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network) (* common.Interrupt(inboundLink.Reader) return nil, nil, nil, errors.New("Limited ", user.Email, " by conn or ip") } + managedWriter := &ManagedWriter{ + writer: uplinkWriter, + email: user.Email, + manager: d.Wm, + } + d.Wm.AddWriter(managedWriter) + inboundLink.Writer = managedWriter if w != nil { inboundLink.Writer = rate.NewRateLimitWriter(inboundLink.Writer, w) outboundLink.Writer = rate.NewRateLimitWriter(outboundLink.Writer, w) @@ -222,8 +224,6 @@ func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network) (* } } } - managedWriter.email = user.Email - d.Wm.AddWriter(managedWriter) return inboundLink, outboundLink, limit, nil }