Add base dialers module

This commit is contained in:
9seconds
2021-03-05 12:20:57 +03:00
parent 2be900745f
commit 4689479745
12 changed files with 506 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
package dialers
import (
"fmt"
"net/url"
"time"
"golang.org/x/net/proxy"
)
func NewSocks5BaseDialer(proxyUrl *url.URL, timeout time.Duration, bufferSize int) (BaseDialer, error) {
baseDialer, err := NewDefaultBaseDialer(timeout, bufferSize)
if err != nil {
return nil, fmt.Errorf("cannot initialize base dialer: %w", err)
}
rv, err := proxy.FromURL(proxyUrl, baseDialer.(*defaultBaseDialer))
if err != nil {
return nil, fmt.Errorf("cannot initialize socks5 proxy dialer: %w", err)
}
return rv.(BaseDialer), nil
}