diff --git a/BTCPayServer/Configuration/ExternalConnectionString.cs b/BTCPayServer/Configuration/ExternalConnectionString.cs index 487ce4966..8a5febb7b 100644 --- a/BTCPayServer/Configuration/ExternalConnectionString.cs +++ b/BTCPayServer/Configuration/ExternalConnectionString.cs @@ -78,7 +78,7 @@ namespace BTCPayServer.Configuration } } - if (new []{ExternalServiceTypes.Charge, ExternalServiceTypes.RTL, ExternalServiceTypes.Spark, ExternalServiceTypes.Configurator}.Contains(serviceType)) + if (new []{ExternalServiceTypes.Charge, ExternalServiceTypes.RTL, ExternalServiceTypes.ThunderHub, ExternalServiceTypes.Spark, ExternalServiceTypes.Configurator}.Contains(serviceType)) { // Read access key from cookie file if (connectionString.CookieFilePath != null) @@ -95,7 +95,7 @@ namespace BTCPayServer.Configuration { throw new System.IO.FileNotFoundException("Cookie file path not found", ex); } - if (serviceType == ExternalServiceTypes.RTL || serviceType == ExternalServiceTypes.Configurator) + if (serviceType == ExternalServiceTypes.RTL || serviceType == ExternalServiceTypes.Configurator || serviceType == ExternalServiceTypes.ThunderHub) { connectionString.AccessKey = cookieFileContent; } diff --git a/BTCPayServer/Configuration/ExternalService.cs b/BTCPayServer/Configuration/ExternalService.cs index 3917fdbce..7ae9e0ae0 100644 --- a/BTCPayServer/Configuration/ExternalService.cs +++ b/BTCPayServer/Configuration/ExternalService.cs @@ -36,6 +36,10 @@ namespace BTCPayServer.Configuration $"Valid example: 'server=https://btcpay.example.com/rtl/btc/;cookiefile=/etc/clightning_bitcoin_rtl/.cookie'" + Environment.NewLine + "Error: {1}", "Ride the Lightning server"); + Load(configuration, cryptoCode, "thunderhub", ExternalServiceTypes.ThunderHub, "Invalid setting {0}, " + Environment.NewLine + + $"Valid example: 'server=https://btcpay.example.com/thub/;cookiefile=/etc/clightning_bitcoin_rtl/.cookie'" + Environment.NewLine + + "Error: {1}", + "ThunderHub"); Load(configuration, cryptoCode, "clightningrest", ExternalServiceTypes.CLightningRest, "Invalid setting {0}, " + Environment.NewLine + $"Valid example: 'server=https://btcpay.example.com/clightning-rest/btc/;cookiefile=/etc/clightning_bitcoin_rtl/.cookie'" + Environment.NewLine + "Error: {1}", @@ -102,6 +106,7 @@ namespace BTCPayServer.Configuration LNDSeedBackup, Spark, RTL, + ThunderHub, Charge, P2P, RPC, diff --git a/BTCPayServer/Controllers/ServerController.cs b/BTCPayServer/Controllers/ServerController.cs index d3452391b..780f556c7 100644 --- a/BTCPayServer/Controllers/ServerController.cs +++ b/BTCPayServer/Controllers/ServerController.cs @@ -593,6 +593,7 @@ namespace BTCPayServer.Controllers case ExternalServiceTypes.Charge: return LightningChargeServices(service, connectionString, showQR); case ExternalServiceTypes.RTL: + case ExternalServiceTypes.ThunderHub: case ExternalServiceTypes.Spark: if (connectionString.AccessKey == null) { @@ -602,7 +603,10 @@ namespace BTCPayServer.Controllers LightningWalletServices vm = new LightningWalletServices(); vm.ShowQR = showQR; vm.WalletName = service.DisplayName; - vm.ServiceLink = $"{connectionString.Server}?access-key={connectionString.AccessKey}"; + string tokenParam = "access-key"; + if (service.Type == ExternalServiceTypes.ThunderHub) + tokenParam = "token"; + vm.ServiceLink = $"{connectionString.Server}?{tokenParam}={connectionString.AccessKey}"; return View("LightningWalletServices", vm); case ExternalServiceTypes.CLightningRest: return LndServices(service, connectionString, nonce, "CLightningRestServices");