## FlareSolverr Proxy server to bypass Cloudflare protection :warning: This project is in beta state. Some things may not work and the API can change at any time. See the known issues section. ### How it works FlareSolverr starts a proxy server and it waits for user requests in idle state using few resources. When some request arrives, it uses [puppeteer](https://github.com/puppeteer/puppeteer) with the [stealth plugin](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth) to create an headless browser (Chrome). It opens the URL with user parameters and waits until the Cloudflare challenge is solved (or timeout). The HTML code and the cookies are sent back to the user and those cookies can be used to bypass Cloudflare using other HTTP clients. ### Installation It requires NodeJS. Run `npm install` to install FlareSolverr dependencies. ### Usage Run `node index.js` to start FlareSolverr. Example request: ```bash curl -L -X POST 'http://localhost:8191/v1' \ -H 'Content-Type: application/json' \ --data-raw '{ "url":"http://www.google.com/", "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0" }' ``` Parameter | Notes |--|--| url | Mandatory userAgent | Optional. Will be used by the headless browser Example response: ```json { "status": "ok", "message": "", "startTimestamp": 1591679463498, "endTimestamp": 1591679472781, "version": "1.0.0", "solution": { "url": "https://www.google.com/?gws_rd=ssl", "response": "