human-browser 3.2.0 → 3.2.2
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 +1 -1
- package/SKILL.md +26 -3
- package/package.json +1 -1
- package/scripts/browser-human.js +56 -3
package/README.md
CHANGED
package/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: human-browser
|
|
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."
|
|
3
|
+
description: "Free trial available — no signup required. 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
6
|
# Human Browser — Stealth Browser for AI Agents
|
|
@@ -32,7 +32,30 @@ When an AI agent tries to scrape or automate a website from a cloud server, it g
|
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## Free Trial — Start in 30 seconds
|
|
36
|
+
|
|
37
|
+
No credit card. No signup. Just run:
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
const { launchHuman, getTrial } = require('./scripts/browser-human');
|
|
41
|
+
|
|
42
|
+
await getTrial(); // fetches free trial credentials automatically
|
|
43
|
+
const { page } = await launchHuman();
|
|
44
|
+
|
|
45
|
+
await page.goto('https://api.ipify.org?format=json');
|
|
46
|
+
console.log(await page.textContent('body')); // real residential IP from Romania
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
That's it. `getTrial()` fetches shared trial credentials (~100MB Romania IP) from humanbrowser.dev and sets them automatically. No env vars needed to start.
|
|
50
|
+
|
|
51
|
+
When trial bandwidth is used up:
|
|
52
|
+
```
|
|
53
|
+
Error: Trial credits exhausted → upgrade at https://humanbrowser.dev ($13.99/mo)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Full Setup (3 minutes)
|
|
36
59
|
|
|
37
60
|
### Step 1 — Get credentials
|
|
38
61
|
|
|
@@ -66,7 +89,7 @@ PROXY_PASS=your_password
|
|
|
66
89
|
### Step 3 — Install the skill
|
|
67
90
|
|
|
68
91
|
```bash
|
|
69
|
-
clawhub install
|
|
92
|
+
clawhub install human-browser
|
|
70
93
|
# or
|
|
71
94
|
npm install human-browser
|
|
72
95
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "human-browser",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.2",
|
|
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",
|
package/scripts/browser-human.js
CHANGED
|
@@ -40,8 +40,8 @@ function buildProxy(country = 'ro') {
|
|
|
40
40
|
// Proxy config — use env vars or defaults
|
|
41
41
|
const PROXY_HOST = process.env.PROXY_HOST || 'brd.superproxy.io';
|
|
42
42
|
const PROXY_PORT = process.env.PROXY_PORT || '22225';
|
|
43
|
-
const PROXY_USER = process.env.PROXY_USER ||
|
|
44
|
-
const PROXY_PASS = process.env.PROXY_PASS || '
|
|
43
|
+
const PROXY_USER = process.env.PROXY_USER || '';
|
|
44
|
+
const PROXY_PASS = process.env.PROXY_PASS || '';
|
|
45
45
|
|
|
46
46
|
// Also support legacy env var names for backward compatibility
|
|
47
47
|
const server = process.env.PROXY_SERVER || `http://${PROXY_HOST}:${PROXY_PORT}`;
|
|
@@ -228,7 +228,60 @@ async function launchHuman(opts = {}) {
|
|
|
228
228
|
return { browser, ctx, page, humanClick, humanMouseMove, humanType, humanScroll, humanRead, sleep, rand };
|
|
229
229
|
}
|
|
230
230
|
|
|
231
|
-
|
|
231
|
+
// ─── TRIAL ────────────────────────────────────────────────────────────────────
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Get free trial credentials from humanbrowser.dev
|
|
235
|
+
* Fetches shared trial proxy (~100MB, Romania). Sets env vars automatically.
|
|
236
|
+
*
|
|
237
|
+
* Usage:
|
|
238
|
+
* const { launchHuman, getTrial } = require('./browser-human');
|
|
239
|
+
* await getTrial(); // sets PROXY_USER/PASS in process.env
|
|
240
|
+
* const { page } = await launchHuman(); // now uses trial credentials
|
|
241
|
+
*
|
|
242
|
+
* When trial runs out → throws { code: 'TRIAL_EXHAUSTED', cta_url: '...' }
|
|
243
|
+
*/
|
|
244
|
+
async function getTrial() {
|
|
245
|
+
let https;
|
|
246
|
+
try { https = require('https'); } catch { https = require('http'); }
|
|
247
|
+
|
|
248
|
+
return new Promise((resolve, reject) => {
|
|
249
|
+
const req = https.get('https://humanbrowser.dev/api/trial', (res) => {
|
|
250
|
+
let body = '';
|
|
251
|
+
res.on('data', chunk => body += chunk);
|
|
252
|
+
res.on('end', () => {
|
|
253
|
+
try {
|
|
254
|
+
const data = JSON.parse(body);
|
|
255
|
+
if (data.error || res.statusCode !== 200) {
|
|
256
|
+
const err = new Error(data.error || 'Trial unavailable');
|
|
257
|
+
err.code = 'TRIAL_UNAVAILABLE';
|
|
258
|
+
err.cta_url = 'https://humanbrowser.dev';
|
|
259
|
+
return reject(err);
|
|
260
|
+
}
|
|
261
|
+
// Auto-set env vars so launchHuman() picks them up
|
|
262
|
+
process.env.PROXY_HOST = data.proxy_host;
|
|
263
|
+
process.env.PROXY_PORT = data.proxy_port;
|
|
264
|
+
process.env.PROXY_USER = data.proxy_user;
|
|
265
|
+
process.env.PROXY_PASS = data.proxy_pass;
|
|
266
|
+
|
|
267
|
+
console.log('🎉 Human Browser trial activated! (~100MB Romania residential IP)');
|
|
268
|
+
console.log(' Upgrade at: https://humanbrowser.dev\n');
|
|
269
|
+
resolve(data);
|
|
270
|
+
} catch (e) {
|
|
271
|
+
reject(e);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
req.on('error', (e) => {
|
|
276
|
+
const err = new Error('Could not reach humanbrowser.dev: ' + e.message);
|
|
277
|
+
err.code = 'TRIAL_NETWORK_ERROR';
|
|
278
|
+
reject(err);
|
|
279
|
+
});
|
|
280
|
+
req.setTimeout(10000, () => { req.destroy(); reject(new Error('Trial request timed out')); });
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
module.exports = { launchHuman, getTrial, humanClick, humanMouseMove, humanType, humanScroll, humanRead, sleep, rand, COUNTRY_META };
|
|
232
285
|
|
|
233
286
|
// ─── QUICK TEST ───────────────────────────────────────────────────────────────
|
|
234
287
|
if (require.main === module) {
|