diff --git a/infra/conf/transport_browser_dialer_test.go b/infra/conf/transport_browser_dialer_test.go index aae0b36a..c5e3a383 100644 --- a/infra/conf/transport_browser_dialer_test.go +++ b/infra/conf/transport_browser_dialer_test.go @@ -20,7 +20,7 @@ func TestStreamConfigBuildRejectsBrowserDialerUnsupportedProtocol(t *testing.T) } _, err := config.Build() - if err == nil || !strings.Contains(err.Error(), "sockopt.browserDialer only supports WS or XHTTP") { + if err == nil || !strings.Contains(err.Error(), "sockopt.browserDialer only supports websocket or splithttp") { t.Fatalf("expected unsupported protocol error, got: %v", err) } } diff --git a/infra/conf/transport_internet.go b/infra/conf/transport_internet.go index 78557122..071a9170 100644 --- a/infra/conf/transport_internet.go +++ b/infra/conf/transport_internet.go @@ -1975,7 +1975,7 @@ func (c *StreamConfig) Build() (*internet.StreamConfig, error) { } if c.SocketSettings != nil && c.SocketSettings.BrowserDialer != "" { if config.ProtocolName != "websocket" && config.ProtocolName != "splithttp" { - return nil, errors.New("sockopt.browserDialer only supports WS or XHTTP") + return nil, errors.New("sockopt.browserDialer only supports websocket or splithttp") } if strings.EqualFold(c.Security, "reality") { return nil, errors.New("sockopt.browserDialer does not support REALITY") diff --git a/transport/internet/browser_dialer/dialer.go b/transport/internet/browser_dialer/dialer.go index 627407d0..27ada3f1 100644 --- a/transport/internet/browser_dialer/dialer.go +++ b/transport/internet/browser_dialer/dialer.go @@ -106,9 +106,11 @@ func parseBrowserDialerAddress(addr string) (*browserDialerAddress, bool) { return nil, false } parsedUUID, err := uuid.ParseString(id) - if err != nil || !strings.EqualFold(parsedUUID.String(), id) { + id = strings.ToLower(id) + if err != nil || parsedUUID.String() != id { return nil, false } + cleanPath = "/" + id return &browserDialerAddress{ listenAddr: listenAddr, @@ -256,7 +258,6 @@ func getDialerByAddress(addr string) (*dialerInstance, error) { delete(server.pageRoutes, dialer.pagePath) if len(server.pageRoutes) == 0 { delete(dialerServers, parsed.listenAddr) - server.started = false } mu.Unlock() closeDialerInstance(dialer)