diff --git a/src/flaresolverr_service.py b/src/flaresolverr_service.py index c34ff02..3014ff0 100644 --- a/src/flaresolverr_service.py +++ b/src/flaresolverr_service.py @@ -45,7 +45,7 @@ CHALLENGE_SELECTORS = [ '#cf-challenge-running', '.ray_id', '.attack-box', '#cf-please-wait', '#challenge-spinner', '#trk_jschal_js', # Custom CloudFlare for EbookParadijs, Film-Paleis, MuziekFabriek and Puur-Hollands 'td.info #js_info', - # fairlane + # Fairlane / pararius.com 'div.vc div.text-box h2' ] SHORT_TIMEOUT = 10 diff --git a/src/tests.py b/src/tests.py index bda43a0..be67489 100644 --- a/src/tests.py +++ b/src/tests.py @@ -23,6 +23,7 @@ class TestFlareSolverr(unittest.TestCase): cloudflare_url = "https://nowsecure.nl" cloudflare_url_2 = "https://idope.se/torrent-list/harry/" ddos_guard_url = "https://anidex.info/" + fairlane_url = "https://www.pararius.com/apartments/amsterdam" custom_cloudflare_url = "https://www.muziekfabriek.org" cloudflare_blocked_url = "https://cpasbiens3.fr/index.php?do=search&subaction=search" @@ -166,6 +167,32 @@ class TestFlareSolverr(unittest.TestCase): self.assertIsNotNone(cf_cookie, "DDOS-Guard cookie not found") self.assertGreater(len(cf_cookie["value"]), 10) + def test_v1_endpoint_request_get_fairlane_js(self): + res = self.app.post_json('/v1', { + "cmd": "request.get", + "url": self.fairlane_url + }) + self.assertEqual(res.status_code, 200) + + body = V1ResponseBase(res.json) + self.assertEqual(STATUS_OK, body.status) + self.assertEqual("Challenge solved!", body.message) + self.assertGreater(body.startTimestamp, 10000) + self.assertGreaterEqual(body.endTimestamp, body.startTimestamp) + self.assertEqual(utils.get_flaresolverr_version(), body.version) + + solution = body.solution + self.assertIn(self.fairlane_url, solution.url) + self.assertEqual(solution.status, 200) + self.assertIs(len(solution.headers), 0) + self.assertIn("Rental Apartments Amsterdam", solution.response) + self.assertGreater(len(solution.cookies), 0) + self.assertIn("Chrome/", solution.userAgent) + + cf_cookie = _find_obj_by_key("name", "fl_pass_v2_b", solution.cookies) + self.assertIsNotNone(cf_cookie, "Fairlane cookie not found") + self.assertGreater(len(cf_cookie["value"]), 50) + def test_v1_endpoint_request_get_custom_cloudflare_js(self): res = self.app.post_json('/v1', { "cmd": "request.get",