diff --git a/adapter/outbound/shadowsocks.go b/adapter/outbound/shadowsocks.go index 6996f3ae..39d649df 100644 --- a/adapter/outbound/shadowsocks.go +++ b/adapter/outbound/shadowsocks.go @@ -97,12 +97,6 @@ func (ss *ShadowSocks) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, e if err != nil { return nil, err } - case restls.Mode: - var err error - c, err = restls.NewRestls(c, ss.restlsConfig) - if err != nil { - return nil, fmt.Errorf("%s (restls) connect error: %w", ss.addr, err) - } } return ss.streamConn(c, metadata) @@ -121,6 +115,12 @@ func (ss *ShadowSocks) streamConn(c net.Conn, metadata *C.Metadata) (net.Conn, e if err != nil { return nil, fmt.Errorf("%s connect error: %w", ss.addr, err) } + case restls.Mode: + var err error + c, err = restls.NewRestls(c, ss.restlsConfig) + if err != nil { + return nil, fmt.Errorf("%s (restls) connect error: %w", ss.addr, err) + } } if metadata.NetWork == C.UDP && ss.option.UDPOverTCP { if N.NeedHandshake(c) { @@ -161,7 +161,7 @@ func (ss *ShadowSocks) DialContextWithDialer(ctx context.Context, dialer C.Diale } } - c, err = ss.StreamConn(c, metadata) + c, err = ss.streamConn(c, metadata) return NewConn(c, ss), err }