FlareSolverr: The cookies provided by FlareSolverr are not valid

Environment

FlareSolverr Version: 1.2.0

Docker: Yes

OS: Ubuntu 20.04

Are you using a proxy or VPN? No

Using Captcha Solver: Yes

If using captcha solver, which one: hcaptcha-solver

Description

I use Flaresolverr for the tracker yggcookie on jackett. Reading the HTML and Debug log show me that it detects correctly the CLoudfare challenge but Chronium of FlareSolverr have not cookie setting enabled. Same for Javascript. See the log below.

<h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1>

<div id="no-cookie-warning" class="cookie-warning" data-translate="turn_on_cookies" style="display:none">
     <p data-translate="turn_on_cookies" style="color:#bd2426;">Please enable Cookies and reload the page.</p>

Logged Error Messages

Error output from Jackett Exception (yggcookie): The cookies provided by FlareSolverr are not valid: The cookies provided by FlareSolverr are not valid

Output logs from Flaresolverr :

2020-12-17T10:09:15.764Z INFO REQ-1 Cloudflare detected
2020-12-17T10:09:15.902Z DEBUG REQ-1 <!DOCTYPE html><html lang="en-US"><head>
  <meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  <meta name="robots" content="noindex, nofollow">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <title>Just a moment...</title>
  <style type="text/css">
    html, body {width: 100%; height: 100%; margin: 0; padding: 0;}
    body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}
    h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}
    p {font-size: 20px; font-weight: 400; margin: 8px 0;}
    p, .attribution, {text-align: center;}
    #spinner {margin: 0 auto 30px auto; display: block;}
    .attribution {margin-top: 32px;}
    @keyframes fader     { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }
    @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }
    #cf-bubbles > .bubbles { animation: fader 1.6s infinite;}
    #cf-bubbles > .bubbles:nth-child(2) { animation-delay: .2s;}
    #cf-bubbles > .bubbles:nth-child(3) { animation-delay: .4s;}
    .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }
    a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }
    a:hover{color: #f4a15d}
    .attribution{font-size: 16px; line-height: 1.5;}
    .ray_id{display: block; margin-top: 8px;}
    #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; }
    #cf-hcaptcha-container { text-align:center;}
    #cf-hcaptcha-container iframe { display: inline-block;}
  </style>

    <meta http-equiv="refresh" content="12">
<script type="text/javascript">
  //<![CDATA[
  (function(){
    

    window._cf_chl_enter = function(){window._cf_chl_opt.p=1};
    
    var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
    b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
    b(function(){
      var cookiesEnabled=(navigator.cookieEnabled)? true : false;
      var cookieSupportInfix=cookiesEnabled?'/nocookie':'/cookie';
      var a = document.getElementById('cf-content');a.style.display = 'block';
      var isIE = /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent);
      var trkjs = isIE ? new Image() : document.createElement('img');
      trkjs.setAttribute("src", "/cdn-cgi/images/trace/jschal/js"+cookieSupportInfix+"/transparent.gif?ray=602fd8f7eced0b4f");
      trkjs.id = "trk_jschal_js";
      trkjs.setAttribute("alt", "");
      document.body.appendChild(trkjs);
      
      var cpo = document.createElement('script');
      cpo.type = 'text/javascript';
      cpo.src = "/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1";
      var done = false;
      cpo.onload = cpo.onreadystatechange = function() {
        if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
          done = true;
          cpo.onload = cpo.onreadystatechange = null;
          window._cf_chl_enter()
        }
      };
      document.getElementsByTagName('head')[0].appendChild(cpo);
    
    }, false);
  })();
  //]]>
</script>


<script type="text/javascript" src="/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1"></script></head>
<body>
  <table width="100%" height="100%" cellpadding="20">
    <tbody><tr>
      <td align="center" valign="middle">
          <div class="cf-browser-verification cf-im-under-attack">
  <noscript>
    <h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1>
  </noscript>
  <div id="cf-content" style="display: block;">
    <a href="https://thing-dot.com/bearded.php?cfm=8694" style="position: absolute; top: -250px; left: -250px;"></a>
    <div id="cf-bubbles">
      <div class="bubbles"></div>
      <div class="bubbles"></div>
      <div class="bubbles"></div>
    </div>
    <h1><span data-translate="checking_browser">Checking your browser before accessing</span> yggtorrent.si.</h1>
    
    <div id="no-cookie-warning" class="cookie-warning" data-translate="turn_on_cookies" style="display:none">
      <p data-translate="turn_on_cookies" style="color:#bd2426;">Please enable Cookies and reload the page.</p>
    </div>
    <p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
    <p data-translate="allow_5_secs">Please allow up to 5 seconds…</p>
  </div>
   
  <form class="challenge-form" id="challenge-form" action="/engine/search?category=all&amp;name=&amp;description=&amp;file=&amp;uploader=&amp;sub_category=&amp;do=search&amp;order=desc&amp;sort=publish_date&amp;__cf_chl_jschl_tk__=XXXXXX" method="POST" enctype="application/x-www-form-urlencoded">
    <input type="hidden" name="XXXXXX" 
	<input type="hidden" value="XXXXXX" id="jschl-vc" name="XXXXXX">
    <!-- <input type="hidden" value="" id="XXXXXX" name="XXXXXX"/> -->
    <input type="hidden" name="pass" value="XXXXXX">
    <input type="hidden" id="jschl-answer" name="jschl_answer">
  </form>
  
  <div id="trk_jschal_nojs" style="background-image:url('/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=XXXXXX')"> </div>
</div>

          
          <div class="attribution">
            DDoS protection by <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing/" target="_blank">Cloudflare</a>
            <br>
            <span class="ray_id">Ray ID: <code>XXXXXX</code></span>
          </div>
      </td>
     
    </tr>
  </tbody></table>


<img src="/cdn-cgi/images/trace/jschal/js/nocookie/transparent.gif?ray=XXXXXX" id="trk_jschal_js" alt=""></body></html>
2020-12-17T10:09:15.907Z DEBUG REQ-1 Waiting for Cloudflare challenge...
2020-12-17T10:09:22.061Z DEBUG REQ-1 Validating HTML code...
2020-12-17T10:09:22.197Z INFO REQ-1 Successful response in 9.684 s

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 3
  • Comments: 15 (2 by maintainers)

Most upvoted comments

The problem is from Jackett. Using jackett docker image solves the problem for me (running jackett without docker seems not working even on same machine, dunno why …)

docker-composer.yml :

version: "3"
services:
  jackett:
    image: ghcr.io/linuxserver/jackett
    container_name: jackett
    environment:
      - PUID=$UID
      - PGID=$GID
      - TZ=$TZ
      - AUTO_UPDATE=true
    volumes:
      - ./jackett/config:/config
      - ./jackett/blackhole:/downloads
    ports:
      - 9117:9117
    restart: unless-stopped
    networks:
      - cloudflare
    depends_on:
      - flaresolverr
  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr
    container_name: flaresolverr
    environment:
      - LOG_LEVEL=debug
      #- CAPTCHA_SOLVER=hcaptcha-solver
    restart: unless-stopped
    networks:
      - cloudflare
    #ports:
    #  - 8191:8191

networks:
    cloudflare:
      external: false

.env

UID=1000
GID=1000
TZ=Europe/Paris

Change UID and GID by your own ( echo $UID)

Jackett Configuration (can be updated on web interface)

Proxy type : Disabled FlareSolverr API URL : http://flaresolverr:8191

Use yggtorrent indexer.

Why would it be not working if Jackett and FlareSolverr and running on different machines ? And so what about Docker ? They need to share some volume ?

Technically is possible but both services must have the same external IP. The CloudFlare cookie only works for 1 IP.