From 71f18f1042752127c27e1247cfe207e215912db2 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Thu, 20 Feb 2020 17:04:11 +1100 Subject: [PATCH] Remove ClientConfig.ProxyURL and DefaultHTTPUserAgent ProxyURL is no longer used for implicit sockets, this will ensure consumers are aware. It's other behaviour is already more correct specified through HTTPProxy. DefaultHTTPUserAgent was vestigial, and is specified now through the ClientConfig. --- client.go | 8 -------- config.go | 16 +++------------- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/client.go b/client.go index 451788c5..8bb1ca38 100644 --- a/client.go +++ b/client.go @@ -10,8 +10,6 @@ import ( "fmt" "io" "net" - "net/http" - "net/url" "strconv" "strings" "time" @@ -217,12 +215,6 @@ func NewClient(cfg *ClientConfig) (cl *Client, err error) { } } - if cl.config.HTTPProxy == nil && cl.config.ProxyURL != "" { - if fixedURL, err := url.Parse(cl.config.ProxyURL); err == nil { - cl.config.HTTPProxy = http.ProxyURL(fixedURL) - } - } - sockets, err := listenAll(cl.listenNetworks(), cl.config.ListenHost, cl.config.ListenPort, cl.firewallCallback) if err != nil { return diff --git a/config.go b/config.go index 692b0751..ee41ba02 100644 --- a/config.go +++ b/config.go @@ -19,8 +19,6 @@ import ( "github.com/anacrolix/torrent/storage" ) -var DefaultHTTPUserAgent = "Go-Torrent/1.0" - // Probably not safe to modify this after it's given to a Client. type ClientConfig struct { // Store torrent file data in this directory unless .DefaultStorage is @@ -76,11 +74,6 @@ type ClientConfig struct { // Chooses the crypto method to use when receiving connections with header obfuscation. CryptoSelector mse.CryptoSelector - // Sets usage of Socks5 Proxy. Authentication should be included in the url if needed. - // Examples: socks5://demo:demo@192.168.99.100:1080 - // http://proxy.domain.com:3128 - ProxyURL string - IPBlocklist iplist.Ranger DisableIPv6 bool `long:"disable-ipv6"` DisableIPv4 bool @@ -89,11 +82,8 @@ type ClientConfig struct { Debug bool `help:"enable debugging"` Logger log.Logger - // HTTPProxy defines proxy for HTTP requests. - // Format: func(*Request) (*url.URL, error), - // or result of http.ProxyURL(HTTPProxy). - // By default, it is composed from ClientConfig.ProxyURL, - // if not set explicitly in ClientConfig struct + // Defines proxy for HTTP requests, such as for trackers. It's commonly set from the result of + // "net/http".ProxyURL(HTTPProxy). HTTPProxy func(*http.Request) (*url.URL, error) // HTTPUserAgent changes default UserAgent for HTTP requests HTTPUserAgent string @@ -150,7 +140,7 @@ func (cfg *ClientConfig) SetListenAddr(addr string) *ClientConfig { func NewDefaultClientConfig() *ClientConfig { cc := &ClientConfig{ - HTTPUserAgent: DefaultHTTPUserAgent, + HTTPUserAgent: "Go-Torrent/1.0", ExtendedHandshakeClientVersion: "go.torrent dev 20181121", Bep20: "-GT0002-", UpnpID: "anacrolix/torrent", -- 2.48.1