Commit Graph
174 Commits
Author SHA1 Message Date
NyaMisty efaa5f31b6 Support proxy in request and session cmds (#754) 2023-05-23 21:53:13 +02:00
ngosang 66b9db21e5 Fix Chromium exec permissions in Linux package 2023-05-21 21:09:06 +02:00
ngosang ac77110578 Remove redundant artifact from Windows binary package 2023-04-02 21:04:34 +02:00
Rawand Ahmed Shaswar a9d1a2de2d Fix headless mode in mac OS (#750) 2023-04-02 20:49:18 +02:00
ngosang e0bf02fb8b Distribute binary executables in compressed package 2023-03-25 22:19:26 +01:00
ilike2burnthing 82a1cd835a Add icon for binary executable (#739) 2023-03-25 21:35:37 +01:00
ngosang ae18559db1 Check Python version on start 2023-03-25 21:23:06 +01:00
ngosang 8d9bac9dd4 Build binaries for Linux x64 and Windows x64 2023-03-20 22:30:52 +01:00
ngosang 30ccf18e85 Several fixes in Sessions 2023-03-20 17:06:16 +01:00
ngosang a15d041a0c Fix Waitress server error with asyncore_use_poll=true. Resolves #680 2023-03-20 16:27:25 +01:00
Martino Mensio c6c74e7c9d Add Fairlane challenge selector (#723) 2023-03-20 16:27:24 +01:00
Artemiy RyabinkovandMichel Roux 49fd1aacfc Sessions with auto-creation on fetch request and TTL (#736)
* Add support for sessions

* Add tests for sessions

* Missing return type

* Don't re-create an existing session

* Return success in case of session doesn't exists on destroy

* Create session if necessary on get request

* Add session TTL to the request.get method

When fetching some webpage with a predefined session id,
FlareSorverr is using existing instance of WebDriver.
That allows user to not manage cookies explicitly
and rely on WebDriver to maintain the session. However,
if session has been created long time ago, CloudFlare might
stop accepting the requests, so we want to recreate the session
time to time. From the user perspective the easiest way of doing it
is to define their expectation on the session duration.

These changes add an option to define Time-to-live (TTL) for the session
and FlareSorverr takes care about rotating the sessions.

* Update message for session destroy in tests

---------

Co-authored-by: Michel Roux <xefir@crystalyx.net>
2023-03-20 16:25:48 +01:00
Martino Mensio f6879c70de Add Fairlane challenge selector (#723) 2023-03-20 16:13:21 +01:00
ngosang 24f59a39cb Print platform information on start up 2023-03-20 15:07:12 +01:00
ngosang 8de16058d0 Attempt to fix Docker ARM32 build 2023-03-20 15:07:12 +01:00
bilditup1andbilditup1 5fc4f966a5 Update ddos-guard title (#692)
* update ddos-guard title (anidex.info)

* make page_title test case-insensitive

---------

Co-authored-by: bilditup1 <git@github.com>
2023-03-20 15:06:27 +01:00
ilike2burnthingandfurdarius fc6d2d9095 Click on the Cloudflare's 'Verify you are human' button if necessary
Co-authored-by: furdarius <furdarius@users.noreply.github.com>

https://github.com/furdarius/FlareSolverr/commit/69e023b946c46aef3dd5a4a5aff54b201af21b19 minus screenshot function
2023-03-07 03:51:17 +00:00
Artemiy Ryabinkovandilike2burnthing 96fcd21174 Update undetected_chromedriver version to 3.4.6 (#715)
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-03-06 13:57:38 +00:00
ngosang c93834e2f0 Check Chrome / Chromium web browser is installed correctly 2023-01-08 20:46:11 +01:00
ngosang e3b4200d94 Detect Cloudflare blocked access 2023-01-08 20:40:10 +01:00
ngosang 2aa1744476 Add more selectors to detect blocked access 2023-01-06 18:12:26 +01:00
ngosang a89679a52d Disable Zygote sandbox in Chromium browser 2023-01-06 18:05:23 +01:00
ngosang 410ee7981f Apply undetected-chromedriver patches
* Hide Chrome window in Windows/NT
* Not use subprocess by default (independent process)
* Kill Chromium processes properly to avoid defunct/zombie processes
2023-01-06 17:50:52 +01:00
ngosang e163019f28 Update undetected-chromedriver 2023-01-06 17:19:11 +01:00
ngosang 7d84f1b663 Kill Chromium processes properly to avoid defunct/zombie processes 2023-01-06 13:58:24 +01:00
ngosang fd42fcee66 Detect challenges by title 2023-01-05 01:45:43 +01:00
ngosang 258225a091 Detect Cloudflare access denied 2023-01-04 22:15:19 +01:00
ngosang 70a423805d Fix selector for new challenge 2023-01-04 21:28:04 +01:00
ngosang 676a930f02 Reuse patched chromedriver 2023-01-04 21:05:32 +01:00
ngosang ecaac2e1d9 Fix Chrome version detection on Windows 2023-01-04 21:05:27 +01:00
ngosang 60a22625be Add browser headless mode for Windows 2023-01-04 21:05:19 +01:00
ngosang b32d7b70be Fork undetected-chromedriver 3.1.5.post4 2023-01-04 21:05:12 +01:00
ngosang 5092b1eef9 Add browser headless mode for Linux 2023-01-04 21:04:38 +01:00
ngosang 0cfcb57e3a Add tests for several known sites 2023-01-04 21:04:31 +01:00
ngosang 59bd7c8bdd Show ReqId only in Debug traces 2023-01-04 21:04:26 +01:00
ngosang b90d263159 Detect Cloudflare Access Denied 2023-01-04 21:04:18 +01:00
ngosang 1505595591 Rewrite FlareSolverr from scratch in Python + Selenium 2023-01-04 21:03:40 +01:00
ngosang 383025032b Prepare for version 3.0, remove JS code 2023-01-04 20:57:23 +01:00
Athorcis 197258e921 detect DDos-Guard through title content. resolves #546 (#559) 2022-10-22 14:34:29 +01:00
ngosang aa254eb830 Detect Cloudflare Access Denied 2022-09-25 00:35:39 +02:00
ngosang b17a3a369b Remove 30 s delay and clean legacy code 2022-09-17 23:48:39 +02:00
ilike2burnthing 0e2452e40e temp fix: add 30s delay
credit: @realivanjx
https://github.com/FlareSolverr/FlareSolverr/issues/481#issuecomment-1242951929
2022-09-12 01:44:01 +01:00
ngosang a2345affb3 Fix Cloudflare detection in POST requests 2022-07-31 16:06:28 +02:00
ngosang c5df58529a Update Cloudflare selectors and add HTML samples 2022-07-30 22:36:51 +02:00
ngosang d962e1a14e Detect DDoS-Guard challenge 2022-04-17 09:21:10 +02:00
ngosang d34b43e0a8 Fix 2000 ms navigation timeout 2022-04-16 21:39:50 +02:00
ngosang 9b1f8332c7 Disable Cloudflare ban detection 2022-04-16 18:32:58 +02:00
Harold bb4fa9cabc Fix ban detection. Resolves #330 (#336) 2022-03-19 04:24:49 +00:00
ngosang 6c598d5360 Fix max timeout error in some pages 2022-02-06 16:35:52 +01:00
ngosang 2893f72237 Avoid crashing in NodeJS 17 due to Unhandled promise rejection 2022-02-06 13:31:30 +01:00