{"repo":"unixfox/pupflare","free":true,"listed":false,"github":"https://github.com/unixfox/pupflare","clone":"git clone https://github.com/unixfox/pupflare.git","description":"A webpage proxy that request through Chromium (puppeteer) - can be used to bypass Cloudflare anti bot / anti ddos on any application (like curl)","language":"JavaScript","stars":450,"topics":["cloudflare-bypass","puppeteer","koa","proxy","docker","cloudflare","anti-bot-page","protected-page","scrape","scraping-websites"],"license":"WTFPL","category":"scrapers-browser-automation","readme_excerpt":"pupflare 🆕 NEW: pupflare no longer uses Puppeteer — it now runs on Camoufox , an anti-detection Firefox, for far better resistance to bot detection. A small proxy server that transparently solves Cloudflare (and similar) anti-bot challenges and returns the real page. As of v2.0 pupflare no longer uses Puppeteer + puppeteer-extra-plugin-stealth (which is now reliably fingerprinted and blocked). It uses Camoufox instead — an anti-detection Firefox build driven through Playwright. All the previous behaviour is preserved: request/response header forwarding, POST body forwarding, cookie forwarding, the challenge wait loop, and file-download capture. How to launch pupflare 1. Install NodeJS ( = 18) 2. npm install — this also downloads the Camoufox browser via the postinstall hook. If that step is skipped (e.g. --ignore-scripts ), run npx camoufox-js fetch manually. 3. npm start How to use Send your request to the server on port 3000 and add your URL to the url query string like this: http://localhost:3000/?url=https://example.org GET and POST are both supported; the request body and (most) request headers are forwarded to the target. Any cookies the target sets are forwarded back to your client. This script is configured to wait for the Cloudflare challenge to pass. You can configure the \"match\" for anything else using the environment variable CHALLENGE MATCH . If the website you are targeting has a protection page with \"please wait\" in the HTML, then launch the script like this: ","default_branch":null,"files":null,"tree":[],"storefront":"/r/unixfox","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/unixfox/pupflare/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}