Closed ngosang closed 3 years ago
Thanks for opening your first issue here! Be sure to follow the issue template!
The openssl in the image is openssl1.1.1-1ubuntu2.1~18.04.7
(https://github.com/linuxserver/docker-jackett/blob/master/package_versions.txt#L117), which is from this month (https://launchpad.net/ubuntu/+source/openssl/1.1.1-1ubuntu2.1~18.04.7). Have your users confirm their build-version. And update accordingly. https://github.com/linuxserver/docker-jackett#support-info
Regardless of openssl build, I can reproduce the issue (as described in op) in the latest image.
Just as a test, I locally built it on the focal baseimage, which has openssl version 1.1.1f-1ubuntu2.1
and the same error is happening (testing AnimeWorld with bogus credentials).
It looks like an upstream issue either with jackett or AnimeWorld
Maybe it's not OpenSSL, but this issue is related to the Docker image in some way. Without Docker it's working in all my servers.
Pulled down the latest jackett tarball on bare metal ubuntu bionic, no docker, ran the jackett_launcher.sh script and same issue:
aptalca@jenkins:~/Jackett$ ./jackett_launcher.sh
12-31 15:48:23 Info Starting Jackett v0.17.166
12-31 15:48:24 Info Environment version: 5.0.1 (/home/aptalca/Jackett/)
12-31 15:48:24 Info OS version: Unix 5.4.0.58 (64bit OS) (64bit process)
12-31 15:48:24 Info Jackett variant: CoreLinuxAmdx64
12-31 15:48:24 Info File /etc/issue: Ubuntu 18.04.5 LTS \n \l
12-31 15:48:24 Info Running in Docker: No
12-31 15:48:24 Info ThreadPool MaxThreads: 32767 workerThreads, 1000 completionPortThreads
12-31 15:48:24 Info App config/log directory: /home/aptalca/.config/Jackett
12-31 15:48:24 Info Using proxy: Disabled
12-31 15:48:24 Info Using FlareSolverr: No
12-31 15:48:24 Info Using HTTP Client: HttpWebClient2
12-31 15:48:24 Info Loading Native indexers ...
12-31 15:48:24 Info Loaded 96 Native indexers: abnormal, alpharatio, anidex, anidub, AniLibria, animebytes, Animedia, animetorrents, anthelion, avistaz, awesomehd, bakabt, bb, bitcityreloaded, bithdtv, bjshare, broadcasthenet, brokenstones, cgpeers, cinecalidad, cinemaz, darmowetorenty, dicmusic, digitalcore, divxtotal, elitetracker, epublibre, exoticaz, filelist, funfile, fuzer, gazellegames, gimmepeers, hdbitsapi, hdspace, hdtorrents, hebits, immortalseed, internetarchive, iptorrents, libble, lostfilm, magnetico, mejortorrent, milkie, morethantv, myanonamouse, ncore, nebulance, newpct, newrealworld, norbits, notwhatcd, orpheus, partis, passthepopcorn, piratethenet, pixelhd, polishtracker, pornolab, pretome, privatehd, psytorrents, rarbg, redacted, revolutiontt, rutracker, scenehd, scenetime, secretcinema, shazbat, ShizaProject, showrss, solidtorrents, speedapp, speedcd, superbits, thepiratebay, toloka, torrentbytes, torrentday, torrentech, torrentheaven, torrentleech, torrentmafya, torrentnetwork, torrentscsv, torrentseeds, torrentsyndikat, tvstore, tvvault, xspeeds, xthor, yts, zonaq, animetosho
12-31 15:48:24 Info Loading Cardigann indexers from: /home/aptalca/.config/cardigann/definitions/, /etc/xdg/cardigan/definitions/, /home/aptalca/Jackett/Definitions
12-31 15:48:26 Info Loaded 439 Cardigann indexers: chdbits, 0daykiev, concertos, torrentleech-pl, pornbits, audiobookbay, pornotor, thefallingangels, hamsterstudio, bitru, hdturk, shareisland, 1ptbar, turktorrent, torrentv, gtorrent, thegeeks, losslessclub, lemonhd, focusx, btsow, hdcenter, springsunday, mvgroupmain, moviesdvdr, erzsebet, torrentccf, mononokebt, tokyotosho, muziekfabriek, torrent-turk, movcr, asiancinema, theshinning, vsttorrents, uniondht, torrenting, selezen, chilebt, torrentparadise, xxxtorrents, bootytape, demonoid, pterclub, torrentbomb, hdhome, bithumen, sharewood, crazyspirits, piratbit, kinorun, shellife, 3dtorrents, hdcity, mteamtp2fa, rintornet, snowpt, hddolby, bwtorrents, hdonly, bluebirdhd, horrorsite, aidoruonline, backups, hdtime, cartoonchaos, torrentfunk, hdstreet, cinemamovies, onlyscene, sdbits, fanoin, btetree, iv-torrents, bigtorrent, aftershock, retroflix, 4thd, uhdbits, seedfile, riperam, rainbowtracker, tellytorrent, lechaudron, hdc, newretro, torrent9clone, yggtorrent, soulvoice, theoccult, film-paleis, pttime, scenerush, racingforme, immortuos, torrent-pirat, bigtower, mypornclub, totheglorycookie, pussytorrents, carphunter, beyond-hd, linuxtracker, yourbittorrent, kinonavse100, sktorrent, sexypics, wdt, dariustracker, efectodoppler, unionfansub, proaudiotorrents, pirateiro, torrentz2k, piratadigital, 2fast4you, pornforall, lastfiles, gktorrent, extratorrent-it, beyond-hd-oneurl, noname-club, bit-titan, ehentai, pctorrent, spiritofrevolution, Bittorrentfiles, puntotorrent, crnaberza, ebookparadijs, bitspyder, rapidzona, btgigs, magico, totallykids, romanianmetaltorrents, isohunt2, hdbitscom, mma-torrents, rutor, toros, underverse, polishsource, u2, dimeadozen, mesevilag, torrentbd, teamos, bithorlo, piratbitl, prostylex, genesismovement, yggcookie, dxdhd, animeworld, blutopia, noname-clubl, brasiltracker, skytorrentsclone, majomparade, cooltorrent, torrentoyunindir, zetorrents, bigfangroup, filebase, puurhollands, torrentview, gaytorrentru, torrentgalaxyorg, emtrek, torrentproject2, greekdiamond, torrentsurf, learnflakes, torrentsectorcrew, legacyhd, r3vwtf, RockBox, newstudio, epizod, eniahd, erzsebetpl, hdspain, torrentdownload, vsthouse, trupornolabs, sukebei-pantsu, hddisk, yingk, torrentlt, pier720, tvchaosuk, booktracker, hdzone, animeclipse, tjupt, funreleases, desireleasers, fullmixmusic, twilight, torrentfactory, hd4fans, zelkaorg, freetorrent, gigatorrents, arabafenice, p2pelite, nyaa-pantsu, rustorka, wihd, ilcorsaronero, thevault, documentarytorrents, asgaard, thehorrorcharnel, witchhunter, xwtorrents, xbytesv2, femdomcult, galeriens, skytorrentsclone2, empornium2fa, pwtorrents, itorrent, netcosmo, mteamtp, arenabg, proporno, speedmasterhd, funkytorrents, ptmsg, newstudiol, torrentslocal, Channelx, turkseed, metaltracker, sporthd, acgrip, uniongang, exkinoray, 3evils, glodls, btdb, hush, theplace, unlimitz, hdchina, redstartorrent, 1337x, tasmanit, torrent4you, cilipro, bibliotik, esharenet, theshow, pornolive, pthome, siambit, gay-torrents, trancetraffic, tekno3d, tlfbits, torrentdb, pornbay, 52pt, bitturk, btschool, generationfree, hdu, dxp, gamestorrents, eztv, cpasbienclone, cinematik, hdarea, libranet, onejav, mactorrents, marinetracker, classix, torrenthr, parnuxi, karagarga, torrent9, mixtapetorrent, shokweb, nitro, trezzor, nethd, amigosshare, madsrevolution, acgsou, torrentdownloads, frozenlayer, xxxtor, nntt, torrent-explosiv, haidan, hdtorrentsit, latinop2p, cinemageddon, woot, boxingtorrents, hdolimpo, finvip, audionews, ilcorsaroblu, torrentz2, borgzelle, moviezone, extremetorrents, cpasbien, omgwtftrackr, greekteam, myspleen, empornium, ttsweb, zamundanet, kickasstorrents-to, hachede, dmhy, Das-Unerwartete, exttorrents, ydypt, torrentland, sdkino, aniRena, datascene, ettv, kickasstorrent-kathow, concen, baibako, hdbits, gay-torrentsorg, peersfm, underversel, rintor, diablotorrent, desitorrents, torrentproject, darktracker, hdsky, oxtorrent, finelite, lesaloon, girotorrent, extremebits, keepfriends, ebooks-shares, ptsbao, 7torrents, pornorip, monova, torrentkitty, casatorrent, xiteme, beitai, hdme, extratorrent-cd, byrutor, gfxpeers, ibit, arabp2p, ccfbits, vizuk, racing4everyone, audiobooktorrents, sktorrent-org, theempire, purovicio, ztracker, mvgroupforum, teamhd, netlab, microbit, nyaasi, broadcity, tribalmixes, divteam, twilightszoom, lepornoinfo, rus-media, torlock, pornleech, kinozal, anisource, rutracker-ru, ptfiles, magnet4you, deildu, 3changtrai, hdreactor, fouducinema, xxxadulttorrent, ourbits, hellastz, linkomanija, aither, hdroute, asylumshare, pixelcove, idope, dragonworldreloaded, extremlymtorrents, dark-shadow, casstudiotv, rptorrents, sosulki, jptv, estone, nbtorrents, fantasticheaven, btdigg, jpopsuki, carpathians, legittorrents, zooqle, firebit, sukebeinyaasi, hdforever, p2pbg, hqsource, xwtclassics, speedtorrentreloaded, btnext, hon3yhd, totheglory, sportscult, theaudioscene, oshenpt, limetorrents, scenepalace, onlineselfeducation, pleasuredome, tapochek, acidlounge, crazyhd, insanetracker, mnv
12-31 15:48:26 Info Loaded 535 indexers in total
12-31 15:48:26 Info Adding aggregate indexer ('all' indexer) ...
12-31 15:48:26 Warn No XML encryptor configured. Key {36ecbb38-d2b5-441c-bf55-7139e537e8af} may be persisted to storage in unencrypted form.
12-31 15:48:26 Warn No XML encryptor configured. Key {36ecbb38-d2b5-441c-bf55-7139e537e8af} may be persisted to storage in unencrypted form.
12-31 15:48:26 Info Jackett startup finished in 3.901 s
Hosting environment: Production
Content root path: /home/aptalca/Jackett/Content
Now listening on: http://[::]:9117
Application started. Press Ctrl+C to shut down.
12-31 15:48:47 Error System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
---> Interop+Crypto+OpenSslCryptographicException: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
--- End of inner exception stack trace ---
at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
--- End of inner exception stack trace ---
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, 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.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at FlareSolverrSharp.ClearanceHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
at Jackett.Common.Utils.Clients.HttpWebClient2.Run(WebRequest webRequest) in /home/vsts/work/1/s/src/Jackett.Common/Utils/Clients/HttpWebClient2.cs:line 170
at Jackett.Common.Utils.Clients.WebClient.GetResultAsync(WebRequest request) in /home/vsts/work/1/s/src/Jackett.Common/Utils/Clients/WebClient.cs:line 184
at Jackett.Common.Indexers.BaseWebIndexer.RequestLoginAndFollowRedirect(String url, IEnumerable`1 data, String cookies, Boolean returnCookiesFromFirstCall, String redirectUrlOverride, String referer, Boolean accumulateCookies) in /home/vsts/work/1/s/src/Jackett.Common/Indexers/BaseIndexer.cs:line 509
at Jackett.Common.Indexers.CardigannIndexer.DoLogin() in /home/vsts/work/1/s/src/Jackett.Common/Indexers/CardigannIndexer.cs:line 495
at Jackett.Common.Indexers.CardigannIndexer.ApplyConfiguration(JToken configJson) in /home/vsts/work/1/s/src/Jackett.Common/Indexers/CardigannIndexer.cs:line 919
at Jackett.Server.Controllers.IndexerApiController.UpdateConfig(ConfigItem[] config) in /home/vsts/work/1/s/src/Jackett.Server/Controllers/IndexerApiController.cs:line 97
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
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>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jackett.Server.Middleware.CustomExceptionHandler.Invoke(HttpContext httpContext) in /home/vsts/work/1/s/src/Jackett.Server/Middleware/CustomExceptionHandler.cs:line 26 System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL.
---> Interop+Crypto+OpenSslCryptographicException: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
--- End of inner exception stack trace ---
at Interop.OpenSsl.DoSslHandshake(SafeSslHandle context, ReadOnlySpan`1 input, Byte[]& sendBuf, Int32& sendCount)
at System.Net.Security.SslStreamPal.HandshakeInternal(SafeFreeCredentials credential, SafeDeleteSslContext& context, ReadOnlySpan`1 inputBuffer, Byte[]& outputBuffer, SslAuthenticationOptions sslAuthenticationOptions)
--- End of inner exception stack trace ---
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, 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.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at FlareSolverrSharp.ClearanceHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
at Jackett.Common.Utils.Clients.HttpWebClient2.Run(WebRequest webRequest) in /home/vsts/work/1/s/src/Jackett.Common/Utils/Clients/HttpWebClient2.cs:line 170
at Jackett.Common.Utils.Clients.WebClient.GetResultAsync(WebRequest request) in /home/vsts/work/1/s/src/Jackett.Common/Utils/Clients/WebClient.cs:line 184
at Jackett.Common.Indexers.BaseWebIndexer.RequestLoginAndFollowRedirect(String url, IEnumerable`1 data, String cookies, Boolean returnCookiesFromFirstCall, String redirectUrlOverride, String referer, Boolean accumulateCookies) in /home/vsts/work/1/s/src/Jackett.Common/Indexers/BaseIndexer.cs:line 509
at Jackett.Common.Indexers.CardigannIndexer.DoLogin() in /home/vsts/work/1/s/src/Jackett.Common/Indexers/CardigannIndexer.cs:line 495
at Jackett.Common.Indexers.CardigannIndexer.ApplyConfiguration(JToken configJson) in /home/vsts/work/1/s/src/Jackett.Common/Indexers/CardigannIndexer.cs:line 919
at Jackett.Server.Controllers.IndexerApiController.UpdateConfig(ConfigItem[] config) in /home/vsts/work/1/s/src/Jackett.Server/Controllers/IndexerApiController.cs:line 97
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
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>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jackett.Server.Middleware.CustomExceptionHandler.Invoke(HttpContext httpContext) in /home/vsts/work/1/s/src/Jackett.Server/Middleware/CustomExceptionHandler.cs:line 26
We can fix the issue changing the default OpenSSL configuration => https://github.com/Jackett/Jackett/issues/10578#issuecomment-753300521
That is really insecure and not safe for the users. Ideally, the website should update their webserver config.
Alternatively, one could modify it (if they wish to take on the liability) via a custom script: https://blog.linuxserver.io/2019/09/14/customizing-our-containers/
It is quite safe. But I agree that the site should fix its server. We will contact the administrator to fix it. Leave the issue open for now.
Report: https://www.ssllabs.com/ssltest/analyze.html?d=animeworld.cx
The server was fixed by the sys admin. No changes required in this Docker image. Thank you for your help!
Great to hear. Thank you.
This bug is happening only in LinuxServer Docker image of Jackett. I guess it's because the OpenSSL version in the Docker image is really old.
Steps to reproduce:
Site => https://animeworld.cx/login.php
I'm one of the Jackett developers. I'm coming from https://github.com/Jackett/Jackett/issues/10578
Maybe updating the base image is enough. I didn't test it but you are already doing that in other images => https://github.com/linuxserver/docker-plex/pull/245/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R1