Cannot Download NZBs from Newznab

Hi there,

Using Ubuntu 14.04.2 LTS, mono version 3.10.0, sonarr version 2.0.0.2850. This is a fresh install and I’ve yet to get it to work appropriately.

I’m getting the following errors when attempting to search and download an NZB file:

Downloading nzb for episode ‘Show Removed’ failed (getnzb/3c7f6f140ec824d4a28d876d429afafb.nzb&i=1&r=apikeyremoved): Error: NameResolutionFailure

Exception
System.Net.WebException: Error: NameResolutionFailure
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in :0
at System.Net.HttpWebRequest.GetResponse () [0x00000] in :0
at NzbDrone.Common.Http.HttpClient.Execute (NzbDrone.Common.Http.HttpRequest request) [0x000e6] in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Common\Http\HttpClient.cs:77


It would seem that this is a DNS issue, but:

  1. DNS is working fine on my box, I can ping outside hostnames just fine, but I don’t have a local DNS server.
  2. The newznab server is on the same box as sonarr. I’ve tried using localhost and its private IP address, both produce the same error messages. Same result with trying to use the /etc/hosts file.

Thanks for any help you can provide :slight_smile: Really appreciate it.

Doing some further research - I was able to use a public newznab instance and that was successful. Looks like its just having trouble recognizing my newznab server.

Hm :frowning: Just tried with Sickbeard and its working fine. Also I tried using just the IP address instead of the hostname for that public indexer, still worked fine.

Sorry to spam this, but I turned on mono debugging and was able to see this:

[Info] NzbSearchService: Searching 1 indexers for [Show : S06E04]
[Info] DownloadDecisionMaker: Processing 3 reports
[Error] Nzbget: Downloading nzb for episode ‘Show’ failed (getnzb/45374d044ca2db54846d0a39efff1aa2.nzb&i=1&r=apikey)

System.Net.WebException: Error: NameResolutionFailure
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in :0
at System.Net.HttpWebRequest.GetResponse () [0x00000] in :0
at NzbDrone.Common.Http.HttpClient.Execute (NzbDrone.Common.Http.HttpRequest request) [0x000e6] in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Common\Http\HttpClient.cs:77

[Warn] ProcessDownloadDecisions: Couldn’t add report to download queue.
Show

NzbDrone.Core.Exceptions.ReleaseDownloadException: Downloading nzb failed —> System.Net.WebException: Error: NameResolutionFailure
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in :0
at System.Net.HttpWebRequest.GetResponse () [0x00000] in :0
at NzbDrone.Common.Http.HttpClient.Execute (NzbDrone.Common.Http.HttpRequest request) [0x000e6] in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Common\Http\HttpClient.cs:77
— End of inner exception stack trace —
at NzbDrone.Core.Download.UsenetClientBase1[NzbDrone.Core.Download.Clients.Nzbget.NzbgetSettings].Download (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode) [0x00064] in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Download\UsenetClientBase.cs:57 at NzbDrone.Core.Download.DownloadService.DownloadReport (NzbDrone.Core.Parser.Model.RemoteEpisode remoteEpisode) [0x000fb] in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Download\DownloadService.cs:44 at NzbDrone.Core.Download.ProcessDownloadDecisions.ProcessDecisions (System.Collections.Generic.List1 decisions) [0x00146] in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Download\ProcessDownloadDecisions.cs:74


Key line is this:

[Error] Nzbget: Downloading nzb for episode ‘Show’ failed (getnzb/45374d044ca2db54846d0a39efff1aa2.nzb&i=1&r=apikey)

That makes it seem like its not sending the whole URL to NZBGet, just whatever comes after the domain name/ip address, which would totally explain the error message. Hmmm.

OK, last reply because I figured out what was wrong. My newznab installation is running on nginx. I access it mostly from inside my network, but I give access to a few friends on the outside as well. Because of this, I keep the “server_name” directive in the nginx site configuration file set to blank. This way, the links in the page redirect correctly no matter where you are trying to access it from.

However, this is not great for Sonarr, because it seems to want this directive set in order to form the URL it sends to NZBGet. Once I set the “server_name” directive to my local IP, Sonarr was able to add that to the URL it queried, and it successfully grabbed the NZB from my newznab.

Not sure if this can be fixed from a code perspective, but anyway, thanks for listening to me! And thanks for your time and effort. If this seems suitable to replace Sickbeard, expect a donation coming your way.

Just to clarify the issue is your newznab server returns relative URLs, which Sonarr is treating as full URLs?

That sounds like that might be the case, yes. Running nginx 1.4.6-1

1 Like

So I have exactly the same problem with the NZB server “https://usenet-crawler.com” when I use the DNS name of the site is doesn’t work, but when i fill in the IP it does.

All other NZB server don’t work either way. Is there a solution for this? It has always worked, it just stopped working a few hours ago :frowning:

I install updates automaticly so that shouldn’t be the problem.

You will need to talk to usenet-craweler, their API is reporting the URLs with the IP instead of the DNS name and if you ignore the cert error it takes you to the login page.

Alright, so currently all my news server are useless? Because when i hit the test button on them I get the same error everywhere. Or can I fix this in some way? Like add a DNS record to the domain? I run a local DNS server.

Indexers or News servers? Those are two entirely different things. If you mean indexers I can’t say because I don’t know what is wrong with them, please pastebin some debug logs.

You can’t fix the usenet-crawler issues, its a problem with their API returning the wrong URLs, nothing to do with DNS.

Sorry, was talking about indexers.

This is a part of the log when I hit the test button for NZBFinder. Can you read something from it or do you need another log?

15-3-23 17:32:30.2|Warn|Newznab|Unable to connect to indexer: HTTP request failed: [429:429] [GET] at [https://nzbfinder.ws/api?t=tvsearch&cat=5030,5040&extended=1&apikey=&offset=0&limit=100]

NzbDrone.Common.Http.HttpException: HTTP request failed: [429:429] [GET] at [https://nzbfinder.ws/api?t=tvsearch&cat=5030,5040&extended=1&apikey=&offset=0&limit=100]
at NzbDrone.Common.Http.HttpClient.Execute(HttpRequest request) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Common\Http\HttpClient.cs:line 124
at NzbDrone.Core.Indexers.HttpIndexerBase1.FetchPage(IndexerRequest request, IParseIndexerResponse parser) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\HttpIndexerBase.cs:line 195 at NzbDrone.Core.Indexers.HttpIndexerBase1.TestConnection() in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\HttpIndexerBase.cs:line 211

<?xml version="1.0" encoding="UTF-8"?>

15-3-23 17:32:30.3|Warn|NzbDroneErrorPipeline|Invalid request Validation failed:
– Unable to connect to indexer, check the log for more details

Same issue NZBndx:

15-3-23 17:36:22.4|Warn|Newznab|Unable to connect to indexer: HTTP request failed: [429:429] [GET] at [http://nzbndx.com/api?t=tvsearch&cat=5030,5040&extended=1&apikey=&offset=0&limit=100]

NzbDrone.Common.Http.HttpException: HTTP request failed: [429:429] [GET] at [http://nzbndx.com/api?t=tvsearch&cat=5030,5040&extended=1&apikey=&offset=0&limit=100]
at NzbDrone.Common.Http.HttpClient.Execute(HttpRequest request) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Common\Http\HttpClient.cs:line 124
at NzbDrone.Core.Indexers.HttpIndexerBase1.FetchPage(IndexerRequest request, IParseIndexerResponse parser) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\HttpIndexerBase.cs:line 195 at NzbDrone.Core.Indexers.HttpIndexerBase1.TestConnection() in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\HttpIndexerBase.cs:line 211

<?xml version="1.0" encoding="UTF-8"?>

15-3-23 17:36:22.4|Warn|NzbDroneErrorPipeline|Invalid request Validation failed:
– Unable to connect to indexer, check the log for more details

You’ve hit your API call limit for those indexers, 429 is the error code they return when that limit is hit.

That’s awkward :stuck_out_tongue: thank you for your help! I love Sonarr :smile:

One more question. What does this mean then? When I try to save one of these not working indexers with another API.

15-3-23 18:10:50.5|Warn|Newznab|Unable to connect to indexer: Data at the root level is invalid. Line 1, position 1.

System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
at NzbDrone.Core.Indexers.Newznab.NewznabRssParser.PreProcess(IndexerResponse indexerResponse) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\Newznab\NewznabRssParser.cs:line 16
at NzbDrone.Core.Indexers.RssParser.ParseResponse(IndexerResponse indexerResponse) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\RssParser.cs:line 40
at NzbDrone.Core.Indexers.HttpIndexerBase1.FetchPage(IndexerRequest request, IParseIndexerResponse parser) in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\HttpIndexerBase.cs:line 197 at NzbDrone.Core.Indexers.HttpIndexerBase1.TestConnection() in m:\BuildAgent\work\6c3239faf2b92630\src\NzbDrone.Core\Indexers\HttpIndexerBase.cs:line 211

15-3-23 18:10:50.5|Warn|NzbDroneErrorPipeline|Invalid request Validation failed:
– Unable to connect to indexer, check the log for more details

API is down or returning garbage. Check out the indexers forums for an announcement.