| 1234567891011121314151617181920212223 |
- package network
-
- import (
- "fmt"
- "net/url"
- "time"
-
- "golang.org/x/net/proxy"
- )
-
- func NewSocks5Dialer(proxyUrl *url.URL, timeout time.Duration, bufferSize int) (Dialer, error) {
- dialer, err := NewDefaultDialer(timeout, bufferSize)
- if err != nil {
- return nil, fmt.Errorf("cannot initialize base dialer: %w", err)
- }
-
- rv, err := proxy.FromURL(proxyUrl, dialer.(*defaultDialer))
- if err != nil {
- return nil, fmt.Errorf("cannot initialize socks5 proxy dialer: %w", err)
- }
-
- return rv.(Dialer), nil
- }
|