Jackett: [yggtorrent] Login failed: No form found on https://www2.yggtorrent.gg/ using form selector

Created on 12 Feb 2019  路  74Comments  路  Source: Jackett/Jackett

Jackett version: 0.10.743.0
Mono version (if not using Windows):


Yggtorrent.gg is back online but unfortunately I can't add it to jackett. Got this error.

An error occured while updating this indexer
Login failed: No form found on https://www2.yggtorrent.gg/ using form selector #user-login

Site link in config page is set to : https://www2.yggtorrent.gg/
I can connect to Yggtorrent.gg website and login in with my credit without issue

Here's the log :

Jackett.Common.ExceptionWithConfigData: Login failed: No form found on https://www2.yggtorrent.gg/ using form selector #user-login
  at Jackett.Common.Indexers.CardigannIndexer.DoLogin () [0x004b2] in <edfbc72ff3b7433b91bb8ad913f3ae28>:0 
  at Jackett.Common.Indexers.CardigannIndexer.ApplyConfiguration (Newtonsoft.Json.Linq.JToken configJson) [0x00079] in <edfbc72ff3b7433b91bb8ad913f3ae28>:0 
  at Jackett.Server.Controllers.IndexerApiController.UpdateConfig (Jackett.Common.Models.DTO.ConfigItem[] config) [0x0012d] in <70dbf04c0e3a481e9fbb5872a656477c>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute (Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.Extensions.Internal.ObjectMethodExecutor executor, System.Object controller, System.Object[] arguments) [0x00071] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync () [0x00131] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync () [0x0009e] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow (Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext context) [0x0001b] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next (Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker+State& next, Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker+Scope& scope, System.Object& state, System.Boolean& isCompleted) [0x00382] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync () [0x0002f] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter () [0x0009f] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow (Microsoft.AspNetCore.Mvc.Filters.ResourceExecutedContext context) [0x0001b] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next (Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+State& next, Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+Scope& scope, System.Object& state, System.Boolean& isCompleted) [0x00840] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync () [0x0002f] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync () [0x0012e] in <b4ef600f4a594fe2865a8f97f915fb9d>:0 
  at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke (Microsoft.AspNetCore.Http.HttpContext httpContext) [0x001cb] in <6092a16d93814eba828b517a2b132f80>:0 
  at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke (Microsoft.AspNetCore.Http.HttpContext context) [0x00384] in <427697fe42b7459ba5302fb76d339d3b>:0 
  at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke (Microsoft.AspNetCore.Http.HttpContext context) [0x0043e] in <f352e566abf6421e87eafbcf57a0b237>:0 
  at Jackett.Server.Middleware.CustomExceptionHandler.Invoke (Microsoft.AspNetCore.Http.HttpContext httpContext) [0x0008a] in <70dbf04c0e3a481e9fbb5872a656477c>:0 
Needs Investigations

Most helpful comment

The old dirty workaround seems to give better results. We'll submit a PR to revert.

It's still not ideal, but we can't do much better until YggTorrent provides us a proper API or a way to bypass CloudFlare for Jackett. I tried to ask them on Twitter, but they don't seem to care.

All 74 comments

It's not a duplicate, similar task was closed 20 days ago, but current issue occurs since Yggtorrent is back online (so today)

Same here since many weeks...

Just pulled the latest jackett (0.10.743.0). Same problem on my end.

Hello,

I have the same issue between Jackett and YggTorrent. YggTorrent team has changed its protection against DDoS, it's CloudFlare. I using CloudFlare too and some network flows are restricted or blocked. Is it possible that this change is an impact ?

My version of Jackett is the last pre-update : 0.10.756.

In my logs I have the login form and the ID is user-login so I don't know why I can this error.

<form action="/user/login" method="post" id="user-login">
<input type="text" name="id" placeholder="Pseudo" required="" />
<input type="password" name="pass" placeholder="Mot de passe" required="" autocomplete="off" />
<div id="ban_msg_login" style="display: none;"><center style="margin: 10px 10px; color: #ff3f3f; font-weight: bold;">Votre compte a 茅t茅 banni! <br><span style="font-weight: bold; font-size: 15px; color: #582a2a;">Fin du ban : <span class="ban_duration"></span></span> <a id="ban_reason" style="font-weight:bold; font-size: 13px;">Voir le motif</a></center></div>
<div id="login_msg_pass" style="display: none;"><center style="margin: 10px 10px; color: #ff3f3f; font-weight: bold;">脡chec de connexion . V茅rifiez vos identifiants<br></center></div>
<div id="login_msg_mail" style="display: none;"><center style="margin: 10px 10px; color: #ff3f3f; font-weight: bold;">Vous n'avez pas confirmer votre compte 脿 l'aide du mail que nous vous avons envoy茅<br></center></div>
<center id="resetpass" style=" margin: 10px 10px;  font-weight: bold;"><a href="https://www2.yggtorrent.gg/user/reset_password">Mot de passe oubli茅 ?</a></center>
<input type="hidden" name="ci_csrf_token" value="">
<center><a href="https://twitter.com/yggtorrent_com?ref_src=twsrc%5Etfw" class="twitter-follow-button" data-size="large" data-lang="fr" data-show-count="false">Follow @yggtorrent_com</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></center>
<button type="submit">Connexion <i class="ico_unlock"></i></button>
</form>

There's a discussion on cloudflare at #4562.

The www2 domain used to work but they seem to have protected it since the last DDoS attack this afternoon.

Hey,

I tried to revert back to the file where we had the 2 urls, 1 for login, and 1 for search/download,

I'm able to login because login is done via : https://www.yggtorrent.gg/

but for search and download, it doesn't work for now, even on cloudflare australia.

Is jackett able to fake it's user agent or randomize it ? Maybe ygg is ddos limiting on user agent Jackett ?
Or maybe we only have to wait a bit as ygg does not want to be saturated by returning users hammering the website for now.

Exception (yggtorrent): Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.: Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.

@BenoitAnastay your account is banned

@BenoitAnastay your account is banned

I just fail my code block, my account isn't banned

@flightlevel basically the cardigann form processor chokes on YGG.
When the form processor goes looking for the form selector, it chokes because the document it was provided is a 307 temporary redirect.
I don't suppose there is a way to handle this? possible earlier during the http GET where we could trap the 307 and wait for the redirect to complete?
I don't know, just whistling in the wind....

Yeah I think you could but the hack we did with @Hakujou last time worked fine, using one url to login (no cloudflare) and another for search and download (cloudflare)

but now, from my server, I can browse torrents via firefox (i do have some cloudflare captcha sometimes), but not with jackett (i have it all the time !)

Like I said, maybe user agent check ?

client.DefaultRequestHeaders.Add("User-Agent", "Jackett/" + configService.GetVersion());

you can add headers like this:

  login:
    method: form
    headers:
      user-agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
    path: /

and

  search:
    headers:
      user-agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"]
    followredirect: true
    paths:

but they don't make a difference in this case.

Well... just installed an instance at scaleway, put my docker jackett on it (sclemenceau/docker-jackett) as it still uses the hack for ygg and voila it works .... !

Cloudflare ddos protection is blocking my first server IP range for the moment...

CloudFlare check is more advanced than just the user agent, no surprise it makes no difference. It also uses ReCaptcha as check if needed (with multiple severity, which includes simple checkbox with mouse behavior analysis and can go up to multiple "click on the bus/bikes/etc").

So @xfouloux you used the old hack with two URI ? Can you revert the commits I made to delete it and send a PR ?
Ygg worked for me yesterday (with single URI) but is broken again this morning.

I have the same issue since yesterday middle/end of afternoon. It worked at the beginning in afternoon and since I have the same issue about the login fail whatever I try...

Same for me... Any solution ?

The old dirty workaround seems to give better results. We'll submit a PR to revert.

It's still not ideal, but we can't do much better until YggTorrent provides us a proper API or a way to bypass CloudFlare for Jackett. I tried to ask them on Twitter, but they don't seem to care.

done with #4677

also, about the API, i don't think we will ever get one, they make money and pay servers with the ads on the website so it may not be a good thing for them to give us API

That's true. There are ways to monetize API (make API calls payant) but I doubt they'll ever implement it. Too bad.

Same issue for me ....

Make sure you're running v0.10.774 and wait, it can be triggered sometimes, but eventually it'll work.

i don't find v0.10.774 on docker .... how i can update to this version ?
On docker, this is 0.10.759.0

Wait for the Docker update. It is maintained by linuxserver, they usually build it everyday but it's outside of our scope, we can't do anything.

OK i'll wait :) thx for you answer !

Is it working for someone now ? (v0.10.775)
Because I have this error every time :

Jackett.Common.IndexerException: Exception (yggtorrent): Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett. ---> System.Exception: Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.

But the login seems good

It's OK for me !

So what about if Jackett is running as package on a Synology (whithout Docker) ?

Then you'll have to wait for the package maintainer to update it.

@GrayaMax You trigger CloudFlare protection. We can't do anything about it. Just wait and hopefully it'll be better someday.

Hi !

I'm using the version 0.10.775.0 (docker image from linuxserver).

And I still get this error :
Exception (yggtorrent): Login failed: No form found on https://www2.yggtorrent.gg/ using form selector #user-login: Parse error

And, in logs, I can find this line <form action="/user/login" method="post" id="user-login"> which mean, the error is not, in my case, due to CloudFlare or nor a change in the form.

May be there is another parse error, preventing Yggtorrent to find the form.

Hope this helps.

It is due to CloudFlare. When it's triggered, no redirection happens so Jackett tries to find YggTorrent login form in CloudFlare captcha page, which obviously is not there.

Hum, there is something I don't understand, if Cloudflare prevents Jackett to get the page, how can you explain that the entire HTML of this page is logged by Jackett ?

One URI is bypassing CloudFlare but both are required as one works for search and the other one for login.

There's a weird behaviour: Search doesn't return anything more recent than 240d.
Can other users confirm ? @xfouloux ?

EDIT: Doesn't seem to happen to every search. I can reproduce this behavior with "The Good Doctor", but not "The Blacklist". Weird.

I am not getting any manual search results with Version 0.10.775.0. What url's (site and search) are you using?

To get some results, I deleted yggtorrent from my list and now I can't figure out how to add it back. I always get the error (Login failed: No form found on https://www2.yggtorrent.gg/ using form selector #user-login) and the indexer is not added when clicking Close or Okay. How do you add it back?

Thanks.

Yes, right now it's buggy, you have to edit the config file manually, otherwise it will fail on save.

Site link should be set to: https://www.yggtorrent.gg
Search URL should be set to: www2.yggtorrent.gg

This seems to be what I already have in yggtorrent.yml:

near the top:

links:
- https://www.yggtorrent.gg/

and lower in the "search section":

- name: searchanddlurl
  label: Search and download URL
  type: text
  default: www2.yggtorrent.gg

Still, it will not save when I try to add it.

You're supposed to have that in your configuration file, named yggtorrent.json.
Do not touch the yml, it's internal to Jackett and it works right now. It only contains default value.

It won't allow you to save, due to a Jackett bug, but it'll work fine if you restore your yggtorrent.json and set proper values in it.

Thank you for your patience...

So I modified ~/.config/Jackett/Indexers/yggtorrent.json:

"id": "sitelink",
"type": "inputstring",
"name": "Site Link",
"value": "https://www.yggtorrent.gg/"

and lower down:

"id": "searchanddownloadurl",
"type": "inputstring",
"name": "Search and download URL",
"value": "www2.yggtorrent.gg"

I added the indexer. It worked the second time, but with the same error as before. I was able to search "chaperon" and got a result that was 300 days old.

Yeah, search seems to have issues for certain keywords, but I'm not sure of why for now.

I have modified my config file like aarsenca, i can save the indexer but new error ...
An error occured while testing this indexer Exception (yggtorrent): Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.: Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.

Ygg boring me

Sadly, we have no way to circumvent that.

Its because ygg don't help for jackett integration, or it is because i use bytesized-hosting ?

Both. Your host triggers CloudFlare protection, and YggTorrent does not offer any way to bypass CloudFlare as they want us to browse the site (to generate ad revenue).

I solved the problem today thanks to the answer in this ticket:
https://github.com/Jackett/Jackett/issues/4528

Well, it now tests OK! Any idea how this happened?

@aarsenca wrote:

Well, it now tests OK! Any idea how this happened?

it just means that for your IP block Cloudflare is not generating the anti-DDOS check that would otherwise break your Jackett session. Lucky you ;-)

It was not working a few hours ago when I last checked. Now it is.

It is also testing OK in both sonarr and radarr.

I am still using the modified yggtorrent.json as per my post above.

I am also using torrentleech which is also on Cloudflare. It was working fine while yggtorrent was not. But torrentleech is not trying to push ads like yggtorrent is.

Using release 10.785, it was not working; I had to stop jackett, delete the file .config/Jackett/Indexers/yggtorrent.json , start jackett again, re-do the yggtorrent config... And it worked again.

I already had that problem a few months back.

Yeah, Jackett tends to fail, especially when it can't resolve DNS/read webpage content, it's stuck while trying to open configuration page.

Anyway, it kinda works at the moment but something is definitely wrong with the search. Just tried "Banana fish", it only returns episodes 1 to 4, when there's 14 when looking on the site.
@garfield69, do you have any idea of what could cause that behavior ?

Actually, its already been fixed thanks to @methonan with commit 5968285a398a66015d05ce3c229cc8a3e5a8bc74

upgrade to Jackett v0.10.788

seems to work on my side now

Indeed it works, thanks a lot.

I'm currently running Jackett v0.10.788 and I'm still missing some episodes, for example try searching "burger quiz" and you will only get the 2 last episodes, missing 1 to 12.
if you try to search the exact name of the 12th episode you will find nothing while searching for the 13th episode works fine.

searching :
BURGER QUIZ S03E12 (06 F脡VRIER 2019) 720P WEB-DL X264-BTFX -> fail
BURGER QUIZ S03E13 (13 F脡VRIER 2019) 720P WEB-DL X264-BTFX -> works

note : I'm also using aarsenca fix

@Warrneff not able to replicate your results
image
image
works for me.

image

Ok my bad,
Linuxserver last release was named v0.10.788 but was not including YGG search fix.
They fixed it today, and now it's working, thank you.

For all people having An error occured while testing this indexer Exception (yggtorrent): Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.: Request to https://www2.yggtorrent.gg/engine/search?category=all&name=&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date failed (Error Forbidden) - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett.

You can solve this by completing the captcha with a ssh tunnel. Refer to https://wiki.archlinux.org/index.php/OpenSSH#Encrypted_SOCKS_tunnel if you have any problem with ssh tunneling.

Please note that fix will only work if you have different IP between home and Jackett server.
Also, it might not be a 100% working method, but it'll definitely help.

Version 0.10.790.0 => still have the issue:
Exception (yggtorrent): Login failed: No form found on http://www2.yggtorrent.gg/ using form selector #user-login: Parse error

Yeah sorry about the category fix. I did see it and fixed it quickly for
myself and forgot to make a PR.

Gladly someone did it :)

well there you go I did the PR #4721 as I see it was not ok for the catid mapping
also added my changes for sonarrv3 season search to work =)

It worked during 1 day and now the error changed, "Found no results while trying to browse this tracker" did someone had this issue ?

try jackett v0.10.799

Still having the issue with v0.10.799...

Now running v0.10.799. Still working for me :-)

Hu? I re-tested and now it works!
Go figure...

Is it still not working on my side, tried with both proxy settings set and not set (Netherlands vpn), the only answer I get is "A task was canceled"

Still having the issue with v0.10.799 :/

for those who still cannot get ygg working:

  1. use your jackett dashboard wrench and check that the config site-link and s&d-Url are set as follows
    image
  2. click OKAY. if you get an error, click CLOSE. then edit again, check again, and click OKAY.
  3. if it does not work, first try accessing https://www.yggtorrent.gg/ directly from a browser on the system that has jackett on it, and if that is working, then open a NEW TICKET and provide a full enhanced log.
    no log, no help.
    it works for the rest of us, so the problem is specific to your system, ISP or IP block region.
    Provide a log and we will try to assist you figuring out why it does not work for you.

Nice this fix is working again :)

I currently asking myself why using a native Jackett crawler, find solution to bypass Cloudfare whereas we could use YggTorrent rss feed ? It exists there https://www2.yggtorrent.gg/rss and only need a passkey

@SkYNewZ , well with only the rss feed you could not make any search, also it is also behind cloudflare, so you could get into the same issues.

When I test YGG behind a proxy:

Jackett.Common.IndexerException: Exception (yggtorrent): A task was canceled. ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at CloudFlareUtilities.ClearanceHandler.PassClearance(HttpResponseMessage response, CancellationToken cancellationToken)
   at CloudFlareUtilities.ClearanceHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Jackett.Common.Utils.Clients.HttpWebClientNetCore.Run(WebRequest webRequest) in /home/appveyor/projects/jackett/src/Jackett.Common/Utils/Clients/HttpWebClientNetCore.cs:line 214
   at Jackett.Common.Utils.Clients.WebClient.GetString(WebRequest request) in /home/appveyor/projects/jackett/src/Jackett.Common/Utils/Clients/WebClient.cs:line 114
   at Jackett.Common.Indexers.BaseWebIndexer.RequestStringWithCookies(String url, String cookieOverride, String referer, Dictionary`2 headers) in /home/appveyor/projects/jackett/src/Jackett.Common/Indexers/BaseIndexer.cs:line 445
   at Jackett.Common.Indexers.CardigannIndexer.PerformQuery(TorznabQuery query) in /home/appveyor/projects/jackett/src/Jackett.Common/Indexers/CardigannIndexer.cs:line 1229
   at Jackett.Common.Indexers.BaseIndexer.ResultsForQuery(TorznabQuery query) in /home/appveyor/projects/jackett/src/Jackett.Common/Indexers/BaseIndexer.cs:line 331
   --- End of inner exception stack trace ---
   at Jackett.Common.Indexers.BaseIndexer.ResultsForQuery(TorznabQuery query) in /home/appveyor/projects/jackett/src/Jackett.Common/Indexers/BaseIndexer.cs:line 351
   at Jackett.Common.Indexers.BaseWebIndexer.ResultsForQuery(TorznabQuery query) in /home/appveyor/projects/jackett/src/Jackett.Common/Indexers/BaseIndexer.cs:line 815
   at Jackett.Server.Controllers.ResultsController.Results(ApiSearch requestt) in /home/appveyor/projects/jackett/src/Jackett.Server/Controllers/ResultsController.cs:line 227

I have all configured like this post: https://github.com/Jackett/Jackett/issues/4652#issuecomment-465724817

Was this page helpful?
0 / 5 - 0 ratings