Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[yggtorrent] Exception (yggtorrent): Got redirected to another domain. Try changing the indexer URL to http://www2.yggtorrent.si/. Updated site link, please try again.: Parse error (Test) #10925

Closed
CyberPoison opened this issue Jan 25, 2021 · 21 comments

Comments

@CyberPoison
Copy link

Please use the search bar at the top of the page and make sure you are not creating an already submitted issue.
Check closed issues as well, because your issue may have already been fixed.

Please read our Contributing Guidelines before submitting your issue to ensure a prompt response to your bug.

Environment

OS: Ubuntu

.Net Runtime: Mono

.Net Version: unknown

Jackett Version: latest on Linuxserver/Jackett:latest on docker hub

Last Working Jackett Version: unknown

Are you using a proxy or VPN? [yes/no] no

Description

[List steps to reproduce the error and details on what happens and what you expected to happen]

Logged Error Messages

[Place any relevant error messages you noticed from the logs here.]

[Make sure you attach the full logs with your personal information removed in case we need more information]

Screenshots

[Place any screenshots of the issue here if needed]

@nicovaneberg
Copy link

I changed the http:// to https:// and it was solved;

@CyberPoison
Copy link
Author

CyberPoison commented Jan 25, 2021

It doesn't worked, on my side

[yggtorrent] Exception (yggtorrent): Got redirected to another domain. Try changing the indexer URL to https://www2.yggtorrent.si/. Updated site link, please try again.: Parse error (Test)

@Floflobel
Copy link

Same error

@ilike2burnthing
Copy link
Contributor

'Latest', particularly where Docker is concerned, is meaningless. Please scroll to the bottom of Jackett's UI and find the version number there.

Assuming you're using v0.17.354 (if not, update), run 5 tests (test, wait for error, test, wait for error, etc.) to see if it resolves itself. If not, remove yggtorrent from Jackett, restart the Jackett container, and try adding yggtorrent again.

@Floflobel
Copy link

Floflobel commented Jan 25, 2021

Jackett Version v0.17.354

I tried 5 times in a row to do the test but it didn't work.

I then removed yggtorrent from the list and reconfigured it.

I also saw that the url had changed and I tried replacing it with https://ww3.yggtorrent.si/

All my tests have not changed anything.

Edit: I just changed the url back to https://www2.yggtorrent.si/ and it works! Thank

@LoicMoerman
Copy link

Hi same error her, sometings it work but after a short time, the error finally reappear. I tried every URL possible and I'm on the last version

@ilike2burnthing
Copy link
Contributor

Only use https://www2.yggtorrent.si/ no other link is going to work. Then try #10925 (comment)

@CyberPoison
Copy link
Author

It worked for now let's check how much time it will be working without issues 🤔

@ilike2burnthing
Copy link
Contributor

Reopen if issue continues and the above doesn't resolve it.

@dunamos
Copy link

dunamos commented Jan 26, 2021

Hi, I've tried the solution mentioned on this comment : #10925 (comment)

It didn't work, but every time I change the URL to https://www.yggtorrent.si/ instead of https://www2.yggtorrent.si/ I am able to successfully connect to the tracker (the test is successful). Though, Jackett is changing the URL back to https://www2.yggtorrent.si/ automatically after a short period of time.

Jackett Version v0.17.370 with docker

@Potjoe-97
Copy link

Same issue here, but Jackett is changing the URL to the http version of the site. Manually editing for the https URL, and it works until the change is reverted back. Jackett Version v0.17.370 with docker

@ilike2burnthing
Copy link
Contributor

@dunamos change the site link to https://www.yggtorrent.si/ click okay, and then open the configuration panel again; the site link will be https://www2.yggtorrent.si/, because www.* is blocked.

The same thing can be achieved by opening the configuration panel and clicking okay (basically manually logging back in).

@dunamos running the test multiple times should achieve the same thing.

@RudyBzhBzh
Copy link
Contributor

Same here.
The URL changes alternatively from http to https. If you test/test/test, at a time, it works, but after a few minutes the issue comes back. The fact is that it does not recover on his own once you are in this situation (from radarr & sonarr, indexer is down...).
Do I miss something ?

@Toomaaa
Copy link

Toomaaa commented Jan 26, 2021

To answer to the question of @ilike2burnthing on my case, yes I tried to run 5+ tests, all failed.

@RudyBzhBzh
Copy link
Contributor

After doing some test/test/test (from radarr or jackett, nevermind... to "reactivate" the connection, which is working for me) :

Jan 26 21:38:18 grabber jackett[10759]: 01-26 21:38:18 Debug WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: https://www2.yggtorrent.si/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date)
Jan 26 21:38:19 grabber jackett[10759]: 01-26 21:38:19 Debug WebClient(HttpWebClient2): Returning OK => 140596 bytes

=> Fine, it's up for Radarr, page retrieved, parsed, ...

Wait some (short) minutes, do a search from radarr :

Jan 26 21:41:19 grabber jackett[10759]: 01-26 21:41:19 Debug WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: https://www2.yggtorrent.si/engine/search?category=all&name=%22ABCDEFG%22%20%222019%22&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date)
Jan 26 21:41:20 grabber jackett[10759]: 01-26 21:41:20 Debug ga=xxxxxxxxxxxxxxxxxxxxxxxx; path=/
Jan 26 21:41:20 grabber jackett[10759]: 01-26 21:41:20 Debug WebClient(HttpWebClient2): Returning TemporaryRedirect => http://www2.yggtorrent.si/engine/search?category=all&name="ABCDEFG" "2019"&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date&attempt=1 180 bytes
Jan 26 21:41:20 grabber jackett[10759]: <html>
Jan 26 21:41:20 grabber jackett[10759]: <head><title>307 Temporary Redirect</title></head>
Jan 26 21:41:20 grabber jackett[10759]: <body bgcolor="white">
Jan 26 21:41:20 grabber jackett[10759]: <center><h1>307 Temporary Redirect</h1></center>
Jan 26 21:41:20 grabber jackett[10759]: <hr><center>nginx</center>
Jan 26 21:41:20 grabber jackett[10759]: </body>
Jan 26 21:41:20 grabber jackett[10759]: </html>
Jan 26 21:41:20 grabber jackett[10759]:
Jan 26 21:41:20 grabber jackett[10759]: 01-26 21:41:20 Error Jackett.Common.IndexerException: Exception (yggtorrent): Got redirected to another domain. Try changing the indexer URL to http://www2.yggtorrent.si/. Updated site link, please try again.
Jan 26 21:41:20 grabber Radarr[2285]: [Error] Torznab: An error occurred while processing indexer feed. http://192.168.1.9:9117/api/v2.0/indexers/yggtorrent/results/torznab/api?t=movie&cat=2000&extended=1&apikey=xxxxxxxxxxxxxxxxx&offset=0&limit=100&q=ABCDEFG 2019
Jan 26 21:41:20 grabber Radarr[2285]: [v3.0.2.4369] NzbDrone.Core.Indexers.Torznab.TorznabException: Torznab error detected: Jackett.Common.IndexerException: Exception (yggtorrent): Got redirected to another domain. Try changing the indexer URL to http://www2.yggtorrent.si/. Updated site link, please try again.

OK... YGG redirects from HTTPS to HTTP (don't know why...)... Jackett throws the error to Radarr.
Is the indexer directly excluded from Radarr due to this 1st error ?
Also is it normal that Jackett throws directly the error to Radarr without trying to recover first ?

Just after, Jackett seems to retry things on his own :

Jan 26 21:41:33 grabber jackett[10759]: 01-26 21:41:33 Debug WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: http://www2.yggtorrent.si/)
Jan 26 21:41:33 grabber jackett[10759]: 01-26 21:41:33 Debug WebClient(HttpWebClient2): Returning Moved => https://www2.yggtorrent.si/ 0 bytes
Jan 26 21:41:33 grabber jackett[10759]: 01-26 21:41:33 Debug updating Cookies  =>
Jan 26 21:41:33 grabber jackett[10759]: 01-26 21:41:33 Debug Saving new config file: Jackett/Indexers/yggtorrent.json.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.tmp
Jan 26 21:41:33 grabber jackett[10759]: 01-26 21:41:33 Debug WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: https://www2.yggtorrent.si/)
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug __cfduid=xxxxxxxxxxxxxxxxxxxxxx; expires=Thu, 25-Feb-21 20:41:33 GMT; path=/; domain=.yggtorrent.si; HttpOnly; SameSite=Lax; Secure
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug ga=xxxxxxxxxxxxxxxxxxxxxx; path=/
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug WebClient(HttpWebClient2): Returning TemporaryRedirect => http://www2.yggtorrent.si/?attempt=1 180 bytes
Jan 26 21:41:34 grabber jackett[10759]: <html>
Jan 26 21:41:34 grabber jackett[10759]: <head><title>307 Temporary Redirect</title></head>
Jan 26 21:41:34 grabber jackett[10759]: <body bgcolor="white">
Jan 26 21:41:34 grabber jackett[10759]: <center><h1>307 Temporary Redirect</h1></center>
Jan 26 21:41:34 grabber jackett[10759]: <hr><center>nginx</center>
Jan 26 21:41:34 grabber jackett[10759]: </body>
Jan 26 21:41:34 grabber jackett[10759]: </html>
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: http://www2.yggtorrent.si/?attempt=1)
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug WebClient(HttpWebClient2): Returning Moved => https://www2.yggtorrent.si/?attempt=1 0 bytes
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: https://www2.yggtorrent.si/?attempt=1)
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug ygg_=xxxxxxxxxxxxxxxxxxxxx; expires=Tue, 26-Jan-2021 22:41:34 GMT; Max-Age=7200; path=/; domain=.yggtorrent.si; secure; HttpOnly
Jan 26 21:41:34 grabber jackett[10759]: 01-26 21:41:34 Debug WebClient(HttpWebClient2): Returning OK => 64219 bytes

Jackett gets the full page here but Radarr doesn't know...
I don't know what is the status (UP ? DOWN ? On HTTP ? HTTPS ?) of the indexer from Jacket & Radarr point of view here.

Trying to search something from Radarr some minutes after :

Jan 26 22:05:19 grabber jackett[10759]: 01-26 22:05:19 Error Error on 20210126220519 for YGGtorrent.txtJackett.Common.ExceptionWithConfigData: Got redirected to another domain. Try changing the indexer URL to https://www2.yggtorrent.si/. Updated site link, please try again.
Jan 26 22:05:19 grabber Radarr[2285]: [Error] Torznab: An error occurred while processing indexer feed. http://192.168.1.9:9117/api/v2.0/indexers/yggtorrent/results/torznab/api?t=movie&cat=2000&extended=1&apikey=xxxxxxxxxxxxxxxxxxxxxxxx&offset=0&limit=100&q=ABCDEFG 2019
Jan 26 22:05:19 grabber Radarr[2285]: [v3.0.2.4369] NzbDrone.Core.Indexers.Torznab.TorznabException: Torznab error detected: Jackett.Common.IndexerException: Exception (yggtorrent): Got redirected to another domain. Try changing the indexer URL to https://www2.yggtorrent.si/. Updated site link, please try again.

Here, the redirection seems to be on the other side : HTTPS => HTTP. Meaning Jackets sets URL to HTTP ?
Again, error is thrown to Radarr and, at this time, for sure, indexer is considered down by Radarr and must be unlocked manually doing "test/test/test".

Hope some of these elements could help for invetigations...

@ilike2burnthing
Copy link
Contributor

ilike2burnthing commented Jan 26, 2021

Thanks @RudyBzhBzh.

Radarr/Sonarr/*arr will continue to try to use indexers which fail, but will increase the delay after successive failures, e.g. 15mins > 30mins > 1hr > ... > 24hrs (figures are just examples, I'm not sure what the steps are, but the longest is 24hrs). So presumably this would actually fix itself when using the *arrs, it just may take an hour or few (which isn't great and makes testing it annoying).

I'm currently running a few tests to see if I can get it resolved, but as you saw the issue is that yggtorrent is appending ?attempt=1 to each request (same happens in browser), and switching between http/https in the process (which is bad for a site that uses login credentials). If we try to use ?attempt=1 in Jackett it just changes to ?attempt=2 (and then 3, 4, 5, etc.). This wasn't an issue when the site was using Cloudflare DDoS Protection.

Annoyingly it seems the solution (at least until we can handle 307 temporary redirects better) is to revert back to using separate Site link and Search and download URL options, which was an issue when Cloudflare DDoS Protection was used.

@ilike2burnthing
Copy link
Contributor

Simple fix which shouldn't be necessary, but ygg gonna ygg... 🙄

Available in the next release (hopefully up in a few mins).

@ilike2burnthing
Copy link
Contributor

v0.17.383

@RudyBzhBzh
Copy link
Contributor

Thanks, seems to be OK for me.

@RudyBzhBzh
Copy link
Contributor

RudyBzhBzh commented Jan 27, 2021

Just to react to your comment @ilike2burnthing :

Radarr/Sonarr/*arr will continue to try to use indexers which fail, but will increase the delay after successive failures, e.g. 15mins > 30mins > 1hr > ... > 24hrs (figures are just examples, I'm not sure what the steps are, but the longest is 24hrs). So presumably this would actually fix itself when using the *arrs, it just may take an hour or few (which isn't great and makes testing it annoying).

I tried to find some details on how it works on *arr but didn't find the piece of code doing this...
What I know, from my tests, is that a failed indexer is not requested on manual searches. Do these retries are made on RSS refresh only (increasing delay as explained : 15min => 30min => 1h ...) ? Or is it another dedicated test/retry connection... ?
Would be interesting to know how it is handled on *arr side.

Because, an information I found looking for these details is the following comment : Sonarr/Sonarr#1539 (comment)

Sonarr doesn't immediately block for a long period of time, it starts low and increases for every subsequent failure. A successful response stops escalating the block, but doesn't immediately clear it.

The 1st part confirms what you're saying about increasing delay between retries.
But the 2nd part is the most interesting : "A successful response stops escalating the block, but doesn't immediately clear it"

Considering that YGG fails/success/fails/success/... could it be possible that *arr never consider it recovered (no clear)... and gets excluded for a loooong time because of these recurring redirects/errors.

Well, for now, it's solved (redirect is correctly handled by Jackett and error is not thrown to *arr) but it could be interesting considerations for the next time.

@ilike2burnthing
Copy link
Contributor

Not sure if the retries are restricted to RSS refresh, or if manual searches can trigger them as well (but only after a set amount of time), the documentation doesn't really explain much beyond that comment:

Likewise for how many (if any) successful searches it takes to clear the block, but yes, given how short a window the indexer had before another failure, that would explain why the *arrs never recovered ygg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants