FILE / ScuroNeko/mtg

mtglib/network/socks5.go

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