From 7f1b7e7521d3cdab5cc971466c36144d1c6e9b4c Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Sun, 23 Apr 2023 21:50:42 +0800 Subject: [PATCH] fix: smux should show its support udp and uot --- adapter/outbound/singmux.go | 14 ++++++++++++++ adapter/outboundgroup/relay.go | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/adapter/outbound/singmux.go b/adapter/outbound/singmux.go index 4f3a531c..b1a64d99 100644 --- a/adapter/outbound/singmux.go +++ b/adapter/outbound/singmux.go @@ -81,6 +81,20 @@ func (s *SingMux) ListenPacketContext(ctx context.Context, metadata *C.Metadata, return newPacketConn(pc, s.ProxyAdapter), nil } +func (s *SingMux) SupportUDP() bool { + if s.onlyTcp { + return s.ProxyAdapter.SupportUOT() + } + return true +} + +func (s *SingMux) SupportUOT() bool { + if s.onlyTcp { + return s.ProxyAdapter.SupportUOT() + } + return true +} + func NewSingMux(option SingMuxOption, proxy C.ProxyAdapter, base ProxyBase) (C.ProxyAdapter, error) { singDialer := &muxSingDialer{dialer: dialer.NewDialer(), proxy: proxy, statistic: option.Statistic} client, err := mux.NewClient(mux.Options{ diff --git a/adapter/outboundgroup/relay.go b/adapter/outboundgroup/relay.go index a596454f..ba733616 100644 --- a/adapter/outboundgroup/relay.go +++ b/adapter/outboundgroup/relay.go @@ -92,7 +92,7 @@ func (r *Relay) SupportUDP() bool { switch proxy.SupportWithDialer() { case C.ALLNet: case C.UDP: - default: // C.TCP and C.NONet + default: // C.TCP and C.InvalidNet return false } }