diff options
| author | davy <davy.wybiral@gmail.com> | 2019-07-03 16:55:03 -0500 |
|---|---|---|
| committer | davy <davy.wybiral@gmail.com> | 2019-07-03 16:55:03 -0500 |
| commit | 442e3c6dcf35cc1ca508e617f94198637e761bc8 (patch) | |
| tree | 8d6b6210ce98385180766fa14984e2c47f779050 /vendor/github.com/wybiral/torgo/client.go | |
| parent | 53bc0c19fadcfb7ae9a608ed1f9f6268d1670368 (diff) | |
dep ensurev0.1.0
Diffstat (limited to 'vendor/github.com/wybiral/torgo/client.go')
| -rw-r--r-- | vendor/github.com/wybiral/torgo/client.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/wybiral/torgo/client.go b/vendor/github.com/wybiral/torgo/client.go new file mode 100644 index 0000000..52d7f86 --- /dev/null +++ b/vendor/github.com/wybiral/torgo/client.go @@ -0,0 +1,23 @@ +package torgo + +import ( + "net/http" + "net/url" + + "golang.org/x/net/proxy" +) + +// NewClient return new HTTP client that uses a Tor SOCKS proxy. +// `addr` is the host:port address of SOCKS proxy (usually "127.0.0.1:9050") +func NewClient(addr string) (*http.Client, error) { + u, err := url.Parse("socks5://" + addr) + if err != nil { + return nil, err + } + d, err := proxy.FromURL(u, proxy.Direct) + if err != nil { + return nil, err + } + t := &http.Transport{Dial: d.Dial} + return &http.Client{Transport: t}, nil +} |
