-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
TLDR; Since Jun 2020 Jackett can't resolve the Cloudflare challenge. In this issue I will try to explain the cause, affected trackers and a tentative solution.
There are some torrent sites which use Cloudflare protection to avoid DDoS attacks. The challenge used to be a small JavaScript code with mathematical operations. The browser does the maths for you and after a few seconds you can see the web site.
Jackett has been using CloudflareSolverRe library to resolve Cloudflare challenges for years. That library was really fast and lightweight, but it had to be updated each time Cloudflare changed the challenge. In Jun 2020 Cloudflare increased the complexity of the challenge and it can't be solved with that library anymore. More details: #8840 (comment)
Affected trackers: bteye, gktorrent, limetorrents, pornleech, torrent9clone, torrentz2, zetorrents (could be more because they enable/disable Cloudflare on demand)
To solve the new challenge we need a full web browser. This brings new problems: huge RAM usage, more disk space, OS compatibility... so we decide to not include it in Jackett. See #8840 (comment)
Since Cloudflare is present in 7 of 500 supported trackers, it doesn't make sense to make it mandatory for all users, so it's optional.
- If you are not interested in the affected trackers, you don't need to do anything. Jackett will work as usual. If you try to use those trackers you will see a Cloudflare error.
- If you want to bypass Cloudflare keep reading
- FlareSolverr is a new project developed by me. It's a proxy server that includes the web browser. Info/instructions: https://github.com/FlareSolverr/FlareSolverr
- FlareSolverrSharp is another new project developed by me. It's a .Net library to interact with FlareSolverr server. Info: https://github.com/FlareSolverr/FlareSolverrSharp
- Changes in Jackett to integrate FlareSolverr. This is not included in Jackett releases yet. FlareSolverr integration. Bypass Cloudflare protection #9028
Instructions to test the POC:
- Install FlareSolverr (it can't be installed in ARM yet) => https://github.com/ngosang/FlareSolverr
- Download Jackett beta FlareSolverr integration. Bypass Cloudflare protection #9028 (download drop folder) => https://dev.azure.com/Jackett/Jackett/_build/results?buildId=762&view=artifacts&type=publishedArtifacts
- Run Jackett and configure the FlareSolverr URL and Apply the changes. If you want to use this for long term, disable the Updates. Regular releases don't have this feature.
- Configure and search using a tracker protected by Cloudflare like torrentz2. If everything is fine Jackett will work and you will be able to see the results.
- In FlareSolverr you will see some traces like this, but you don't have to worry about that:
2020-06-21T18:41:54.582Z INFO REQ-5 Incoming request: POST /v1
2020-06-21T18:41:54.583Z INFO REQ-5 Params: {"url":"https://torrentz2.eu/","userAgent":"Mozilla/5.0 (X11; Linux i686; rv:77.0) Gecko/20100101 Firefox/67.0","maxTimeout":100000}
2020-06-21T18:42:08.594Z INFO REQ-5 Successful response in 14.012 s
This feature is experimental. It may never be a part of Jackett. Everything will depend on whether it is useful for users.
Please help us to test it and if you find any problems in any of the three projects open an issue.