human-browser 3.2.0 → 3.2.1

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/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
- ## Setup (3 minutes)
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "human-browser",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
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",
@@ -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
- module.exports = { launchHuman, humanClick, humanMouseMove, humanType, humanScroll, humanRead, sleep, rand, COUNTRY_META };
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) {