FILE / ScuroNeko/mtg

mtglib/network/socks5.go

Исходный файл и его история в репозитории.
FILE d5147f19358c35ae6b136cb03120f2a3b22de98e
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
}