shadow1ng/fscan · error
webscan_unsupported_proxy_type
webscan_unsupported_proxy_type
Error message
webscan_unsupported_proxy_type: %s
What it means
Guard in configureHTTPProxy: after shortcut expansion and normalization the proxy URL uses neither the socks5://, http://, nor https:// scheme. The configured proxy type is unsupported, so web-scan proxying cannot be set up and the offending URL is echoed in the error.
Source
Thrown at webscan/lib/Client.go:118
httpProxyURL := networkConfig.HTTPProxy
if httpProxyURL == "" && legacyProxy != "" {
// 兼容旧参数DownProxy
httpProxyURL = legacyProxy
}
if httpProxyURL != "" {
// 处理快捷代理配置
if httpProxyURL == ProxyShortcutBurp {
httpProxyURL = ProxyBurpURL
} else if httpProxyURL == ProxyShortcutSocks5 {
httpProxyURL = ProxySocks5URL
} else if !strings.Contains(httpProxyURL, "://") {
httpProxyURL = normalizeHTTPProxyURL(httpProxyURL)
}
// 验证代理类型
if !strings.HasPrefix(httpProxyURL, "socks5://") && !strings.HasPrefix(httpProxyURL, "http://") && !strings.HasPrefix(httpProxyURL, "https://") {
return fmt.Errorf("%s: %s", i18n.GetText("webscan_unsupported_proxy_type"), httpProxyURL)
}
// 解析代理URL
parsedURL, err := url.Parse(httpProxyURL)
if err != nil {
return fmt.Errorf("%s: %w", i18n.GetText("webscan_proxy_url_parse_failed"), err)
}
tr.Proxy = http.ProxyURL(parsedURL)
return nil
}
// 无代理配置
return nil
}
func normalizeHTTPProxyURL(proxyURL string) string {
if _, err := strconv.Atoi(proxyURL); err == nil {
return "http://127.0.0.1:" + proxyURLView on GitHub (pinned to 95cc12e753)
Solutions
- Set the proxy scheme explicitly to http://, https://, or socks5://
- Use the built-in shortcuts for Burp/SOCKS5
- Remove unsupported schemes such as socks4:// from the config
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at webscan/lib/Client.go:118 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/c4bb4b384fd71486.
Report an issue: GitHub.