FILE / ScuroNeko/mtg

mtglib/network/socks5.go

Исходный файл и его история в репозитории.
FILE 5b461529451efdff6f8df2f578037adc4ad6b1c9
Files
mtg/mtglib/network/socks5.go
T
2021-03-05 16:39:09 +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
}