Fix critical issues in proxy URL handling.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
三千 2025-02-09 22:14:13 +08:00 committed by GitHub
parent c7aea91c43
commit fb71729fa6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -9,16 +9,22 @@ import (
"golang.org/x/net/proxy"
)
func newProxyDial(prxoyUrls string) proxy.Dialer {
func newProxyDial(proxyUrls string) proxy.Dialer {
var proxyDialer proxy.Dialer = proxy.Direct
for _, prxoyUrl := range strings.Split(prxoyUrls, ",") {
urlInfo, err := url.Parse(prxoyUrl)
for _, proxyUrl := range strings.Split(proxyUrls, ",") {
urlInfo, err := url.Parse(proxyUrl)
if err != nil {
return proxyDialer
continue
}
if urlInfo.Scheme != "socks5" {
continue
}
var auth *proxy.Auth = nil
if urlInfo.User != nil {
pwd, _ := urlInfo.User.Password()
pwd, ok := urlInfo.User.Password()
if !ok {
continue
}
auth = &proxy.Auth{
User: urlInfo.User.Username(),
Password: pwd,