FILE / ScuroNeko/mtg

mtglib/network/socks5.go

Исходный файл и его история в репозитории.
FILE 09f8233bc6f0231436f312cd47cc5997dbe580cc
Files
mtg/mtglib/network/socks5.go
T
2021-03-05 14:12:38 +03:00

24 lines
505 B
Go

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
}