using System.Net; using System.Net.Http; using BTCPayServer.Configuration; using BTCPayServer.HostedServices; namespace BTCPayServer.Services { public class Socks5HttpClientHandler : HttpClientHandler { public Socks5HttpClientHandler(BTCPayServerOptions opts) { if (opts.SocksEndpoint is IPEndPoint endpoint) { this.Proxy = new WebProxy($"socks5://{endpoint.Address}:{endpoint.Port}"); } else if (opts.SocksEndpoint is DnsEndPoint endpoint2) { this.Proxy = new WebProxy($"socks5://{endpoint2.Host}:{endpoint2.Port}"); } } } }