Skip to content

[BUG] T2Tunes error #179

@sho-orty

Description

@sho-orty

Tubifarry Version

v2.1.0

Lidarr Version

v3.1.0

Operating System

macOS

Bug Description

I was trying to add T2Tunes as an indexer but gave me an error

Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.

Steps to Reproduce

  1. Go to Indexer
  2. Add indexer and select T2Tunes
  3. Enter base url

Expected Behavior

I expected to see T2Tunes being added as the indexer

Trace Log Files

Logs

2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'usescriptimport' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'scriptimportpath' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'importextrafiles' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigFileSavedEvent <~ ReconfigureLogging
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'extrafileextensions' defaultValue:'srt'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'watchlibraryforchanges' defaultValue:'True'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'rescanafterrefresh' defaultValue:'Always'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'allowfingerprinting' defaultValue:'NewFiles'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'setpermissionslinux' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'chmodfolder' defaultValue:'755'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'chowngroup' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'metadatasource' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'writeaudiotags' defaultValue:'No'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'scrubaudiotags' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'embedcoverart' defaultValue:'True'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'firstdayofweek' defaultValue:'0'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'calendarweekcolumnheader' defaultValue:'ddd M/D'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'shortdateformat' defaultValue:'MMM D YYYY'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'longdateformat' defaultValue:'dddd, MMMM D YYYY'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'timeformat' defaultValue:'h(:mm)a'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'showrelativedates' defaultValue:'True'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'enablecolorimpairedmode' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'uilanguage' defaultValue:'1'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'expandalbumbydefault' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'expandepbydefault' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'expandsinglebydefault' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'expandbroadcastbydefault' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'expandotherbydefault' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxytype' defaultValue:'Http'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyhostname' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyport' defaultValue:'8080'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyusername' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxypassword' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxybypassfilter' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxybypasslocaladdresses' defaultValue:'True'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupfolder' defaultValue:'Backups'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupinterval' defaultValue:'7'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupretention' defaultValue:'28'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'applicationurl' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'trustcgnatipaddresses' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|EventAggregator|Publishing ConfigSavedEvent
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent -> RootFolderWatchingService
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'watchlibraryforchanges' defaultValue:'True'
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent <- RootFolderWatchingService
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent -> UiAuthorizationHandler
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent <- UiAuthorizationHandler
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent > LocalizationService
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent > TaskManager
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent <
LocalizationService
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'rsssyncinterval' defaultValue:'15'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxytype' defaultValue:'Http'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyhostname' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyport' defaultValue:'8080'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxyusername' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxypassword' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxybypassfilter' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'proxybypasslocaladdresses' defaultValue:'True'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupfolder' defaultValue:'Backups'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupinterval' defaultValue:'7'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupretention' defaultValue:'28'
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'applicationurl' defaultValue:''
2026-05-11 18:31:27.1|Trace|ConfigService|Using default config value for 'backupinterval' defaultValue:'7'
2026-05-11 18:31:27.1|Trace|Http|Res: 99 [PUT] /api/v1/config/host: 202.Accepted (46 ms)
2026-05-11 18:31:27.1|Trace|EventAggregator|ConfigSavedEvent <
TaskManager
2026-05-11 18:31:27.1|Debug|Api|[PUT] /api/v1/config/host: 202.Accepted (46 ms)
2026-05-11 18:31:28.4|Trace|Http|Req: 100 [GET] /api/v1/indexer (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:28.4|Trace|Http|Req: 101 [GET] /api/v1/config/indexer (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:28.4|Trace|Http|Res: 100 [GET] /api/v1/indexer: 200.OK (2 ms)
2026-05-11 18:31:28.4|Debug|Api|[GET] /api/v1/indexer: 200.OK (2 ms)
2026-05-11 18:31:28.5|Trace|ConfigService|Using default config value for 'minimumage' defaultValue:'0'
2026-05-11 18:31:28.5|Trace|ConfigService|Using default config value for 'maximumsize' defaultValue:'0'
2026-05-11 18:31:28.5|Trace|ConfigService|Using default config value for 'retention' defaultValue:'0'
2026-05-11 18:31:28.5|Trace|ConfigService|Using default config value for 'rsssyncinterval' defaultValue:'15'
2026-05-11 18:31:28.5|Trace|Http|Res: 101 [GET] /api/v1/config/indexer: 200.OK (1 ms)
2026-05-11 18:31:28.5|Debug|Api|[GET] /api/v1/config/indexer: 200.OK (1 ms)
2026-05-11 18:31:29.2|Trace|Http|Req: 102 [GET] /api/v1/indexer/schema (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:29.2|Trace|Http|Res: 102 [GET] /api/v1/indexer/schema: 200.OK (49 ms)
2026-05-11 18:31:29.2|Debug|Api|[GET] /api/v1/indexer/schema: 200.OK (49 ms)
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health -> UpdateCheck
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health <- UpdateCheck
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health -> ApiKeyValidationCheck
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health <- ApiKeyValidationCheck
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health -> FpcalcCheck
2026-05-11 18:31:32.1|Trace|ConfigService|Using default config value for 'allowfingerprinting' defaultValue:'NewFiles'
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health <- FpcalcCheck
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health -> ImportMechanismCheck
2026-05-11 18:31:32.1|Trace|ConfigService|Using default config value for 'enablecompleteddownloadhandling' defaultValue:'True'
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health <- ImportMechanismCheck
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health -> ProxyCheck
2026-05-11 18:31:32.1|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False'
2026-05-11 18:31:32.1|Trace|HealthCheckService|Check health <- ProxyCheck
2026-05-11 18:31:32.1|Trace|EventAggregator|Publishing HealthCheckCompleteEvent
2026-05-11 18:31:32.1|Trace|EventAggregator|HealthCheckCompleteEvent -> HealthController
2026-05-11 18:31:32.1|Trace|EventAggregator|HealthCheckCompleteEvent <- HealthController
2026-05-11 18:31:32.1|Trace|EventAggregator|HealthCheckCompleteEvent > NotificationService
2026-05-11 18:31:32.1|Trace|EventAggregator|HealthCheckCompleteEvent <
NotificationService
2026-05-11 18:31:32.1|Trace|Http|Req: 103 [GET] /api/v1/health (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:32.1|Trace|Http|Res: 103 [GET] /api/v1/health: 200.OK (1 ms)
2026-05-11 18:31:32.1|Debug|Api|[GET] /api/v1/health: 200.OK (1 ms)
2026-05-11 18:31:38.9|Trace|Http|Req: 104 [POST] /api/v1/indexer/test?forceTest=true (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:39.0|Error|TripleTripleIndexer|Error connecting to T2Tunes API

[v3.1.2.4939] System.Exception: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.
---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Cannot determine the frame size or a corrupted frame was received.
at System.Net.Security.SslStream.GetFrameSize(ReadOnlySpan1 buffer) at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token) at System.Net.Security.SslStream.ReceiveHandshakeFrameAsync[TIOAdapter](CancellationToken cancellationToken) at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Tubifarry.Download.Base.BaseHttpClient.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Tubifarry.Download.Base.BaseHttpClient.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at Tubifarry.Download.Base.BaseHttpClient.GetStringAsync(String url, CancellationToken cancellationToken)
at Tubifarry.Indexers.TripleTriple.TripleTripleIndexer.Test(List`1 failures)

2026-05-11 18:31:39.0|Trace|LidarrErrorPipeline|Handling Exception
2026-05-11 18:31:39.0|Warn|LidarrErrorPipeline|FluentValidation.ValidationException: Validation failed:
-- BaseUrl: Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.

[v3.1.2.4939] FluentValidation.ValidationException: Validation failed:
-- BaseUrl: Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.
at Lidarr.Api.V1.ProviderControllerBase4.VerifyValidationResult(ValidationResult validationResult, Boolean includeWarnings) in ./Lidarr.Api.V1/ProviderControllerBase.cs:line 311 at Lidarr.Api.V1.ProviderControllerBase4.Test(TProviderDefinition definition, Boolean includeWarnings) in ./Lidarr.Api.V1/ProviderControllerBase.cs:line 302
at Lidarr.Api.V1.ProviderControllerBase`4.Test(TProviderResource providerResource, Boolean forceTest) in ./Lidarr.Api.V1/ProviderControllerBase.cs:line 229
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Lidarr.Http.Middleware.BufferingMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/BufferingMiddleware.cs:line 27
at Lidarr.Http.Middleware.IfModifiedMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/IfModifiedMiddleware.cs:line 40
at Lidarr.Http.Middleware.CacheHeaderMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/CacheHeaderMiddleware.cs:line 32
at Lidarr.Http.Middleware.StartingUpMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/StartingUpMiddleware.cs:line 37
at Lidarr.Http.Middleware.UrlBaseMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/UrlBaseMiddleware.cs:line 28
at Lidarr.Http.Middleware.VersionMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/VersionMiddleware.cs:line 28
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

2026-05-11 18:31:39.0|Warn|LidarrErrorPipeline|Invalid request Validation failed:
-- BaseUrl: Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.
2026-05-11 18:31:39.0|Trace|Http|Res: 104 [POST] /api/v1/indexer/test?forceTest=true: 400.BadRequest (94 ms)
2026-05-11 18:31:39.0|Debug|Api|[POST] /api/v1/indexer/test?forceTest=true: 400.BadRequest (94 ms)
2026-05-11 18:31:39.6|Trace|Http|Req: 105 [POST] /api/v1/indexer (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:39.7|Error|TripleTripleIndexer|Error connecting to T2Tunes API

[v3.1.2.4939] System.Exception: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.
---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Cannot determine the frame size or a corrupted frame was received.
at System.Net.Security.SslStream.GetFrameSize(ReadOnlySpan1 buffer) at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token) at System.Net.Security.SslStream.ReceiveHandshakeFrameAsync[TIOAdapter](CancellationToken cancellationToken) at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Tubifarry.Download.Base.BaseHttpClient.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Tubifarry.Download.Base.BaseHttpClient.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at Tubifarry.Download.Base.BaseHttpClient.GetStringAsync(String url, CancellationToken cancellationToken)
at Tubifarry.Indexers.TripleTriple.TripleTripleIndexer.Test(List`1 failures)

2026-05-11 18:31:39.7|Trace|LidarrErrorPipeline|Handling Exception
2026-05-11 18:31:39.7|Warn|LidarrErrorPipeline|FluentValidation.ValidationException: Validation failed:
-- BaseUrl: Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.

[v3.1.2.4939] FluentValidation.ValidationException: Validation failed:
-- BaseUrl: Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.
at Lidarr.Api.V1.ProviderControllerBase4.VerifyValidationResult(ValidationResult validationResult, Boolean includeWarnings) in ./Lidarr.Api.V1/ProviderControllerBase.cs:line 311 at Lidarr.Api.V1.ProviderControllerBase4.Test(TProviderDefinition definition, Boolean includeWarnings) in ./Lidarr.Api.V1/ProviderControllerBase.cs:line 302
at Lidarr.Api.V1.ProviderControllerBase`4.CreateProvider(TProviderResource providerResource, Boolean forceSave) in ./Lidarr.Api.V1/ProviderControllerBase.cs:line 87
at lambda_method281(Closure, Object, Object[])
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Lidarr.Http.Middleware.BufferingMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/BufferingMiddleware.cs:line 27
at Lidarr.Http.Middleware.IfModifiedMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/IfModifiedMiddleware.cs:line 40
at Lidarr.Http.Middleware.CacheHeaderMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/CacheHeaderMiddleware.cs:line 32
at Lidarr.Http.Middleware.StartingUpMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/StartingUpMiddleware.cs:line 37
at Lidarr.Http.Middleware.UrlBaseMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/UrlBaseMiddleware.cs:line 28
at Lidarr.Http.Middleware.VersionMiddleware.InvokeAsync(HttpContext context) in ./Lidarr.Http/Middleware/VersionMiddleware.cs:line 28
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

2026-05-11 18:31:39.7|Warn|LidarrErrorPipeline|Invalid request Validation failed:
-- BaseUrl: Cannot connect to T2Tunes instance: HTTP request failed for URL 'https://t2tunes.site/api/status': The SSL connection could not be established, see inner exception.
2026-05-11 18:31:39.7|Trace|Http|Res: 105 [POST] /api/v1/indexer: 400.BadRequest (82 ms)
2026-05-11 18:31:39.7|Debug|Api|[POST] /api/v1/indexer: 400.BadRequest (82 ms)
2026-05-11 18:31:41.9|Trace|Http|Req: 106 [GET] /api/v1/health (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:41.9|Trace|Http|Req: 107 [GET] /api/v1/diskspace (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:41.9|Trace|Http|Res: 106 [GET] /api/v1/health: 200.OK (1 ms)
2026-05-11 18:31:41.9|Debug|Api|[GET] /api/v1/health: 200.OK (1 ms)
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /Users/(removed)/Documents/music/
2026-05-11 18:31:41.9|Trace|Http|Req: 108 [GET] /api/v1/system/status (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/VM
2026-05-11 18:31:41.9|Trace|Http|Res: 108 [GET] /api/v1/system/status: 200.OK (2 ms)
2026-05-11 18:31:41.9|Debug|Api|[GET] /api/v1/system/status: 200.OK (2 ms)
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/Preboot
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/Update
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/xarts
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/iSCPreboot
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/Hardware
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/Data
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /System/Volumes/Data/home
2026-05-11 18:31:41.9|Debug|DiskProvider|path: /Library/Developer/CoreSimulator/Volumes/iOS_23A8464
2026-05-11 18:31:41.9|Trace|Http|Res: 107 [GET] /api/v1/diskspace: 200.OK (16 ms)
2026-05-11 18:31:41.9|Debug|Api|[GET] /api/v1/diskspace: 200.OK (16 ms)
2026-05-11 18:31:43.9|Trace|Http|Req: 109 [GET] /api/v1/log/file (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)
2026-05-11 18:31:43.9|Trace|Http|Res: 109 [GET] /api/v1/log/file: 200.OK (4 ms)
2026-05-11 18:31:43.9|Debug|Api|[GET] /api/v1/log/file: 200.OK (4 ms)
2026-05-11 18:31:46.3|Trace|Http|Req: 110 [GET] /logfile/lidarr.trace.txt (from ::1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15)

Log Checklist

  • I have enabled Trace logging in Lidarr before reproducing the issue

Screenshots

Screenshots Image

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions