add forward endpoint

This commit is contained in:
Kukks
2024-06-21 13:19:09 +02:00
parent 80141d44ca
commit 0360c374e4
4 changed files with 26 additions and 10 deletions

View File

@@ -13,7 +13,7 @@
<PropertyGroup> <PropertyGroup>
<Product>Coinjoin</Product> <Product>Coinjoin</Product>
<Description>Allows you to integrate your btcpayserver store with coinjoins.</Description> <Description>Allows you to integrate your btcpayserver store with coinjoins.</Description>
<Version>1.0.91</Version> <Version>1.0.92</Version>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup> </PropertyGroup>

View File

@@ -9,7 +9,7 @@ namespace WalletWasabi.Backend.Controllers;
public class WabisabiCoordinatorSettings public class WabisabiCoordinatorSettings
{ {
public bool Enabled { get; set; } = false; public bool Enabled { get; set; } = false;
public Uri ForwardEndpoint { get; set; } = new Uri("https://wasabiwallet.io/");
public string NostrIdentity { get; set; } public string NostrIdentity { get; set; }
public Uri NostrRelay { get; set; } = new Uri("wss://relay.primal.net"); public Uri NostrRelay { get; set; } = new Uri("wss://relay.primal.net");

View File

@@ -12,10 +12,13 @@ namespace WalletWasabi.Backend.Controllers;
public class WasabiLeechController : Controller public class WasabiLeechController : Controller
{ {
private readonly WabisabiCoordinatorClientInstanceManager _coordinatorClientInstanceManager; private readonly WabisabiCoordinatorClientInstanceManager _coordinatorClientInstanceManager;
private readonly WabisabiCoordinatorService _wabisabiCoordinatorService;
public WasabiLeechController(WabisabiCoordinatorClientInstanceManager coordinatorClientInstanceManager) public WasabiLeechController(WabisabiCoordinatorClientInstanceManager coordinatorClientInstanceManager,
WabisabiCoordinatorService wabisabiCoordinatorService)
{ {
_coordinatorClientInstanceManager = coordinatorClientInstanceManager; _coordinatorClientInstanceManager = coordinatorClientInstanceManager;
_wabisabiCoordinatorService = wabisabiCoordinatorService;
} }
[HttpGet("api/v4/Wasabi/legaldocuments")] [HttpGet("api/v4/Wasabi/legaldocuments")]
@@ -32,14 +35,22 @@ public class WasabiLeechController : Controller
[Route("{*key}")] [Route("{*key}")]
public async Task<IActionResult> Forward(string key, CancellationToken cancellationToken) public async Task<IActionResult> Forward(string key, CancellationToken cancellationToken)
{ {
if (!_coordinatorClientInstanceManager.HostedServices.TryGetValue("zksnacks", out var coordinator)) if (!_wabisabiCoordinatorService.Started)
return BadRequest(); return NotFound();
var settings = await _wabisabiCoordinatorService.GetSettings();
var b = new UriBuilder(coordinator.Coordinator); if (settings.ForwardEndpoint is not null)
b.Path = key; {
b.Query = Request.QueryString.ToString(); var b = new UriBuilder(settings.ForwardEndpoint)
{
Path = key,
Query = Request.QueryString.ToString()
};
return RedirectPreserveMethod(b.ToString()); return RedirectPreserveMethod(b.ToString());
} }
return NotFound();
}
} }

View File

@@ -47,6 +47,11 @@
<textarea rows="10" cols="40" class="form-control " asp-for="TermsConditions" > <textarea rows="10" cols="40" class="form-control " asp-for="TermsConditions" >
</textarea> </textarea>
</div> </div>
<div class="form-group pt-3">
<label class="form-label" for="config">Coordinator endpoint redirect</label>
<input asp-for="ForwardEndpoint" type="url" class="form-control"/>
<p>When someone enters your coordinator endpoint, forward to this url (except for coinjoin endpoints).</p>
</div>
</div> </div>
<div class="col-xxl-constrain col-xl-4"> <div class="col-xxl-constrain col-xl-4">