shadow1ng/fscan · error

webscan_socks5_proxy_config_failed

webscan_socks5_proxy_config_failed

Error message

webscan_socks5_proxy_config_failed: %w

What it means

Guard in configureHTTPProxy: the SOCKS5 proxy settings were parsed but proxy.NewProxyManager(...).GetDialer() failed, so no dialer could be constructed for the configured SOCKS5 proxy and the HTTP transport cannot be built with SOCKS5 support.

Source

Thrown at webscan/lib/Client.go:93

			socks5URL = "socks5://" + socks5URL
		}

		if parsedURL, err := url.Parse(socks5URL); err == nil {
			proxyConfig.Address = parsedURL.Host
			if parsedURL.User != nil {
				proxyConfig.Username = parsedURL.User.Username()
				if password, hasPassword := parsedURL.User.Password(); hasPassword {
					proxyConfig.Password = password
				}
			}
		} else {
			proxyConfig.Address = networkConfig.Socks5Proxy
		}

		proxyManager := proxy.NewProxyManager(proxyConfig)
		proxyDialer, err := proxyManager.GetDialer()
		if err != nil {
			return fmt.Errorf("%s: %w", i18n.GetText("webscan_socks5_proxy_config_failed"), err)
		}
		tr.DialContext = proxyDialer.DialContext
		return nil
	}

	// 其次使用HTTP代理(优先级低于SOCKS5)
	httpProxyURL := networkConfig.HTTPProxy
	if httpProxyURL == "" && legacyProxy != "" {
		// 兼容旧参数DownProxy
		httpProxyURL = legacyProxy
	}

	if httpProxyURL != "" {
		// 处理快捷代理配置
		if httpProxyURL == ProxyShortcutBurp {
			httpProxyURL = ProxyBurpURL
		} else if httpProxyURL == ProxyShortcutSocks5 {
			httpProxyURL = ProxySocks5URL

View on GitHub (pinned to 95cc12e753)

Solutions

  1. Verify the SOCKS5 proxy address, username, and password
  2. Test the proxy with an external client to confirm it is reachable
  3. Fall back to direct connection if the proxy is optional
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at webscan/lib/Client.go:93 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of shadow1ng/fscan@95cc12e753 (2026-09-06). Data as JSON: /api/errors/cf56d5b9254fa748. Report an issue: GitHub.