103 lines
1.4 KiB
Markdown
103 lines
1.4 KiB
Markdown
---
|
|
|
|
# 🕵️ Puppeteer Stealth Proxy
|
|
|
|
A lightweight **HTTP proxy API** powered by **Puppeteer + Stealth Plugin**.
|
|
Bypasses Cloudflare and anti-bot systems with real browser automation.
|
|
|
|
---
|
|
|
|
## 🚀 Features
|
|
|
|
* Uses `puppeteer-extra-plugin-stealth` to avoid detection
|
|
* Auto-save & load cookies per domain
|
|
* Optional API key protection
|
|
* Proxy any HTTP method (GET, POST, etc.)
|
|
* Screenshot endpoint
|
|
* Reuses one browser instance for better performance
|
|
* Auto-closes browser on exit
|
|
|
|
---
|
|
|
|
## ⚙️ Setup
|
|
|
|
```bash
|
|
git clone https://github.com/yourname/puppeteer-stealth-proxy.git
|
|
cd puppeteer-stealth-proxy
|
|
npm install
|
|
```
|
|
|
|
Create `.env` (optional):
|
|
|
|
```bash
|
|
PORT=4000
|
|
API_KEY=your-secret-key
|
|
NODE_ENV=production
|
|
```
|
|
|
|
---
|
|
|
|
## 🏃 Run
|
|
|
|
```bash
|
|
npm run dev # development
|
|
NODE_ENV=production node index.js # production
|
|
```
|
|
|
|
Default: `http://localhost:4000`
|
|
|
|
---
|
|
|
|
## 🔑 API
|
|
|
|
### Health check
|
|
|
|
```
|
|
GET /
|
|
→ { "ok": true, "msg": "puppeteer-stealth-proxy" }
|
|
```
|
|
|
|
### Proxy request
|
|
|
|
```
|
|
GET /proxy?url=https://example.com
|
|
```
|
|
|
|
Optional headers:
|
|
|
|
```
|
|
x-api-key: your-secret-key
|
|
authorization: Bearer your-secret-key
|
|
```
|
|
|
|
### Screenshot
|
|
|
|
```
|
|
GET /screenshot?url=https://example.com
|
|
```
|
|
|
|
---
|
|
|
|
## 📁 Structure
|
|
|
|
```
|
|
index.js
|
|
cookies/
|
|
package.json
|
|
README.md
|
|
```
|
|
|
|
---
|
|
|
|
## 🧩 Notes
|
|
|
|
* Puppeteer runs in headless mode with stealth enabled
|
|
* Automatically stores cookies under `cookies/`
|
|
* Morgan logs disabled in production
|
|
|
|
---
|
|
|
|
## 📜 License
|
|
|
|
MIT © 2025 — Kain344
|