diff --git a/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs b/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs index 70c15fb10..43f9bf414 100644 --- a/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs +++ b/src/NzbDrone.Core/IndexerVersions/IndexerDefinitionUpdateService.cs @@ -29,7 +29,7 @@ namespace NzbDrone.Core.IndexerVersions /* Update Service will fall back if version # does not exist for an indexer per Ta */ private const string DEFINITION_BRANCH = "master"; - private const int DEFINITION_VERSION = 9; + private const int DEFINITION_VERSION = 10; // Used when moving yml to C# private readonly List _definitionBlocklist = new () diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs index 166275514..efd4b0acd 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannBase.cs @@ -337,9 +337,11 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann variables[name] = selected.Key; break; case "info": - variables[name] = value; - break; + case "info_cookie": + case "info_flaresolverr": + case "info_useragent": case "cardigannCaptcha": + // no-op break; default: throw new NotSupportedException($"Type {setting.Type} is not supported."); diff --git a/src/Prowlarr.Api.V1/Indexers/IndexerResource.cs b/src/Prowlarr.Api.V1/Indexers/IndexerResource.cs index e82ad2ab5..2f562cd3a 100644 --- a/src/Prowlarr.Api.V1/Indexers/IndexerResource.cs +++ b/src/Prowlarr.Api.V1/Indexers/IndexerResource.cs @@ -60,7 +60,7 @@ namespace Prowlarr.Api.V1.Indexers if (definition.Implementation == nameof(Cardigann)) { - var extraFields = definition.ExtraFields?.Select(MapField).ToList() ?? new List(); + var extraFields = definition.ExtraFields?.Select(MapCardigannField).ToList() ?? new List(); resource.Fields.AddRange(extraFields); @@ -160,7 +160,7 @@ namespace Prowlarr.Api.V1.Indexers }; } - private Field MapField(SettingsField setting, int order) + private Field MapCardigannField(SettingsField setting, int order) { var field = new Field { @@ -185,6 +185,26 @@ namespace Prowlarr.Api.V1.Indexers { field.Value = bool.TryParse(setting.Default, out var value) && value; } + else if (setting.Type is "info_cookie" or "info_flaresolverr" or "info_useragent") + { + field.Type = "info"; + + switch (setting.Type) + { + case "info_cookie": + field.Label = "How to get the Cookie"; + field.Value = "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Doc button (Chrome Browser) or HTML button (FireFox)
  5. Refresh the page by pressing F5
  6. Click on the first row entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
"; + break; + case "info_flaresolverr": + field.Label = "FlareSolverr Info"; + field.Value = "This site may use Cloudflare DDoS Protection, therefore Prowlarr requires FlareSolverr to access it."; + break; + case "info_useragent": + field.Label = "How to get the User-Agent"; + field.Value = "
  1. From the same place you fetched the cookie,
  2. Find 'user-agent:' in the Request Headers section
  3. Select and Copy the whole user-agent string (everything after 'user-agent: ') and Paste here.
"; + break; + } + } else { field.Value = setting.Default;