diff --git a/internal/runtime/executor/proxy_helpers.go b/internal/runtime/executor/proxy_helpers.go index 4979e9f5..ab0f626a 100644 --- a/internal/runtime/executor/proxy_helpers.go +++ b/internal/runtime/executor/proxy_helpers.go @@ -87,9 +87,12 @@ func buildProxyTransport(proxyURL string) *http.Transport { // Handle different proxy schemes if parsedURL.Scheme == "socks5" { // Configure SOCKS5 proxy with optional authentication - username := parsedURL.User.Username() - password, _ := parsedURL.User.Password() - proxyAuth := &proxy.Auth{User: username, Password: password} + var proxyAuth *proxy.Auth + if parsedURL.User != nil { + username := parsedURL.User.Username() + password, _ := parsedURL.User.Password() + proxyAuth = &proxy.Auth{User: username, Password: password} + } dialer, errSOCKS5 := proxy.SOCKS5("tcp", parsedURL.Host, proxyAuth, proxy.Direct) if errSOCKS5 != nil { log.Errorf("create SOCKS5 dialer failed: %v", errSOCKS5) diff --git a/internal/util/proxy.go b/internal/util/proxy.go index fa51dd43..aea52ba8 100644 --- a/internal/util/proxy.go +++ b/internal/util/proxy.go @@ -25,9 +25,12 @@ func SetProxy(cfg *config.SDKConfig, httpClient *http.Client) *http.Client { // Handle different proxy schemes. if proxyURL.Scheme == "socks5" { // Configure SOCKS5 proxy with optional authentication. - username := proxyURL.User.Username() - password, _ := proxyURL.User.Password() - proxyAuth := &proxy.Auth{User: username, Password: password} + var proxyAuth *proxy.Auth + if proxyURL.User != nil { + username := proxyURL.User.Username() + password, _ := proxyURL.User.Password() + proxyAuth = &proxy.Auth{User: username, Password: password} + } dialer, errSOCKS5 := proxy.SOCKS5("tcp", proxyURL.Host, proxyAuth, proxy.Direct) if errSOCKS5 != nil { log.Errorf("create SOCKS5 dialer failed: %v", errSOCKS5)