{"record":{"id":"c4bb4b384fd71486","repo":"shadow1ng/fscan","slug":"webscan-unsupported-proxy-type","errorCode":"webscan_unsupported_proxy_type","errorMessage":"webscan_unsupported_proxy_type: %s","messagePattern":"webscan_unsupported_proxy_type: (.+?)","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"webscan/lib/Client.go","lineNumber":118,"sourceCode":"\thttpProxyURL := networkConfig.HTTPProxy\n\tif httpProxyURL == \"\" && legacyProxy != \"\" {\n\t\t// 兼容旧参数DownProxy\n\t\thttpProxyURL = legacyProxy\n\t}\n\n\tif httpProxyURL != \"\" {\n\t\t// 处理快捷代理配置\n\t\tif httpProxyURL == ProxyShortcutBurp {\n\t\t\thttpProxyURL = ProxyBurpURL\n\t\t} else if httpProxyURL == ProxyShortcutSocks5 {\n\t\t\thttpProxyURL = ProxySocks5URL\n\t\t} else if !strings.Contains(httpProxyURL, \"://\") {\n\t\t\thttpProxyURL = normalizeHTTPProxyURL(httpProxyURL)\n\t\t}\n\n\t\t// 验证代理类型\n\t\tif !strings.HasPrefix(httpProxyURL, \"socks5://\") && !strings.HasPrefix(httpProxyURL, \"http://\") && !strings.HasPrefix(httpProxyURL, \"https://\") {\n\t\t\treturn fmt.Errorf(\"%s: %s\", i18n.GetText(\"webscan_unsupported_proxy_type\"), httpProxyURL)\n\t\t}\n\n\t\t// 解析代理URL\n\t\tparsedURL, err := url.Parse(httpProxyURL)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"%s: %w\", i18n.GetText(\"webscan_proxy_url_parse_failed\"), err)\n\t\t}\n\t\ttr.Proxy = http.ProxyURL(parsedURL)\n\t\treturn nil\n\t}\n\n\t// 无代理配置\n\treturn nil\n}\n\nfunc normalizeHTTPProxyURL(proxyURL string) string {\n\tif _, err := strconv.Atoi(proxyURL); err == nil {\n\t\treturn \"http://127.0.0.1:\" + proxyURL","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/shadow1ng/fscan/blob/95cc12e753bf43de7004e5aef42a9ffba3934303/webscan/lib/Client.go#L100-L136","documentation":"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.","triggerScenarios":"Thrown at webscan/lib/Client.go:118 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"95cc12e753bf43de7004e5aef42a9ffba3934303","analyzedAt":"2026-09-06T17:07:30.094Z","contentChangedAt":"2026-09-06T17:07:30.094Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}