diff --git a/adapter/outbound/singmux.go b/adapter/outbound/singmux.go index 4f3a531c2..b1a64d997 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 a596454f2..ba733616d 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 } }