webpeel 0.16.0 → 0.17.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/LICENSE +11 -657
- package/README.md +246 -325
- package/dist/cli.js +330 -73
- package/dist/cli.js.map +1 -1
- package/dist/core/browser-fetch.d.ts +12 -0
- package/dist/core/browser-fetch.d.ts.map +1 -1
- package/dist/core/browser-fetch.js +70 -17
- package/dist/core/browser-fetch.js.map +1 -1
- package/dist/core/cf-worker-proxy.d.ts +33 -0
- package/dist/core/cf-worker-proxy.d.ts.map +1 -0
- package/dist/core/cf-worker-proxy.js +88 -0
- package/dist/core/cf-worker-proxy.js.map +1 -0
- package/dist/core/chunker.d.ts +47 -0
- package/dist/core/chunker.d.ts.map +1 -0
- package/dist/core/chunker.js +250 -0
- package/dist/core/chunker.js.map +1 -0
- package/dist/core/cloak-fetch.d.ts +43 -0
- package/dist/core/cloak-fetch.d.ts.map +1 -0
- package/dist/core/cloak-fetch.js +141 -0
- package/dist/core/cloak-fetch.js.map +1 -0
- package/dist/core/crawl-checkpoint.d.ts +55 -0
- package/dist/core/crawl-checkpoint.d.ts.map +1 -0
- package/dist/core/crawl-checkpoint.js +105 -0
- package/dist/core/crawl-checkpoint.js.map +1 -0
- package/dist/core/crawler.d.ts +5 -1
- package/dist/core/crawler.d.ts.map +1 -1
- package/dist/core/crawler.js +60 -5
- package/dist/core/crawler.js.map +1 -1
- package/dist/core/cycle-fetch.d.ts +27 -0
- package/dist/core/cycle-fetch.d.ts.map +1 -0
- package/dist/core/cycle-fetch.js +99 -0
- package/dist/core/cycle-fetch.js.map +1 -0
- package/dist/core/domain-extractors.d.ts.map +1 -1
- package/dist/core/domain-extractors.js +754 -14
- package/dist/core/domain-extractors.js.map +1 -1
- package/dist/core/google-cache.d.ts +30 -0
- package/dist/core/google-cache.d.ts.map +1 -0
- package/dist/core/google-cache.js +181 -0
- package/dist/core/google-cache.js.map +1 -0
- package/dist/core/markdown.d.ts +11 -0
- package/dist/core/markdown.d.ts.map +1 -1
- package/dist/core/markdown.js +43 -0
- package/dist/core/markdown.js.map +1 -1
- package/dist/core/peel-tls.d.ts +26 -0
- package/dist/core/peel-tls.d.ts.map +1 -0
- package/dist/core/peel-tls.js +221 -0
- package/dist/core/peel-tls.js.map +1 -0
- package/dist/core/pipeline.d.ts +5 -1
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +269 -21
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/schema-postprocess.d.ts +33 -0
- package/dist/core/schema-postprocess.d.ts.map +1 -0
- package/dist/core/schema-postprocess.js +470 -0
- package/dist/core/schema-postprocess.js.map +1 -0
- package/dist/core/schema-templates.d.ts +20 -0
- package/dist/core/schema-templates.d.ts.map +1 -0
- package/dist/core/schema-templates.js +131 -0
- package/dist/core/schema-templates.js.map +1 -0
- package/dist/core/search-fallback.d.ts +28 -0
- package/dist/core/search-fallback.d.ts.map +1 -0
- package/dist/core/search-fallback.js +185 -0
- package/dist/core/search-fallback.js.map +1 -0
- package/dist/core/search-provider.d.ts +47 -4
- package/dist/core/search-provider.d.ts.map +1 -1
- package/dist/core/search-provider.js +278 -7
- package/dist/core/search-provider.js.map +1 -1
- package/dist/core/stealth-patches.d.ts +58 -0
- package/dist/core/stealth-patches.d.ts.map +1 -0
- package/dist/core/stealth-patches.js +340 -0
- package/dist/core/stealth-patches.js.map +1 -0
- package/dist/core/strategies.d.ts +20 -0
- package/dist/core/strategies.d.ts.map +1 -1
- package/dist/core/strategies.js +284 -48
- package/dist/core/strategies.js.map +1 -1
- package/dist/core/strategy-hooks.d.ts +1 -1
- package/dist/core/strategy-hooks.d.ts.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -15
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +109 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +29 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/middleware/rate-limit.d.ts +2 -1
- package/dist/server/middleware/rate-limit.d.ts.map +1 -1
- package/dist/server/middleware/rate-limit.js +24 -8
- package/dist/server/middleware/rate-limit.js.map +1 -1
- package/dist/server/routes/agent.d.ts +4 -0
- package/dist/server/routes/agent.d.ts.map +1 -1
- package/dist/server/routes/agent.js +196 -9
- package/dist/server/routes/agent.js.map +1 -1
- package/dist/server/routes/batch.js +5 -5
- package/dist/server/routes/batch.js.map +1 -1
- package/dist/server/routes/compat.d.ts.map +1 -1
- package/dist/server/routes/compat.js +1 -0
- package/dist/server/routes/compat.js.map +1 -1
- package/dist/server/routes/fetch.d.ts.map +1 -1
- package/dist/server/routes/fetch.js +60 -6
- package/dist/server/routes/fetch.js.map +1 -1
- package/dist/server/routes/mcp.d.ts.map +1 -1
- package/dist/server/routes/mcp.js +103 -2
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/routes/search.js +1 -1
- package/dist/server/routes/search.js.map +1 -1
- package/dist/types.d.ts +55 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/llms.txt +55 -125
- package/package.json +15 -1
package/dist/core/strategies.js
CHANGED
|
@@ -195,7 +195,7 @@ function prefetchDns(url) {
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
async function fetchWithBrowserStrategy(url, options) {
|
|
198
|
-
const { userAgent, waitMs, timeoutMs, screenshot, screenshotFullPage, headers, cookies, actions, keepPageOpen, effectiveStealth, signal, profileDir, headed, storageState, proxy, } = options;
|
|
198
|
+
const { userAgent, waitMs, timeoutMs, screenshot, screenshotFullPage, headers, cookies, actions, keepPageOpen, effectiveStealth, signal, profileDir, headed, storageState, proxy, device, viewportWidth, viewportHeight, waitUntil, waitSelector, blockResources, } = options;
|
|
199
199
|
try {
|
|
200
200
|
const result = await browserFetch(url, {
|
|
201
201
|
userAgent,
|
|
@@ -213,6 +213,12 @@ async function fetchWithBrowserStrategy(url, options) {
|
|
|
213
213
|
headed,
|
|
214
214
|
proxy,
|
|
215
215
|
storageState,
|
|
216
|
+
device,
|
|
217
|
+
viewportWidth,
|
|
218
|
+
viewportHeight,
|
|
219
|
+
waitUntil,
|
|
220
|
+
waitSelector,
|
|
221
|
+
blockResources,
|
|
216
222
|
});
|
|
217
223
|
return {
|
|
218
224
|
...result,
|
|
@@ -302,11 +308,17 @@ async function fetchWithBrowserStrategy(url, options) {
|
|
|
302
308
|
* With premium hooks: SWR cache → domain intel → parallel race → escalation.
|
|
303
309
|
*/
|
|
304
310
|
export async function smartFetch(url, options = {}) {
|
|
305
|
-
const { forceBrowser = false, stealth = false, waitMs = 0, userAgent, timeoutMs = 30000, screenshot = false, screenshotFullPage = false, headers, cookies, actions, keepPageOpen = false, noCache = false, raceTimeoutMs = 2000, profileDir, headed = false, storageState, proxy, } = options;
|
|
311
|
+
const { forceBrowser = false, stealth = false, waitMs = 0, userAgent, timeoutMs = 30000, screenshot = false, screenshotFullPage = false, headers, cookies, actions, keepPageOpen = false, noCache = false, raceTimeoutMs = 2000, profileDir, headed = false, storageState, proxy, proxies, device, viewportWidth, viewportHeight, waitUntil, waitSelector, blockResources, cloaked = false, cycle = false, tls = false, } = options;
|
|
312
|
+
const usePeelTLS = tls || cycle;
|
|
313
|
+
// Build effective proxy list: explicit proxies array, or single proxy, or empty
|
|
314
|
+
const effectiveProxies = proxies?.length ? proxies :
|
|
315
|
+
proxy ? [proxy] :
|
|
316
|
+
[undefined]; // undefined = direct connection (no proxy)
|
|
317
|
+
const firstProxy = effectiveProxies[0];
|
|
306
318
|
const hooks = getStrategyHooks();
|
|
307
319
|
const fetchStartMs = Date.now();
|
|
308
320
|
const recordMethod = (method) => {
|
|
309
|
-
if (method === 'cached')
|
|
321
|
+
if (method === 'cached' || method === 'cloaked' || method === 'cycle' || method === 'peeltls' || method === 'cf-worker' || method === 'google-cache')
|
|
310
322
|
return;
|
|
311
323
|
hooks.recordDomainResult?.(url, method, Date.now() - fetchStartMs);
|
|
312
324
|
};
|
|
@@ -334,7 +346,72 @@ export async function smartFetch(url, options = {}) {
|
|
|
334
346
|
!cookies &&
|
|
335
347
|
waitMs === 0 &&
|
|
336
348
|
!userAgent &&
|
|
337
|
-
!proxy
|
|
349
|
+
!proxy &&
|
|
350
|
+
!proxies?.length;
|
|
351
|
+
/* ---- CloakBrowser direct path (if explicitly requested) -------------- */
|
|
352
|
+
if (cloaked) {
|
|
353
|
+
try {
|
|
354
|
+
const { cloakFetch, isCloakBrowserAvailable } = await import('./cloak-fetch.js');
|
|
355
|
+
if (!isCloakBrowserAvailable()) {
|
|
356
|
+
throw new Error('CloakBrowser not installed. Run: npm install cloakbrowser playwright-core');
|
|
357
|
+
}
|
|
358
|
+
if (process.env.DEBUG)
|
|
359
|
+
console.debug('[webpeel]', 'Using CloakBrowser stealth (explicitly requested)');
|
|
360
|
+
const result = await cloakFetch({
|
|
361
|
+
url,
|
|
362
|
+
proxy: effectiveProxies[0],
|
|
363
|
+
userAgent,
|
|
364
|
+
viewportWidth,
|
|
365
|
+
viewportHeight,
|
|
366
|
+
waitMs,
|
|
367
|
+
waitSelector,
|
|
368
|
+
waitUntil,
|
|
369
|
+
timeoutMs,
|
|
370
|
+
screenshot,
|
|
371
|
+
screenshotFullPage,
|
|
372
|
+
actions,
|
|
373
|
+
headers,
|
|
374
|
+
headed,
|
|
375
|
+
});
|
|
376
|
+
if (canUseCache && !result.challengeDetected) {
|
|
377
|
+
hooks.setCache?.(url, result) ?? setBasicCache(url, result);
|
|
378
|
+
}
|
|
379
|
+
recordMethod(result.method);
|
|
380
|
+
return result;
|
|
381
|
+
}
|
|
382
|
+
catch (e) {
|
|
383
|
+
if (isAbortError(e))
|
|
384
|
+
throw e;
|
|
385
|
+
throw e; // Don't fall back — user explicitly requested cloaked mode
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
/* ---- PeelTLS direct path (if explicitly requested via --tls or --cycle) */
|
|
389
|
+
if (usePeelTLS) {
|
|
390
|
+
try {
|
|
391
|
+
const { peelTLSFetch, isPeelTLSAvailable } = await import('./peel-tls.js');
|
|
392
|
+
if (!isPeelTLSAvailable()) {
|
|
393
|
+
throw new Error('PeelTLS binary not found. Build it with: cd peeltls && bash build.sh');
|
|
394
|
+
}
|
|
395
|
+
if (process.env.DEBUG)
|
|
396
|
+
console.debug('[webpeel]', 'Using PeelTLS fingerprint spoofing (explicitly requested)');
|
|
397
|
+
const result = await peelTLSFetch(url, {
|
|
398
|
+
proxy: firstProxy,
|
|
399
|
+
headers,
|
|
400
|
+
timeout: timeoutMs,
|
|
401
|
+
});
|
|
402
|
+
const peelResult = { ...result, method: 'peeltls' };
|
|
403
|
+
if (canUseCache) {
|
|
404
|
+
hooks.setCache?.(url, peelResult) ?? setBasicCache(url, peelResult);
|
|
405
|
+
}
|
|
406
|
+
recordMethod('peeltls');
|
|
407
|
+
return peelResult;
|
|
408
|
+
}
|
|
409
|
+
catch (e) {
|
|
410
|
+
if (isAbortError(e))
|
|
411
|
+
throw e;
|
|
412
|
+
throw e; // Don't fall back — user explicitly requested tls mode
|
|
413
|
+
}
|
|
414
|
+
}
|
|
338
415
|
/* ---- hook-based cache check (premium) -------------------------------- */
|
|
339
416
|
if (canUseCache && hooks.checkCache) {
|
|
340
417
|
const cached = hooks.checkCache(url);
|
|
@@ -343,7 +420,7 @@ export async function smartFetch(url, options = {}) {
|
|
|
343
420
|
// Background revalidation — fire-and-forget
|
|
344
421
|
void (async () => {
|
|
345
422
|
try {
|
|
346
|
-
const fresh = await simpleFetch(url, userAgent, timeoutMs, undefined, undefined,
|
|
423
|
+
const fresh = await simpleFetch(url, userAgent, timeoutMs, undefined, undefined, firstProxy);
|
|
347
424
|
if (!looksLikeShellPage(fresh)) {
|
|
348
425
|
hooks.setCache?.(url, { ...fresh, method: 'simple' });
|
|
349
426
|
}
|
|
@@ -389,12 +466,18 @@ export async function smartFetch(url, options = {}) {
|
|
|
389
466
|
profileDir,
|
|
390
467
|
headed,
|
|
391
468
|
storageState,
|
|
392
|
-
proxy,
|
|
469
|
+
proxy: firstProxy,
|
|
470
|
+
device,
|
|
471
|
+
viewportWidth,
|
|
472
|
+
viewportHeight,
|
|
473
|
+
waitUntil,
|
|
474
|
+
waitSelector,
|
|
475
|
+
blockResources,
|
|
393
476
|
};
|
|
394
477
|
/* ---- Strategy: simple fetch (with optional race) --------------------- */
|
|
395
478
|
if (!shouldUseBrowser) {
|
|
396
479
|
const simpleAbortController = new AbortController();
|
|
397
|
-
const simplePromise = retryFetch(() => simpleFetch(url, userAgent, timeoutMs, headers, simpleAbortController.signal,
|
|
480
|
+
const simplePromise = retryFetch(() => simpleFetch(url, userAgent, timeoutMs, headers, simpleAbortController.signal, firstProxy), 3).then((result) => {
|
|
398
481
|
if (looksLikeShellPage(result) || hasSpaIndicators(result.html)) {
|
|
399
482
|
throw new BlockedError('Shell page detected. Browser rendering required.');
|
|
400
483
|
}
|
|
@@ -548,52 +631,205 @@ export async function smartFetch(url, options = {}) {
|
|
|
548
631
|
}
|
|
549
632
|
}
|
|
550
633
|
/* ---- browser / stealth fallback with challenge-detection cascade ----- */
|
|
551
|
-
//
|
|
552
|
-
let
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
634
|
+
// Try each proxy in sequence until one succeeds
|
|
635
|
+
let lastError;
|
|
636
|
+
for (let proxyIdx = 0; proxyIdx < effectiveProxies.length; proxyIdx++) {
|
|
637
|
+
const currentProxy = effectiveProxies[proxyIdx];
|
|
638
|
+
const isLastProxy = proxyIdx === effectiveProxies.length - 1;
|
|
639
|
+
try {
|
|
640
|
+
const currentBrowserOptions = { ...browserOptions, proxy: currentProxy };
|
|
641
|
+
// Attempt 1: browser (or stealth, if already forced)
|
|
642
|
+
let finalResult = await fetchWithBrowserStrategy(url, currentBrowserOptions);
|
|
643
|
+
// Check if the browser result is itself a bot-challenge page
|
|
644
|
+
const browserChallengeCheck = detectChallenge(finalResult.html, finalResult.statusCode);
|
|
645
|
+
if (browserChallengeCheck.isChallenge && browserChallengeCheck.confidence >= 0.7) {
|
|
646
|
+
if (!currentBrowserOptions.effectiveStealth) {
|
|
647
|
+
// Attempt 2: escalate to stealth
|
|
648
|
+
const stealthOptions = {
|
|
649
|
+
...currentBrowserOptions,
|
|
650
|
+
effectiveStealth: true,
|
|
651
|
+
};
|
|
652
|
+
finalResult = await fetchWithBrowserStrategy(url, stealthOptions);
|
|
653
|
+
const stealthChallengeCheck = detectChallenge(finalResult.html, finalResult.statusCode);
|
|
654
|
+
if (stealthChallengeCheck.isChallenge && stealthChallengeCheck.confidence >= 0.7) {
|
|
655
|
+
// Attempt 3: stealth + 5s extra wait
|
|
656
|
+
const stealthExtraOptions = {
|
|
657
|
+
...stealthOptions,
|
|
658
|
+
waitMs: stealthOptions.waitMs + 5000,
|
|
659
|
+
};
|
|
660
|
+
finalResult = await fetchWithBrowserStrategy(url, stealthExtraOptions);
|
|
661
|
+
const finalChallengeCheck = detectChallenge(finalResult.html, finalResult.statusCode);
|
|
662
|
+
if (finalChallengeCheck.isChallenge && finalChallengeCheck.confidence >= 0.7) {
|
|
663
|
+
if (!isLastProxy) {
|
|
664
|
+
// More proxies to try — move on to the next one
|
|
665
|
+
lastError = new BlockedError(`Challenge detected with proxy ${currentProxy || 'direct'}`);
|
|
666
|
+
continue;
|
|
667
|
+
}
|
|
668
|
+
// Last proxy: give up and return with warning flag (preserve original behaviour)
|
|
669
|
+
finalResult = { ...finalResult, challengeDetected: true };
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
else {
|
|
674
|
+
// Already in stealth mode; retry with 5s extra wait
|
|
675
|
+
const stealthExtraOptions = {
|
|
676
|
+
...currentBrowserOptions,
|
|
677
|
+
waitMs: currentBrowserOptions.waitMs + 5000,
|
|
678
|
+
};
|
|
679
|
+
finalResult = await fetchWithBrowserStrategy(url, stealthExtraOptions);
|
|
680
|
+
const finalChallengeCheck = detectChallenge(finalResult.html, finalResult.statusCode);
|
|
681
|
+
if (finalChallengeCheck.isChallenge && finalChallengeCheck.confidence >= 0.7) {
|
|
682
|
+
if (!isLastProxy) {
|
|
683
|
+
// More proxies to try — move on to the next one
|
|
684
|
+
lastError = new BlockedError(`Challenge detected with proxy ${currentProxy || 'direct'}`);
|
|
685
|
+
continue;
|
|
686
|
+
}
|
|
687
|
+
// Last proxy: give up and return with warning flag (preserve original behaviour)
|
|
688
|
+
finalResult = { ...finalResult, challengeDetected: true };
|
|
689
|
+
}
|
|
575
690
|
}
|
|
576
691
|
}
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
692
|
+
// If still challenged after stealth+wait, try PeelTLS (TLS fingerprint spoofing)
|
|
693
|
+
if (finalResult.challengeDetected) {
|
|
694
|
+
try {
|
|
695
|
+
const { peelTLSFetch, isPeelTLSAvailable } = await import('./peel-tls.js');
|
|
696
|
+
if (isPeelTLSAvailable()) {
|
|
697
|
+
if (process.env.DEBUG)
|
|
698
|
+
console.debug('[webpeel]', 'Escalating to PeelTLS fingerprint spoofing');
|
|
699
|
+
const peelResult = await peelTLSFetch(url, {
|
|
700
|
+
proxy: currentProxy,
|
|
701
|
+
headers,
|
|
702
|
+
timeout: timeoutMs,
|
|
703
|
+
});
|
|
704
|
+
const peelStrategyResult = { ...peelResult, method: 'peeltls' };
|
|
705
|
+
const peelChallengeCheck = detectChallenge(peelResult.html, peelResult.statusCode);
|
|
706
|
+
if (!peelChallengeCheck.isChallenge || peelChallengeCheck.confidence < 0.7) {
|
|
707
|
+
// PeelTLS succeeded
|
|
708
|
+
if (canUseCache) {
|
|
709
|
+
hooks.setCache?.(url, peelStrategyResult) ?? setBasicCache(url, peelStrategyResult);
|
|
710
|
+
}
|
|
711
|
+
recordMethod('peeltls');
|
|
712
|
+
return peelStrategyResult;
|
|
713
|
+
}
|
|
714
|
+
// PeelTLS still challenged — fall through to CloakBrowser
|
|
715
|
+
if (process.env.DEBUG)
|
|
716
|
+
console.debug('[webpeel]', 'PeelTLS still challenged, escalating to CloakBrowser');
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
catch (peelError) {
|
|
720
|
+
if (process.env.DEBUG)
|
|
721
|
+
console.debug('[webpeel]', 'PeelTLS failed:', peelError instanceof Error ? peelError.message : peelError);
|
|
722
|
+
// Fall through to CloakBrowser
|
|
723
|
+
}
|
|
589
724
|
}
|
|
725
|
+
// If still challenged after PeelTLS, try Cloudflare Worker proxy (clean edge IPs)
|
|
726
|
+
if (finalResult.challengeDetected) {
|
|
727
|
+
try {
|
|
728
|
+
const { cfWorkerFetch, isCfWorkerAvailable } = await import('./cf-worker-proxy.js');
|
|
729
|
+
if (isCfWorkerAvailable()) {
|
|
730
|
+
if (process.env.DEBUG)
|
|
731
|
+
console.debug('[webpeel]', 'Escalating to CF Worker proxy');
|
|
732
|
+
const cfResult = await cfWorkerFetch(url, {
|
|
733
|
+
headers,
|
|
734
|
+
timeout: timeoutMs,
|
|
735
|
+
});
|
|
736
|
+
const cfStrategyResult = { ...cfResult, method: 'cf-worker' };
|
|
737
|
+
const cfChallengeCheck = detectChallenge(cfResult.html, cfResult.statusCode);
|
|
738
|
+
if (!cfChallengeCheck.isChallenge || cfChallengeCheck.confidence < 0.7) {
|
|
739
|
+
// CF Worker succeeded
|
|
740
|
+
if (canUseCache) {
|
|
741
|
+
hooks.setCache?.(url, cfStrategyResult) ?? setBasicCache(url, cfStrategyResult);
|
|
742
|
+
}
|
|
743
|
+
recordMethod('cf-worker');
|
|
744
|
+
return cfStrategyResult;
|
|
745
|
+
}
|
|
746
|
+
if (process.env.DEBUG)
|
|
747
|
+
console.debug('[webpeel]', 'CF Worker still challenged, escalating to CloakBrowser');
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
catch (cfError) {
|
|
751
|
+
if (process.env.DEBUG)
|
|
752
|
+
console.debug('[webpeel]', 'CF Worker proxy failed:', cfError instanceof Error ? cfError.message : cfError);
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
// If still challenged after CF Worker, try CloakBrowser
|
|
756
|
+
if (finalResult.challengeDetected) {
|
|
757
|
+
try {
|
|
758
|
+
const { cloakFetch, isCloakBrowserAvailable } = await import('./cloak-fetch.js');
|
|
759
|
+
if (isCloakBrowserAvailable()) {
|
|
760
|
+
if (process.env.DEBUG)
|
|
761
|
+
console.debug('[webpeel]', 'Escalating to CloakBrowser stealth');
|
|
762
|
+
const cloakResult = await cloakFetch({
|
|
763
|
+
url,
|
|
764
|
+
proxy: currentProxy,
|
|
765
|
+
userAgent,
|
|
766
|
+
viewportWidth,
|
|
767
|
+
viewportHeight,
|
|
768
|
+
waitMs,
|
|
769
|
+
waitSelector,
|
|
770
|
+
waitUntil,
|
|
771
|
+
timeoutMs,
|
|
772
|
+
screenshot,
|
|
773
|
+
screenshotFullPage,
|
|
774
|
+
actions,
|
|
775
|
+
headers,
|
|
776
|
+
headed,
|
|
777
|
+
});
|
|
778
|
+
if (canUseCache && !cloakResult.challengeDetected) {
|
|
779
|
+
hooks.setCache?.(url, cloakResult) ?? setBasicCache(url, cloakResult);
|
|
780
|
+
}
|
|
781
|
+
recordMethod(cloakResult.method);
|
|
782
|
+
return cloakResult;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
catch (cloakError) {
|
|
786
|
+
if (process.env.DEBUG)
|
|
787
|
+
console.debug('[webpeel]', 'CloakBrowser failed:', cloakError instanceof Error ? cloakError.message : cloakError);
|
|
788
|
+
// Fall through to Google Cache fallback
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
// If still challenged after PeelTLS/CloakBrowser, try Google Cache
|
|
792
|
+
if (finalResult.challengeDetected) {
|
|
793
|
+
try {
|
|
794
|
+
const { fetchGoogleCache } = await import('./google-cache.js');
|
|
795
|
+
const cacheResult = await fetchGoogleCache(url, { timeout: timeoutMs });
|
|
796
|
+
if (cacheResult && cacheResult.html.length > 200) {
|
|
797
|
+
if (process.env.DEBUG)
|
|
798
|
+
console.debug('[webpeel]', 'Using Google Cache fallback');
|
|
799
|
+
const cacheStrategyResult = {
|
|
800
|
+
html: cacheResult.html,
|
|
801
|
+
url: cacheResult.url,
|
|
802
|
+
statusCode: cacheResult.statusCode,
|
|
803
|
+
contentType: 'text/html',
|
|
804
|
+
method: 'google-cache',
|
|
805
|
+
};
|
|
806
|
+
return cacheStrategyResult;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
catch (cacheError) {
|
|
810
|
+
if (process.env.DEBUG)
|
|
811
|
+
console.debug('[webpeel]', 'Google Cache failed:', cacheError);
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
// Success (or gave up with challengeDetected=true on the last proxy)
|
|
815
|
+
if (canUseCache && !finalResult.challengeDetected) {
|
|
816
|
+
hooks.setCache?.(url, finalResult) ?? setBasicCache(url, finalResult);
|
|
817
|
+
}
|
|
818
|
+
recordMethod(finalResult.method);
|
|
819
|
+
return finalResult;
|
|
820
|
+
}
|
|
821
|
+
catch (e) {
|
|
822
|
+
lastError = e;
|
|
823
|
+
if (isAbortError(e))
|
|
824
|
+
throw e; // Don't retry on abort
|
|
825
|
+
// Log and try next proxy
|
|
826
|
+
if (process.env.DEBUG)
|
|
827
|
+
console.debug('[webpeel]', `proxy ${currentProxy || 'direct'} failed:`, e instanceof Error ? e.message : e);
|
|
828
|
+
// If last proxy, throw below; otherwise continue loop
|
|
590
829
|
}
|
|
591
830
|
}
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
}
|
|
595
|
-
recordMethod(finalResult.method);
|
|
596
|
-
return finalResult;
|
|
831
|
+
// All proxies exhausted — throw the last error
|
|
832
|
+
throw lastError;
|
|
597
833
|
}
|
|
598
834
|
/* ---------- legacy export for tests ------------------------------------- */
|
|
599
835
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/core/strategies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/core/strategies.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { FetchResult } from './fetcher.js';
|
|
13
13
|
export interface StrategyResult extends FetchResult {
|
|
14
|
-
method: 'simple' | 'browser' | 'stealth' | 'cached';
|
|
14
|
+
method: 'simple' | 'browser' | 'stealth' | 'cached' | 'cloaked' | 'cycle' | 'peeltls' | 'cf-worker' | 'google-cache';
|
|
15
15
|
/**
|
|
16
16
|
* Set to true when the final response still appears to be a bot-challenge
|
|
17
17
|
* page after all escalation attempts have been exhausted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy-hooks.d.ts","sourceRoot":"","sources":["../../src/core/strategy-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"strategy-hooks.d.ts","sourceRoot":"","sources":["../../src/core/strategy-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;IACrH;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,cAAc,CAAC;IACtB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAG5B;;;;OAIG;IACH,UAAU,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAElD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAIrD;;;;OAIG;IACH,uBAAuB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,kBAAkB,CAAC,CACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC;IAIR;;;OAGG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,IAAI,MAAM,CAAC;CAC7B;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAAC,aAAa,CAAC,CAE1D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,11 @@ export { watch, parseDuration, parseAssertion, type WatchOptions, type Assertion
|
|
|
32
32
|
export { diffUrl, type DiffOptions, type DiffResult, type DiffChange, } from './core/diff.js';
|
|
33
33
|
export { extractReadableContent, type ReadabilityResult, type ReadabilityOptions } from './core/readability.js';
|
|
34
34
|
export { quickAnswer, type QuickAnswerOptions, type QuickAnswerResult } from './core/quick-answer.js';
|
|
35
|
+
export { extractValueFromPassage, smartExtractSchemaFields } from './core/schema-postprocess.js';
|
|
35
36
|
export { Timer, type PipelineTiming } from './core/timing.js';
|
|
37
|
+
export { chunkContent, type ChunkOptions, type ContentChunk, type ChunkResult } from './core/chunker.js';
|
|
38
|
+
export { searchFallback, type SearchFallbackResult } from './core/search-fallback.js';
|
|
39
|
+
export { peelTLSFetch, isPeelTLSAvailable, shutdownPeelTLS, type PeelTLSOptions, type PeelTLSResult } from './core/peel-tls.js';
|
|
36
40
|
/**
|
|
37
41
|
* Fetch and extract content from a URL
|
|
38
42
|
*
|
|
@@ -67,6 +71,7 @@ export declare function peel(url: string, options?: PeelOptions): Promise<PeelRe
|
|
|
67
71
|
*/
|
|
68
72
|
export declare function peelBatch(urls: string[], options?: PeelOptions & {
|
|
69
73
|
concurrency?: number;
|
|
74
|
+
onProgress?: (completed: number, total: number) => void;
|
|
70
75
|
}): Promise<(PeelResult | {
|
|
71
76
|
url: string;
|
|
72
77
|
error: string;
|
|
@@ -79,4 +84,10 @@ export { cleanup, warmup, closePool, scrollAndWait, closeProfileBrowser };
|
|
|
79
84
|
export { getCached, setCached, clearCache, setCacheTTL } from './core/cache.js';
|
|
80
85
|
export { getRealisticUserAgent, getRandomUA, REALISTIC_USER_AGENTS, } from './core/user-agents.js';
|
|
81
86
|
export { humanDelay, humanMouseMove, humanRead, warmupBrowse, humanType, humanClearAndType, humanClick, humanScroll, humanScrollToElement, warmupSession, humanSelect, humanUploadFile, humanToggle, type HumanConfig, } from './core/human.js';
|
|
87
|
+
export { SCHEMA_TEMPLATES, getSchemaTemplate, listSchemaTemplates, type SchemaTemplate } from './core/schema-templates.js';
|
|
88
|
+
export { WebPeelLoader, type WebPeelLoaderOptions } from './integrations/langchain.js';
|
|
89
|
+
export { WebPeelReader, type WebPeelReaderOptions } from './integrations/llamaindex.js';
|
|
90
|
+
export { applyStealthPatches, applyAcceptLanguageHeader } from './core/stealth-patches.js';
|
|
91
|
+
export { fetchGoogleCache, isGoogleCacheAvailable, type GoogleCacheResult } from './core/google-cache.js';
|
|
92
|
+
export { cfWorkerFetch, isCfWorkerAvailable, type CfWorkerProxyOptions, type CfWorkerProxyResult } from './core/cf-worker-proxy.js';
|
|
82
93
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|