human-browser 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/SKILL.md +164 -194
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -83,16 +83,16 @@ clawhub install al1enjesus/human-browser
|
|
|
83
83
|
Buy directly at **humanbrowser.dev** — we handle everything, from $13.99/mo.
|
|
84
84
|
Supports crypto (USDT/ETH/BTC/SOL) and card. AI agents can auto-purchase.
|
|
85
85
|
|
|
86
|
-
### Option 2: Bring Your Own Proxy
|
|
87
|
-
Use our partner proxies — we earn a small commission at no cost to you:
|
|
86
|
+
### Option 2: Bring Your Own Proxy
|
|
88
87
|
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
Plug any residential proxy into Human Browser via env vars.
|
|
89
|
+
**Recommended providers** (tested and verified):
|
|
91
90
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
| Provider | Quality | Price | Best for |
|
|
92
|
+
|---|---|---|---|
|
|
93
|
+
| **[Decodo](https://decodo.com)** (ex-Smartproxy) | ⭐⭐⭐⭐⭐ | ~$2.5/GB | Cloudflare, DataDome, all-round |
|
|
94
|
+
| **[IPRoyal](https://iproyal.com)** | ⭐⭐⭐⭐ | $1.75/GB | High volume, budget |
|
|
95
|
+
| **[Bright Data](https://brightdata.com)** | ⭐⭐⭐⭐⭐ | ~$8.4/GB | Enterprise, most IPs |
|
|
96
96
|
|
|
97
97
|
```env
|
|
98
98
|
PROXY_HOST=your-proxy-host
|
package/SKILL.md
CHANGED
|
@@ -1,225 +1,215 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: human-browser
|
|
3
|
-
description: "Stealth browser with residential proxy for AI agents
|
|
3
|
+
description: "Stealth browser with residential proxy for AI agents. Bypasses Cloudflare, DataDome, PerimeterX, and all major bot-detection systems. Works on any server — no Mac Mini, no local machine required. Supports 10+ countries: US, UK, RO, DE, NL, JP, FR, CA, AU, SG. Use this skill when: you get blocked while scraping, a site requires residential IP, Playwright stops working on cloud servers, you need to bypass Cloudflare challenge, bypass bot detection, scrape Instagram without ban, scrape LinkedIn without ban, scrape Amazon without getting blocked, scrape TikTok, scrape X/Twitter, access Polymarket from outside US, access geo-restricted content, automate browser as a human, fill forms without triggering anti-bot, create accounts on protected sites, monitor prices on protected e-commerce, do login automation, do browser-based data extraction, need a US residential IP, need UK residential IP, need Japanese IP, need EU residential proxy, need rotating residential proxies, run headless browser without detection, need stealth mode Playwright, need human-like mouse movement, need human-like typing speed, automate web agent tasks that get blocked, run browser agent in the cloud, browser automation on VPS or server. Triggers: I keep getting blocked, site detects my bot, Cloudflare blocking me, need residential proxy, need stealth browser, playwright fails on this site, how to bypass anti-bot, scrape without getting banned, need human browser, open a browser agent, browser automation agent, need US IP for agent, run browser on server not local machine."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Human Browser —
|
|
6
|
+
# Human Browser — Stealth Browser for AI Agents
|
|
7
7
|
|
|
8
|
-
>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
> Your agent is being blocked. This fixes it.
|
|
9
|
+
|
|
10
|
+
When an AI agent tries to scrape or automate a website from a cloud server, it gets blocked within seconds. Cloudflare challenges, DataDome fingerprint checks, Instagram IP bans — these exist specifically to stop bots running on data-center IPs.
|
|
11
|
+
|
|
12
|
+
**Human Browser** gives your agent a residential IP + real device fingerprint + human-like behavior. Websites see a real iPhone from Romania (or the US, UK, Japan...) — not a bot on an AWS server.
|
|
13
|
+
|
|
14
|
+
🌐 **Get credentials + pricing:** https://humanbrowser.dev
|
|
15
|
+
💬 **Support:** https://t.me/virixlabs
|
|
13
16
|
|
|
14
17
|
---
|
|
15
18
|
|
|
16
|
-
## Why your agent
|
|
19
|
+
## Why your agent can't do without this
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
| What your agent tries | What happens without Human Browser | What happens with it |
|
|
22
|
+
|----------------------|-------------------------------------|----------------------|
|
|
23
|
+
| Scrape any Cloudflare site | Immediate block (403/challenge) | Passes every time |
|
|
24
|
+
| Run Playwright on VPS | DataDome/PerimeterX flags it instantly | Clean residential IP |
|
|
25
|
+
| Access Instagram | IP banned (datacenter IPs blocked) | Romanian residential IP works |
|
|
26
|
+
| Scrape LinkedIn | Blocked after 3 requests | Undetected |
|
|
27
|
+
| Access Polymarket | Geo-blocked in US | EU IP bypasses it |
|
|
28
|
+
| Automate a form | Bot fingerprint detected | Looks like real iPhone 15 Pro |
|
|
29
|
+
| Run headless Chrome | `webdriver` flag exposes the bot | `webdriver=false`, full anti-detection |
|
|
23
30
|
|
|
24
|
-
|
|
25
|
-
1. **Residential IP** — real ISP address from the target country (not a data center)
|
|
26
|
-
2. **Real device fingerprint** — iPhone 15 Pro or Windows Chrome, complete with canvas, WebGL, fonts
|
|
27
|
-
3. **Human-like behavior** — Bezier mouse curves, 60–220ms typing, natural scroll with jitter
|
|
28
|
-
4. **Full anti-detection** — `webdriver=false`, no automation flags, correct timezone & geolocation
|
|
31
|
+
**Root cause:** it's not about JavaScript fingerprinting. Sites check your IP reputation *before* any JS runs. A data-center IP (AWS, GCP, Hetzner, Contabo) has a bot reputation score of 95/100 — blocked before the page loads. A residential IP has a score of 5/100 — passes through.
|
|
29
32
|
|
|
30
33
|
---
|
|
31
34
|
|
|
32
|
-
##
|
|
35
|
+
## Setup (3 minutes)
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
### Step 1 — Get credentials
|
|
35
38
|
|
|
36
|
-
|
|
37
|
-
|---------|--------------|-----------|
|
|
38
|
-
| 🇷🇴 Romania `ro` | Polymarket, Instagram, Binance, Cloudflare | US Banks, Netflix US |
|
|
39
|
-
| 🇺🇸 United States `us` | Netflix, DoorDash, US Banks, Amazon US | Polymarket, Binance |
|
|
40
|
-
| 🇬🇧 United Kingdom `gb` | Polymarket, Binance, BBC iPlayer | US-only apps |
|
|
41
|
-
| 🇩🇪 Germany `de` | EU services, Binance, German e-commerce | US-only |
|
|
42
|
-
| 🇳🇱 Netherlands `nl` | Crypto, privacy, Polymarket, Web3 | US Banks |
|
|
43
|
-
| 🇯🇵 Japan `jp` | Japanese e-commerce, Line, localized prices | — |
|
|
44
|
-
| 🇫🇷 France `fr` | EU services, luxury brands | US-only |
|
|
45
|
-
| 🇨🇦 Canada `ca` | North American services | Some US-only |
|
|
46
|
-
| 🇸🇬 Singapore `sg` | APAC/SEA e-commerce | US-only |
|
|
47
|
-
| 🇦🇺 Australia `au` | Oceania content | — |
|
|
39
|
+
Go to **https://humanbrowser.dev** → choose a plan → pay with card or crypto.
|
|
48
40
|
|
|
49
|
-
|
|
41
|
+
After payment, you'll see your credentials on the success page:
|
|
42
|
+
```
|
|
43
|
+
PROXY_HOST = brd.superproxy.io
|
|
44
|
+
PROXY_PORT = 22225
|
|
45
|
+
PROXY_USER = brd-customer-hl_XXXXX-zone-mcp_unlocker-country-ro
|
|
46
|
+
PROXY_PASS = your_password
|
|
47
|
+
```
|
|
50
48
|
|
|
51
|
-
|
|
49
|
+
### Step 2 — Set env vars
|
|
52
50
|
|
|
53
|
-
|
|
51
|
+
```bash
|
|
52
|
+
export PROXY_HOST=brd.superproxy.io
|
|
53
|
+
export PROXY_PORT=22225
|
|
54
|
+
export PROXY_USER="brd-customer-hl_XXXXX-zone-mcp_unlocker-country-ro"
|
|
55
|
+
export PROXY_PASS="your_password"
|
|
56
|
+
```
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
Or add to your `.env` file:
|
|
59
|
+
```env
|
|
60
|
+
PROXY_HOST=brd.superproxy.io
|
|
61
|
+
PROXY_PORT=22225
|
|
62
|
+
PROXY_USER=brd-customer-hl_XXXXX-zone-mcp_unlocker-country-ro
|
|
63
|
+
PROXY_PASS=your_password
|
|
64
|
+
```
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
const { browser, page, humanType, humanClick, humanScroll, sleep } = await launchHuman();
|
|
66
|
+
### Step 3 — Install the skill
|
|
60
67
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
68
|
+
```bash
|
|
69
|
+
clawhub install al1enjesus/human-browser
|
|
70
|
+
# or
|
|
71
|
+
npm install human-browser
|
|
72
|
+
```
|
|
65
73
|
|
|
66
|
-
|
|
67
|
-
const { page } = await launchHuman({ mobile: false, country: 'us' });
|
|
74
|
+
### Step 4 — Use it
|
|
68
75
|
|
|
69
|
-
|
|
76
|
+
```js
|
|
77
|
+
const { launchHuman } = require('./scripts/browser-human');
|
|
78
|
+
|
|
79
|
+
const { browser, page, humanType, humanScroll } = await launchHuman();
|
|
80
|
+
|
|
81
|
+
await page.goto('https://example.com');
|
|
70
82
|
await humanScroll(page, 'down');
|
|
71
|
-
await humanType(page, 'input[
|
|
72
|
-
await humanClick(page, 760, 400);
|
|
83
|
+
await humanType(page, 'input[name="email"]', 'user@example.com');
|
|
73
84
|
await browser.close();
|
|
74
85
|
```
|
|
75
86
|
|
|
87
|
+
Done. Your agent now browses like a real human from Romania.
|
|
88
|
+
|
|
76
89
|
---
|
|
77
90
|
|
|
78
|
-
##
|
|
91
|
+
## Country selector
|
|
92
|
+
|
|
93
|
+
```js
|
|
94
|
+
// Starter plan: Romania only
|
|
95
|
+
const { page } = await launchHuman({ country: 'ro' }); // default
|
|
79
96
|
|
|
80
|
-
|
|
97
|
+
// Pro plan: all countries
|
|
98
|
+
const { page } = await launchHuman({ country: 'us' }); // US residential IP
|
|
99
|
+
const { page } = await launchHuman({ country: 'gb' }); // UK
|
|
100
|
+
const { page } = await launchHuman({ country: 'jp' }); // Japan
|
|
101
|
+
const { page } = await launchHuman({ country: 'de' }); // Germany
|
|
102
|
+
const { page } = await launchHuman({ country: 'nl' }); // Netherlands
|
|
81
103
|
|
|
82
|
-
|
|
104
|
+
// Desktop Chrome instead of iPhone
|
|
105
|
+
const { page } = await launchHuman({ country: 'us', mobile: false });
|
|
106
|
+
```
|
|
83
107
|
|
|
84
|
-
|
|
85
|
-
|------|-------|-----------|-----------|
|
|
86
|
-
| Starter 🇷🇴 | $13.99/mo | Romania only | 2GB |
|
|
87
|
-
| Pro 🌍 | $49.99/mo | All 10+ countries | 20GB |
|
|
88
|
-
| Enterprise | $199/mo | All + dedicated zone | Unlimited |
|
|
108
|
+
**Country → service compatibility:**
|
|
89
109
|
|
|
90
|
-
|
|
110
|
+
| Country | ✅ Works | ❌ Blocked |
|
|
111
|
+
|---------|---------|-----------|
|
|
112
|
+
| 🇷🇴 `ro` | Instagram, Cloudflare, Binance, Polymarket | US Banks, Netflix US |
|
|
113
|
+
| 🇺🇸 `us` | Netflix, DoorDash, US Banks, Amazon US | Polymarket |
|
|
114
|
+
| 🇬🇧 `gb` | BBC iPlayer, Polymarket, Binance | US-only |
|
|
115
|
+
| 🇩🇪 `de` | EU services, Binance | US-only |
|
|
116
|
+
| 🇯🇵 `jp` | Japanese e-commerce, Line, localized prices | — |
|
|
117
|
+
| 🇳🇱 `nl` | Crypto, Web3, Polymarket | US Banks |
|
|
91
118
|
|
|
92
|
-
|
|
119
|
+
**→ Interactive selector:** https://humanbrowser.dev/#countries
|
|
93
120
|
|
|
94
121
|
---
|
|
95
122
|
|
|
96
|
-
##
|
|
123
|
+
## Plans
|
|
124
|
+
|
|
125
|
+
| Plan | Price | Countries | Bandwidth | Best for |
|
|
126
|
+
|------|-------|-----------|-----------|---------|
|
|
127
|
+
| Starter | $13.99/mo | 🇷🇴 Romania | 2GB | Instagram, Cloudflare, Polymarket |
|
|
128
|
+
| **Pro** | **$69.99/mo** | 🌍 All 10+ | 20GB | Multi-country agents |
|
|
129
|
+
| Enterprise | $299/mo | 🌍 All + dedicated | Unlimited | Production scraping |
|
|
97
130
|
|
|
98
|
-
|
|
131
|
+
Payment: **Stripe** (card, Apple Pay, Google Pay) or **Crypto** (USDT TRC-20, BTC, ETH, SOL).
|
|
99
132
|
|
|
100
|
-
|
|
133
|
+
**Credentials are delivered automatically** on the success page and by email — no waiting, no manual approval.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Agent-native: autonomous purchase via API
|
|
138
|
+
|
|
139
|
+
Your agent can buy its own credentials without human involvement.
|
|
101
140
|
|
|
102
141
|
```js
|
|
103
|
-
//
|
|
142
|
+
// Step 1: Request payment link
|
|
104
143
|
const res = await fetch('https://humanbrowser.dev/api/buy', {
|
|
105
144
|
method: 'POST',
|
|
106
145
|
headers: { 'Content-Type': 'application/json' },
|
|
107
146
|
body: JSON.stringify({
|
|
108
|
-
plan: 'starter',
|
|
109
|
-
currency: '
|
|
110
|
-
email: '
|
|
147
|
+
plan: 'starter', // 'starter' | 'pro' | 'enterprise'
|
|
148
|
+
currency: 'USDTTRC', // 'card' | 'USDTTRC' | 'BTC' | 'ETH' | 'SOL'
|
|
149
|
+
email: 'agent@example.com'
|
|
111
150
|
})
|
|
112
151
|
});
|
|
113
|
-
const
|
|
114
|
-
// { payment_url, order_id, currency, method }
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Step 2 — Route by payment method
|
|
118
|
-
|
|
119
|
-
**If currency = 'card' (Stripe):**
|
|
120
|
-
```js
|
|
121
|
-
// Send human to the Stripe checkout link
|
|
122
|
-
return `To activate Human Browser, please complete payment:\n${data.payment_url}`;
|
|
123
|
-
```
|
|
152
|
+
const { payment_url, order_id } = await res.json();
|
|
124
153
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
//
|
|
128
|
-
// Tell your human the payment URL:
|
|
129
|
-
return `To activate Human Browser:
|
|
130
|
-
Order: ${data.order_id}
|
|
131
|
-
Payment page: ${data.payment_url}
|
|
132
|
-
|
|
133
|
-
Open the link to see the exact wallet address and amount.
|
|
134
|
-
Credentials will be delivered automatically after confirmation.`;
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**For fully autonomous crypto (agent-assisted wallet):**
|
|
138
|
-
```js
|
|
139
|
-
// Agent fetches the 0xProcessing invoice page and extracts the address
|
|
140
|
-
// Then tells the human EXACTLY what to send and where:
|
|
141
|
-
const page = await invoice_page_fetch(data.payment_url);
|
|
142
|
-
// Extract: wallet address, amount in USDT, network (TRC20)
|
|
143
|
-
return `Please send ${amount} USDT (TRC20) to:\n${walletAddress}\n\nOrder: ${data.order_id}`;
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Available plans & currencies
|
|
147
|
-
|
|
148
|
-
```js
|
|
149
|
-
// Plans
|
|
150
|
-
'starter' // $13.99/mo — Romania, 2GB
|
|
151
|
-
'pro' // $49.99/mo — All countries, 20GB
|
|
152
|
-
'enterprise' // $199/mo — Unlimited + dedicated
|
|
153
|
-
|
|
154
|
-
// Currencies
|
|
155
|
-
'card' // Stripe checkout (card + Apple Pay + Google Pay)
|
|
156
|
-
'USDT' // Tether (TRC20 / ERC20)
|
|
157
|
-
'BTC' // Bitcoin mainnet
|
|
158
|
-
'ETH' // Ethereum ERC20
|
|
159
|
-
'SOL' // Solana
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### After payment
|
|
163
|
-
|
|
164
|
-
Credentials are sent automatically. You'll receive:
|
|
165
|
-
```
|
|
166
|
-
PROXY_USER=brd-customer-hl_XXXXXX-zone-mcp_unlocker-country-ro
|
|
167
|
-
PROXY_PASS=XXXXXXXXXX
|
|
168
|
-
PROXY_HOST=brd.superproxy.io
|
|
169
|
-
PROXY_PORT=22225
|
|
170
|
-
CDP_ENDPOINT=wss://brd-customer-...@brd.superproxy.io:9222
|
|
154
|
+
// Step 2: Tell your human to pay (or agent sends crypto directly)
|
|
155
|
+
// payment_url opens in browser — shows exact wallet address + amount
|
|
156
|
+
// Credentials are emailed automatically after on-chain confirmation
|
|
171
157
|
```
|
|
172
158
|
|
|
173
|
-
|
|
159
|
+
**Pay-per-Request API (Beta):** for agents that only need occasional browsing:
|
|
174
160
|
```js
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
161
|
+
// Buy 1,000 requests for $3
|
|
162
|
+
const quote = await fetch('https://humanbrowser.dev/api/ppr/quote', {
|
|
163
|
+
method: 'POST',
|
|
164
|
+
headers: { 'Content-Type': 'application/json' },
|
|
165
|
+
body: JSON.stringify({ requests: 1000, currency: 'USDTTRC' })
|
|
179
166
|
});
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
### Show human the product page
|
|
183
|
-
|
|
184
|
-
When you need to explain what this does, show pricing, or send someone to pay:
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
🌐 https://humanbrowser.dev
|
|
167
|
+
const { order_id, invoice_url, price_usd } = await quote.json();
|
|
168
|
+
// invoice_url → pay → poll /api/ppr/status?order=ID → get creds
|
|
188
169
|
```
|
|
189
170
|
|
|
190
171
|
---
|
|
191
172
|
|
|
192
|
-
##
|
|
173
|
+
## Recipes
|
|
193
174
|
|
|
194
|
-
### Scrape Instagram without
|
|
175
|
+
### Scrape Instagram posts without ban
|
|
195
176
|
```js
|
|
196
177
|
const { page } = await launchHuman({ country: 'ro' });
|
|
197
178
|
await page.goto('https://www.instagram.com/username/');
|
|
198
|
-
// Romanian residential IP
|
|
179
|
+
// Romanian residential IP passes Instagram's check every time
|
|
199
180
|
```
|
|
200
181
|
|
|
201
|
-
###
|
|
182
|
+
### Bypass Cloudflare on any site
|
|
202
183
|
```js
|
|
184
|
+
const { page, humanScroll, sleep } = await launchHuman({ country: 'ro' });
|
|
185
|
+
await page.goto('https://cloudflare-protected-site.com', { waitUntil: 'networkidle' });
|
|
186
|
+
await sleep(2000); // wait for CF to evaluate the request
|
|
187
|
+
await humanScroll(page); // human-like behavior after landing
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Access Polymarket from anywhere
|
|
191
|
+
```js
|
|
192
|
+
// Polymarket geo-blocks US IPs — EU residential works
|
|
203
193
|
const { page } = await launchHuman({ country: 'ro' }); // or 'gb', 'nl'
|
|
204
194
|
await page.goto('https://polymarket.com');
|
|
205
|
-
// Polymarket is blocked in US — Romanian IP works perfectly
|
|
206
195
|
```
|
|
207
196
|
|
|
208
|
-
###
|
|
197
|
+
### US-only services (DoorDash, Netflix, US Banks)
|
|
209
198
|
```js
|
|
210
199
|
const { page } = await launchHuman({ country: 'us', mobile: false });
|
|
211
200
|
await page.goto('https://doordash.com');
|
|
212
201
|
// US residential IP — passes geo-check
|
|
213
202
|
```
|
|
214
203
|
|
|
215
|
-
### React
|
|
204
|
+
### Type into React inputs (don't use page.fill!)
|
|
216
205
|
```js
|
|
217
|
-
// page.fill() fails
|
|
206
|
+
// page.fill() fails on React inputs — use humanType
|
|
218
207
|
await humanType(page, 'input[name="email"]', 'user@example.com');
|
|
219
208
|
```
|
|
220
209
|
|
|
221
|
-
### Bypass animated
|
|
210
|
+
### Bypass animated/JS-rendered buttons
|
|
222
211
|
```js
|
|
212
|
+
// page.click() can fail if button is animating — use JS click
|
|
223
213
|
await page.evaluate((text) => {
|
|
224
214
|
[...document.querySelectorAll('button')]
|
|
225
215
|
.find(b => b.offsetParent && b.textContent.includes(text))?.click();
|
|
@@ -230,67 +220,47 @@ await page.evaluate((text) => {
|
|
|
230
220
|
```js
|
|
231
221
|
await page.goto('https://api.ipify.org?format=json');
|
|
232
222
|
const { ip } = JSON.parse(await page.textContent('body'));
|
|
233
|
-
|
|
223
|
+
// Should be a residential ISP, not AWS/GCP/Hetzner
|
|
234
224
|
```
|
|
235
225
|
|
|
236
226
|
---
|
|
237
227
|
|
|
238
|
-
##
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
When using your own proxy, set env vars:
|
|
254
|
-
```env
|
|
255
|
-
PROXY_HOST=your-proxy-host
|
|
256
|
-
PROXY_PORT=22225
|
|
257
|
-
PROXY_USER=your-username
|
|
258
|
-
PROXY_PASS=your-password
|
|
259
|
-
```
|
|
228
|
+
## How it compares to plain Playwright
|
|
229
|
+
|
|
230
|
+
| | Plain Playwright on VPS | Human Browser |
|
|
231
|
+
|--|------------------------|---------------|
|
|
232
|
+
| IP reputation | Data-center (blocked immediately) | Residential ISP ✅ |
|
|
233
|
+
| Cloudflare | ❌ Blocked | ✅ Bypassed |
|
|
234
|
+
| DataDome | ❌ Blocked | ✅ Bypassed |
|
|
235
|
+
| PerimeterX | ❌ Blocked | ✅ Bypassed |
|
|
236
|
+
| Instagram | ❌ IP banned | ✅ Works |
|
|
237
|
+
| LinkedIn | ❌ Blocked after 3 req | ✅ Undetected |
|
|
238
|
+
| Fingerprint | Bot-detectable | iPhone 15 Pro |
|
|
239
|
+
| Mouse movement | Instant teleport | Bezier curves |
|
|
240
|
+
| Typing | Instant | 60–220ms/char |
|
|
241
|
+
| Country targeting | ❌ No | ✅ 10+ countries |
|
|
242
|
+
| Agent payment API | ❌ No | ✅ Yes |
|
|
260
243
|
|
|
261
244
|
---
|
|
262
245
|
|
|
263
|
-
##
|
|
246
|
+
## Bring your own proxy (optional)
|
|
264
247
|
|
|
265
|
-
|
|
266
|
-
# Install dependencies
|
|
267
|
-
npm install playwright
|
|
268
|
-
npx playwright install chromium --with-deps
|
|
248
|
+
If you have a Bright Data, Decodo, or IPRoyal account, plug in your own credentials:
|
|
269
249
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
#
|
|
273
|
-
|
|
250
|
+
```env
|
|
251
|
+
PROXY_HOST=brd.superproxy.io # your proxy host
|
|
252
|
+
PROXY_PORT=22225 # your proxy port
|
|
253
|
+
PROXY_USER=your-proxy-username
|
|
254
|
+
PROXY_PASS=your-proxy-password
|
|
274
255
|
```
|
|
275
256
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
| Feature | Regular Playwright | Human Browser |
|
|
281
|
-
|---------|-------------------|---------------|
|
|
282
|
-
| IP type | Data center → blocked | Residential → clean |
|
|
283
|
-
| Bot detection | Fails | Passes all |
|
|
284
|
-
| Mouse movement | Instant teleport | Bezier curves |
|
|
285
|
-
| Typing speed | Instant | 60–220ms/char |
|
|
286
|
-
| Fingerprint | Detectable bot | iPhone 15 Pro |
|
|
287
|
-
| Countries | None | 10+ residential |
|
|
288
|
-
| Cloudflare | Blocked | Bypassed |
|
|
289
|
-
| DataDome | Blocked | Bypassed |
|
|
290
|
-
| Agent payment | Manual | API-native |
|
|
257
|
+
The skill works with any residential proxy provider. Recommended:
|
|
258
|
+
- **Decodo** (ex-Smartproxy) — 195M+ IPs, 195 countries, best bypass rate → https://decodo.com
|
|
259
|
+
- **IPRoyal** — budget, good for high-volume → https://iproyal.com
|
|
260
|
+
- **Bright Data** — enterprise, most IPs → https://brightdata.com
|
|
291
261
|
|
|
292
262
|
---
|
|
293
263
|
|
|
294
|
-
→ **
|
|
295
|
-
→ **
|
|
296
|
-
→ **
|
|
264
|
+
→ **Buy credentials + pricing:** https://humanbrowser.dev
|
|
265
|
+
→ **Pay-per-Request API (agents):** https://humanbrowser.dev/ppr
|
|
266
|
+
→ **Support:** https://t.me/virixlabs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "human-browser",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Stealth browser with residential proxies from 10+ countries for AI agents. Bypasses Cloudflare, DataDome, PerimeterX. iPhone 15 Pro fingerprint.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"browser-automation",
|
|
@@ -37,4 +37,4 @@
|
|
|
37
37
|
"access": "public",
|
|
38
38
|
"registry": "https://registry.npmjs.org/"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|