Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

Commit

Permalink
Update scraper.go
Browse files Browse the repository at this point in the history
Support auth for SetProxy socks5
  • Loading branch information
laikee99 committed Nov 4, 2023
1 parent 652b5b5 commit df60d79
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions scraper.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,20 @@ func (s *Scraper) SetProxy(proxyAddr string) error {
Timeout: s.client.Timeout,
KeepAlive: s.client.Timeout,
}
socksHostPort := strings.ReplaceAll(proxyAddr, "socks5://", "")
dialSocksProxy, err := proxy.SOCKS5("tcp", socksHostPort, nil, baseDialer)
proxyURL, err := url.Parse(proxyAddr)
if err != nil {
panic(err)
}

// username password
username := proxyURL.User.Username()
password, _ := proxyURL.User.Password()

// ip and port
host := proxyURL.Hostname()
port := proxyURL.Port()

dialSocksProxy, err := proxy.SOCKS5("tcp", host+":"+port, &proxy.Auth{User: username, Password: password}, baseDialer)
if err != nil {
return errors.New("error creating socks5 proxy :" + err.Error())
}
Expand Down

0 comments on commit df60d79

Please sign in to comment.