This commit is contained in:
Kukks
2020-03-13 16:52:50 +01:00
parent f1821636db
commit 56d5e6f99f
4 changed files with 32 additions and 23 deletions

View File

@@ -220,7 +220,7 @@ namespace BTCPayServer.Controllers
{ {
Severity = StatusMessageModel.StatusSeverity.Info, Severity = StatusMessageModel.StatusSeverity.Info,
AllowDismiss = false, AllowDismiss = false,
Message = "This transaction has been coordinated between the receiver and you to create a <a href='https://en.bitcoin.it/wiki/PayJoin' target='_blank'>payjoin transaction</a> by adding inputs from the receiver. The amount being sent may appear higher but is in fact the same" Html = "This transaction has been coordinated between the receiver and you to create a <a href='https://en.bitcoin.it/wiki/PayJoin' target='_blank'>payjoin transaction</a> by adding inputs from the receiver. The amount being sent may appear higher but is in fact the same"
}); });
return newPSBT; return newPSBT;
} }

View File

@@ -265,7 +265,7 @@ namespace BTCPayServer.Hosting
{ {
rateLimits.SetZone($"zone={ZoneLimits.Login} rate=5r/min burst=3 nodelay"); rateLimits.SetZone($"zone={ZoneLimits.Login} rate=5r/min burst=3 nodelay");
rateLimits.SetZone($"zone={ZoneLimits.Register} rate=2r/min burst=2 nodelay"); rateLimits.SetZone($"zone={ZoneLimits.Register} rate=2r/min burst=2 nodelay");
rateLimits.SetZone($"zone={ZoneLimits.PayJoin} rate=5r/min burst= nodelay"); rateLimits.SetZone($"zone={ZoneLimits.PayJoin} rate=5r/min burst=3 nodelay");
} }
return rateLimits; return rateLimits;
}); });

View File

@@ -9,6 +9,8 @@ using System.Threading.Tasks;
using BTCPayServer.Configuration; using BTCPayServer.Configuration;
using com.LandonKey.SocksWebProxy; using com.LandonKey.SocksWebProxy;
using com.LandonKey.SocksWebProxy.Proxy; using com.LandonKey.SocksWebProxy.Proxy;
using Microsoft.Extensions.Logging;
using NBitcoin.Logging;
using NBitcoin.Protocol.Connectors; using NBitcoin.Protocol.Connectors;
using NBitcoin.Protocol; using NBitcoin.Protocol;
@@ -73,38 +75,45 @@ namespace BTCPayServer.Services
{ {
return Task.Run(() => return Task.Run(() =>
{ {
var proxyConfig = new ProxyConfig() {Version = ProxyConfig.SocksVersion.Five}; try
switch (_options.SocksEndpoint)
{ {
case null: var proxyConfig = new ProxyConfig() {Version = ProxyConfig.SocksVersion.Five};
return null; switch (_options.SocksEndpoint)
case IPEndPoint ipEndPoint: {
proxyConfig.SocksPort = ipEndPoint.Port; case null:
proxyConfig.SocksAddress = ipEndPoint.Address; return null;
break; case IPEndPoint ipEndPoint:
case DnsEndPoint dnsEndPoint: proxyConfig.SocksPort = ipEndPoint.Port;
try proxyConfig.SocksAddress = ipEndPoint.Address;
{ break;
case DnsEndPoint dnsEndPoint:
proxyConfig.SocksPort = dnsEndPoint.Port; proxyConfig.SocksPort = dnsEndPoint.Port;
var ip = Dns.GetHostEntry(dnsEndPoint.Host).AddressList var ip = Dns.GetHostEntry(dnsEndPoint.Host).AddressList
.SingleOrDefault(address => address.AddressFamily == AddressFamily.InterNetwork); .SingleOrDefault(address => address.AddressFamily == AddressFamily.InterNetwork);
if (ip == null) if (ip == null)
{ {
Logs.Utils.LogWarning( $"Could not find ip for {dnsEndPoint.Host}");
return null; return null;
} }
proxyConfig.SocksAddress = ip; proxyConfig.SocksAddress = ip;
break; break;
}
catch (Exception e)
{
return null;
}
default:
return null;
}
return new HttpClient(new HttpClientHandler {Proxy = new SocksWebProxy(proxyConfig), UseProxy = true}); default:
return null;
}
Logs.Utils.LogWarning( $"Created socks proxied http client!");
return new HttpClient(new HttpClientHandler
{
Proxy = new SocksWebProxy(proxyConfig), UseProxy = true
});
}
catch (Exception e)
{
Logs.Utils.LogError(e, "Could not create Tor client");
return null;
}
}); });
} }
} }

View File

@@ -52,7 +52,7 @@
<tr class="@(payment.Replaced ? "linethrough" : "")" > <tr class="@(payment.Replaced ? "linethrough" : "")" >
<td>@payment.Crypto</td> <td>@payment.Crypto</td>
<td>@payment.DepositAddress</td> <td>@payment.DepositAddress</td>
<td>@payment.CryptoPaymentData.GetValue() @(payment.CryptoPaymentData.PayJoinSelfContributedAmount == 0? string.Empty : $"(+ Payjoin {payment.CryptoPaymentData.PayJoinSelfContributedAmount })")</td> <td>@payment.CryptoPaymentData.GetValue() @(payment.CryptoPaymentData.PayJoinSelfContributedAmount == 0? string.Empty : $"<br/>(+ Payjoin {payment.CryptoPaymentData.PayJoinSelfContributedAmount })")</td>
<td> <td>
<div class="wraptextAuto"> <div class="wraptextAuto">
<a href="@payment.TransactionLink" target="_blank"> <a href="@payment.TransactionLink" target="_blank">