{"record":{"id":"41fa46a3846f96b1","repo":"shadow1ng/fscan","slug":"only-support-socks5","errorCode":null,"errorMessage":"Only support socks5","messagePattern":"Only support socks5","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"libs/grdp/login/screen.go","lineNumber":104,"sourceCode":"\n\ttimeout := forward.Timeout\n\tif err := conn.SetWriteDeadline(time.Now().Add(timeout * 6)); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := conn.SetReadDeadline(time.Now().Add(timeout * 6)); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn conn, nil\n}\n\nfunc Socks5Dailer(forward *net.Dialer) (proxy.Dialer, error) {\n\tu, err := url.Parse(Socks5Proxy)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif strings.ToLower(u.Scheme) != \"socks5\" {\n\t\treturn nil, errors.New(\"Only support socks5\")\n\t}\n\taddress := u.Host\n\tvar auth proxy.Auth\n\tvar dailer proxy.Dialer\n\tif u.User.String() != \"\" {\n\t\tauth = proxy.Auth{}\n\t\tauth.User = u.User.Username()\n\t\tpassword, _ := u.User.Password()\n\t\tauth.Password = password\n\t\tdailer, err = proxy.SOCKS5(\"tcp\", address, &auth, forward)\n\t} else {\n\t\tdailer, err = proxy.SOCKS5(\"tcp\", address, nil, forward)\n\t}\n\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dailer, nil","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/shadow1ng/fscan/blob/95cc12e753bf43de7004e5aef42a9ffba3934303/libs/grdp/login/screen.go#L86-L122","documentation":"Guard in Socks5Dailer: the configured SOCKS proxy URL (Socks5Proxy) was parsed successfully but its scheme is something other than \"socks5\" (e.g. http, socks4). Only socks5 proxies are supported, so the dialer refuses to build a proxy.Dialer for any other scheme.","triggerScenarios":"Thrown at libs/grdp/login/screen.go:104 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the proxy URL with a socks5:// scheme, e.g. socks5://127.0.0.1:1080","Verify the proxy server actually speaks SOCKS5, not HTTP/SOCKS4","Drop the proxy setting to connect directly if no SOCKS5 proxy is available"],"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"}