diff --git a/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs b/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs index d8fa30b..31be540 100644 --- a/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs +++ b/allstarr/Services/SquidWTF/SquidWTFDownloadService.cs @@ -26,9 +26,14 @@ public class SquidWTFDownloadService : BaseDownloadService private DateTime _lastRequestTime = DateTime.MinValue; private readonly int _minRequestIntervalMs = 200; - // Base64 encoded to avoid GitHub detection - private const string EncodedBaseUrl = "aHR0cHM6Ly90cml0b24uc3F1aWQud3Rm"; - private readonly string SquidWTFApiBase; + private static readonly string SquidWTFApiBase = DecodeBaseUrl(); + + private static string DecodeBaseUrl() + { + var encoded = "aHR0cHM6Ly90cml0b24uc3F1aWQud3Rm"; + var bytes = Convert.FromBase64String(encoded); + return Encoding.UTF8.GetString(bytes); + } protected override string ProviderName => "squidwtf"; @@ -45,10 +50,6 @@ public class SquidWTFDownloadService : BaseDownloadService { _httpClient = httpClientFactory.CreateClient(); _squidwtfSettings = SquidWTFSettings.Value; - - // Decode the base URL - var bytes = Convert.FromBase64String(EncodedBaseUrl); - SquidWTFApiBase = Encoding.UTF8.GetString(bytes); } #region BaseDownloadService Implementation diff --git a/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs b/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs index f2cc0b8..2705004 100644 --- a/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs +++ b/allstarr/Services/SquidWTF/SquidWTFMetadataService.cs @@ -22,9 +22,14 @@ public class SquidWTFMetadataService : IMusicMetadataService private readonly ILogger _logger; private readonly RedisCacheService _cache; - // Base64 encoded to avoid GitHub detection - private const string EncodedBaseUrl = "aHR0cHM6Ly90cml0b24uc3F1aWQud3Rm"; - private readonly string BaseUrl; + private static readonly string BaseUrl = DecodeBaseUrl(); + + private static string DecodeBaseUrl() + { + var encoded = "aHR0cHM6Ly90cml0b24uc3F1aWQud3Rm"; + var bytes = Convert.FromBase64String(encoded); + return Encoding.UTF8.GetString(bytes); + } public SquidWTFMetadataService( IHttpClientFactory httpClientFactory, @@ -37,10 +42,6 @@ public class SquidWTFMetadataService : IMusicMetadataService _settings = settings.Value; _logger = logger; _cache = cache; - - // Decode the base URL - var bytes = Convert.FromBase64String(EncodedBaseUrl); - BaseUrl = Encoding.UTF8.GetString(bytes); // Set up default headers _httpClient.DefaultRequestHeaders.Add("User-Agent", diff --git a/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs b/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs index d39a06d..e6e4e07 100644 --- a/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs +++ b/allstarr/Services/SquidWTF/SquidWTFStartupValidator.cs @@ -13,9 +13,14 @@ public class SquidWTFStartupValidator : BaseStartupValidator { private readonly SquidWTFSettings _settings; - // Base64 encoded to avoid GitHub detection - private const string EncodedBaseUrl = "aHR0cHM6Ly90cml0b24uc3F1aWQud3Rm"; - private readonly string _apiBase; + private static readonly string _apiBase = DecodeBaseUrl(); + + private static string DecodeBaseUrl() + { + var encoded = "aHR0cHM6Ly90cml0b24uc3F1aWQud3Rm"; + var bytes = Convert.FromBase64String(encoded); + return Encoding.UTF8.GetString(bytes); + } public override string ServiceName => "SquidWTF"; @@ -23,10 +28,6 @@ public class SquidWTFStartupValidator : BaseStartupValidator : base(httpClient) { _settings = settings.Value; - - // Decode the base URL - var bytes = Convert.FromBase64String(EncodedBaseUrl); - _apiBase = Encoding.UTF8.GetString(bytes); } public override async Task ValidateAsync(CancellationToken cancellationToken)