cbrowser 16.3.0 → 16.5.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 +13 -7
- package/dist/browser.d.ts +25 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +134 -0
- package/dist/browser.js.map +1 -1
- package/dist/config.d.ts +3 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +29 -0
- package/dist/config.js.map +1 -1
- package/dist/mcp-server-remote.d.ts.map +1 -1
- package/dist/mcp-server-remote.js +328 -0
- package/dist/mcp-server-remote.js.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/config.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Non-production use is permitted. Production use requires a commercial license.
|
|
11
11
|
* See LICENSE for full terms.
|
|
12
12
|
*/
|
|
13
|
-
import type { GeoLocation, DeviceDescriptor, NetworkMock, PerformanceBudget, CBrowserConfigFile } from "./types.js";
|
|
13
|
+
import type { GeoLocation, DeviceDescriptor, NetworkMock, PerformanceBudget, CBrowserConfigFile, ProxyConfig } from "./types.js";
|
|
14
14
|
export type BrowserType = "chromium" | "firefox" | "webkit";
|
|
15
15
|
export type ColorScheme = "light" | "dark" | "no-preference";
|
|
16
16
|
export interface CBrowserConfig {
|
|
@@ -52,6 +52,8 @@ export interface CBrowserConfig {
|
|
|
52
52
|
userAgent?: string;
|
|
53
53
|
/** Enable persistent browser context (cookies/localStorage survive between sessions) */
|
|
54
54
|
persistent?: boolean;
|
|
55
|
+
/** Proxy configuration for residential/datacenter proxies */
|
|
56
|
+
proxy?: ProxyConfig;
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
57
59
|
* Get the data directory from environment or default.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -67,6 +67,34 @@ export function loadConfigFile(dir) {
|
|
|
67
67
|
export function getDefaultConfig() {
|
|
68
68
|
const dataDir = getDataDir();
|
|
69
69
|
const configFile = loadConfigFile(dataDir);
|
|
70
|
+
// Build proxy config from environment if available
|
|
71
|
+
// Format: CBROWSER_PROXY=http://user:pass@proxy.example.com:8080
|
|
72
|
+
// Or use separate vars: CBROWSER_PROXY_SERVER, CBROWSER_PROXY_USERNAME, CBROWSER_PROXY_PASSWORD
|
|
73
|
+
let proxy;
|
|
74
|
+
const proxyUrl = process.env.CBROWSER_PROXY;
|
|
75
|
+
const proxyServer = process.env.CBROWSER_PROXY_SERVER;
|
|
76
|
+
if (proxyUrl) {
|
|
77
|
+
// Parse full proxy URL (http://user:pass@host:port)
|
|
78
|
+
try {
|
|
79
|
+
const url = new URL(proxyUrl);
|
|
80
|
+
proxy = {
|
|
81
|
+
server: `${url.protocol}//${url.host}`,
|
|
82
|
+
username: url.username || undefined,
|
|
83
|
+
password: url.password || undefined,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Invalid URL, use as-is
|
|
88
|
+
proxy = { server: proxyUrl };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (proxyServer) {
|
|
92
|
+
proxy = {
|
|
93
|
+
server: proxyServer,
|
|
94
|
+
username: process.env.CBROWSER_PROXY_USERNAME,
|
|
95
|
+
password: process.env.CBROWSER_PROXY_PASSWORD,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
70
98
|
return {
|
|
71
99
|
dataDir,
|
|
72
100
|
browser: parseBrowserType(process.env.CBROWSER_BROWSER || configFile?.browser),
|
|
@@ -83,6 +111,7 @@ export function getDefaultConfig() {
|
|
|
83
111
|
videoDir: join(dataDir, "videos"),
|
|
84
112
|
networkMocks: configFile?.networkMocks,
|
|
85
113
|
performanceBudget: configFile?.performanceBudget,
|
|
114
|
+
proxy,
|
|
86
115
|
};
|
|
87
116
|
}
|
|
88
117
|
/**
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AA6gFH;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8L1D"}
|
|
@@ -58,14 +58,32 @@ import { isApiKeyConfigured } from "./cognitive/index.js";
|
|
|
58
58
|
import { capturePerformanceBaseline, detectPerformanceRegression, listPerformanceBaselines, } from "./performance/index.js";
|
|
59
59
|
// Version from package.json - single source of truth
|
|
60
60
|
import { VERSION } from "./version.js";
|
|
61
|
+
// Stealth/Enterprise loader (v16.2.0)
|
|
62
|
+
import { getEnforcer, isEnterpriseAvailable, getEnterpriseVersion, } from "./stealth/index.js";
|
|
61
63
|
// Shared browser instance
|
|
62
64
|
let browser = null;
|
|
65
|
+
// Stealth state (enterprise integration)
|
|
66
|
+
let stealthEnforcer = null;
|
|
67
|
+
let stealthConfig = null;
|
|
63
68
|
async function getBrowser() {
|
|
64
69
|
if (!browser) {
|
|
70
|
+
// Pass proxy configuration from stealth config if available
|
|
71
|
+
const proxyConfig = stealthConfig?.proxy;
|
|
65
72
|
browser = new CBrowser({
|
|
66
73
|
headless: true,
|
|
67
74
|
persistent: true,
|
|
75
|
+
proxy: proxyConfig,
|
|
68
76
|
});
|
|
77
|
+
// If stealth is enabled and we have an enforcer, apply to new pages
|
|
78
|
+
if (stealthEnforcer && stealthConfig?.enabled) {
|
|
79
|
+
const page = await browser.getPage();
|
|
80
|
+
if (page) {
|
|
81
|
+
await stealthEnforcer.applyStealthMeasures(page);
|
|
82
|
+
if (proxyConfig) {
|
|
83
|
+
console.log(`[Stealth] Browser launched with proxy: ${proxyConfig.server.replace(/:[^:@]*@/, ":****@")}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
69
87
|
}
|
|
70
88
|
return browser;
|
|
71
89
|
}
|
|
@@ -287,6 +305,47 @@ function configureMcpTools(server) {
|
|
|
287
305
|
],
|
|
288
306
|
};
|
|
289
307
|
});
|
|
308
|
+
server.tool("cloudflare_detect", "Detect if the current page is a Cloudflare challenge page. Returns the type of challenge (turnstile, managed, interstitial, js-challenge) and evidence.", {}, async () => {
|
|
309
|
+
const b = await getBrowser();
|
|
310
|
+
const result = await b.detectCloudflareChallenge();
|
|
311
|
+
return {
|
|
312
|
+
content: [
|
|
313
|
+
{
|
|
314
|
+
type: "text",
|
|
315
|
+
text: JSON.stringify({
|
|
316
|
+
detected: result.detected,
|
|
317
|
+
challenge_type: result.type,
|
|
318
|
+
evidence: result.evidence,
|
|
319
|
+
message: result.detected
|
|
320
|
+
? `Cloudflare ${result.type} challenge detected. Use cloudflare_wait to wait for resolution.`
|
|
321
|
+
: "No Cloudflare challenge detected on current page.",
|
|
322
|
+
}, null, 2),
|
|
323
|
+
},
|
|
324
|
+
],
|
|
325
|
+
};
|
|
326
|
+
});
|
|
327
|
+
server.tool("cloudflare_wait", "Wait for a Cloudflare challenge to resolve. Use this after navigating to a page that shows a Cloudflare protection page. The tool will poll until the challenge completes or times out.", {
|
|
328
|
+
timeout: z.number().optional().describe("Maximum time to wait in milliseconds (default: 30000)"),
|
|
329
|
+
}, async ({ timeout }) => {
|
|
330
|
+
const b = await getBrowser();
|
|
331
|
+
const result = await b.waitForCloudflareResolution(timeout ?? 30000);
|
|
332
|
+
const screenshot = await b.screenshot();
|
|
333
|
+
return {
|
|
334
|
+
content: [
|
|
335
|
+
{
|
|
336
|
+
type: "text",
|
|
337
|
+
text: JSON.stringify({
|
|
338
|
+
resolved: result.resolved,
|
|
339
|
+
original_url: result.originalUrl,
|
|
340
|
+
final_url: result.finalUrl,
|
|
341
|
+
wait_time_ms: result.waitTime,
|
|
342
|
+
message: result.message,
|
|
343
|
+
screenshot,
|
|
344
|
+
}, null, 2),
|
|
345
|
+
},
|
|
346
|
+
],
|
|
347
|
+
};
|
|
348
|
+
});
|
|
290
349
|
// =========================================================================
|
|
291
350
|
// Interaction Tools
|
|
292
351
|
// =========================================================================
|
|
@@ -1691,6 +1750,275 @@ Begin the simulation now. Narrate your thoughts as this persona.
|
|
|
1691
1750
|
],
|
|
1692
1751
|
};
|
|
1693
1752
|
});
|
|
1753
|
+
// ============================================================================
|
|
1754
|
+
// STEALTH/ENTERPRISE TOOLS (v16.2.0)
|
|
1755
|
+
// These tools interface with cbrowser-enterprise when installed
|
|
1756
|
+
// ============================================================================
|
|
1757
|
+
server.tool("stealth_status", "Check if CBrowser Enterprise is installed and show stealth capabilities. Enterprise provides constitutional stealth mode for authorized testing.", {}, async () => {
|
|
1758
|
+
const available = await isEnterpriseAvailable();
|
|
1759
|
+
const version = getEnterpriseVersion();
|
|
1760
|
+
const enabled = stealthConfig?.enabled ?? false;
|
|
1761
|
+
const proxyConfigured = !!stealthConfig?.proxy?.server;
|
|
1762
|
+
return {
|
|
1763
|
+
content: [
|
|
1764
|
+
{
|
|
1765
|
+
type: "text",
|
|
1766
|
+
text: JSON.stringify({
|
|
1767
|
+
enterprise_available: available,
|
|
1768
|
+
enterprise_version: version,
|
|
1769
|
+
stealth_enabled: enabled,
|
|
1770
|
+
stealth_config: enabled ? {
|
|
1771
|
+
authorized_domains: stealthConfig?.authorization?.authorizedDomains ?? [],
|
|
1772
|
+
blocked_domains: stealthConfig?.authorization?.blockedDomains ?? [],
|
|
1773
|
+
} : null,
|
|
1774
|
+
proxy_configured: proxyConfigured,
|
|
1775
|
+
proxy_server: proxyConfigured
|
|
1776
|
+
? stealthConfig?.proxy?.server?.replace(/:[^:@]*@/, ":****@") // Mask password
|
|
1777
|
+
: null,
|
|
1778
|
+
message: available
|
|
1779
|
+
? `Enterprise v${version} available. Stealth ${enabled ? "enabled" : "disabled"}.${proxyConfigured ? " Proxy active." : ""}`
|
|
1780
|
+
: "Enterprise not installed. Install cbrowser-enterprise for stealth capabilities.",
|
|
1781
|
+
}, null, 2),
|
|
1782
|
+
},
|
|
1783
|
+
],
|
|
1784
|
+
};
|
|
1785
|
+
});
|
|
1786
|
+
server.tool("stealth_enable", "Enable constitutional stealth mode for authorized domains. Requires cbrowser-enterprise. You must have authorization to test on the specified domains. Optionally configure a residential/datacenter proxy to bypass IP-based detection.", {
|
|
1787
|
+
authorized_domains: z.array(z.string()).describe("Domains you are authorized to test (e.g., ['*.mycompany.com', 'staging.example.com'])"),
|
|
1788
|
+
signed_by: z.string().describe("Your email or identifier confirming authorization"),
|
|
1789
|
+
proxy_server: z.string().optional().describe("Proxy server URL (e.g., 'http://proxy.example.com:8080' or 'socks5://proxy.example.com:1080'). Use residential proxies for best detection bypass."),
|
|
1790
|
+
proxy_username: z.string().optional().describe("Proxy authentication username (optional)"),
|
|
1791
|
+
proxy_password: z.string().optional().describe("Proxy authentication password (optional)"),
|
|
1792
|
+
}, async ({ authorized_domains, signed_by, proxy_server, proxy_username, proxy_password }) => {
|
|
1793
|
+
const available = await isEnterpriseAvailable();
|
|
1794
|
+
if (!available) {
|
|
1795
|
+
return {
|
|
1796
|
+
content: [
|
|
1797
|
+
{
|
|
1798
|
+
type: "text",
|
|
1799
|
+
text: JSON.stringify({
|
|
1800
|
+
success: false,
|
|
1801
|
+
error: "Enterprise not installed",
|
|
1802
|
+
message: "Stealth mode requires cbrowser-enterprise. Contact alexandria.shai.eden@gmail.com for access.",
|
|
1803
|
+
}, null, 2),
|
|
1804
|
+
},
|
|
1805
|
+
],
|
|
1806
|
+
};
|
|
1807
|
+
}
|
|
1808
|
+
// Create stealth config with acknowledgment
|
|
1809
|
+
stealthConfig = {
|
|
1810
|
+
enabled: true,
|
|
1811
|
+
authorization: {
|
|
1812
|
+
authorizedDomains: authorized_domains,
|
|
1813
|
+
blockedDomains: [],
|
|
1814
|
+
requireExplicitAuth: true,
|
|
1815
|
+
},
|
|
1816
|
+
acknowledgment: {
|
|
1817
|
+
ownershipConfirmed: true,
|
|
1818
|
+
authorizedTestingOnly: true,
|
|
1819
|
+
acceptsResponsibility: true,
|
|
1820
|
+
signedBy: signed_by,
|
|
1821
|
+
signedAt: new Date().toISOString(),
|
|
1822
|
+
},
|
|
1823
|
+
rateLimits: {
|
|
1824
|
+
requestsPerMinute: 30,
|
|
1825
|
+
formsPerMinute: 5,
|
|
1826
|
+
authAttemptsPerMinute: 3,
|
|
1827
|
+
},
|
|
1828
|
+
// Add proxy config if provided
|
|
1829
|
+
proxy: proxy_server ? {
|
|
1830
|
+
server: proxy_server,
|
|
1831
|
+
username: proxy_username,
|
|
1832
|
+
password: proxy_password,
|
|
1833
|
+
} : undefined,
|
|
1834
|
+
};
|
|
1835
|
+
// Get enforcer with config
|
|
1836
|
+
stealthEnforcer = await getEnforcer(stealthConfig);
|
|
1837
|
+
// Reset browser to apply stealth and proxy to new pages
|
|
1838
|
+
if (browser) {
|
|
1839
|
+
await browser.close();
|
|
1840
|
+
browser = null;
|
|
1841
|
+
}
|
|
1842
|
+
return {
|
|
1843
|
+
content: [
|
|
1844
|
+
{
|
|
1845
|
+
type: "text",
|
|
1846
|
+
text: JSON.stringify({
|
|
1847
|
+
success: true,
|
|
1848
|
+
message: "Stealth mode enabled",
|
|
1849
|
+
authorized_domains,
|
|
1850
|
+
signed_by,
|
|
1851
|
+
signed_at: stealthConfig.acknowledgment?.signedAt,
|
|
1852
|
+
rate_limits: stealthConfig.rateLimits,
|
|
1853
|
+
proxy_configured: !!proxy_server,
|
|
1854
|
+
proxy_server: proxy_server ? proxy_server.replace(/:[^:@]*@/, ":****@") : null, // Mask password in logs
|
|
1855
|
+
note: proxy_server
|
|
1856
|
+
? "Stealth measures and proxy will be applied to all new pages on authorized domains."
|
|
1857
|
+
: "Stealth measures will be applied to all new pages on authorized domains.",
|
|
1858
|
+
}, null, 2),
|
|
1859
|
+
},
|
|
1860
|
+
],
|
|
1861
|
+
};
|
|
1862
|
+
});
|
|
1863
|
+
server.tool("stealth_check", "Check if a stealth action is allowed on a specific URL. Returns whether the action can proceed and any restrictions.", {
|
|
1864
|
+
action: z.string().describe("Action to check (e.g., 'navigate', 'click', 'fill', 'submit')"),
|
|
1865
|
+
url: z.string().url().describe("URL where the action would occur"),
|
|
1866
|
+
}, async ({ action, url }) => {
|
|
1867
|
+
if (!stealthEnforcer) {
|
|
1868
|
+
return {
|
|
1869
|
+
content: [
|
|
1870
|
+
{
|
|
1871
|
+
type: "text",
|
|
1872
|
+
text: JSON.stringify({
|
|
1873
|
+
allowed: false,
|
|
1874
|
+
reason: "Stealth not enabled",
|
|
1875
|
+
suggestion: "Use stealth_enable to configure authorized domains first.",
|
|
1876
|
+
}, null, 2),
|
|
1877
|
+
},
|
|
1878
|
+
],
|
|
1879
|
+
};
|
|
1880
|
+
}
|
|
1881
|
+
const check = await stealthEnforcer.canExecuteWithStealth(action, url);
|
|
1882
|
+
return {
|
|
1883
|
+
content: [
|
|
1884
|
+
{
|
|
1885
|
+
type: "text",
|
|
1886
|
+
text: JSON.stringify({
|
|
1887
|
+
allowed: check.allowed,
|
|
1888
|
+
zone: check.zone,
|
|
1889
|
+
reason: check.reason,
|
|
1890
|
+
suggestion: check.suggestion,
|
|
1891
|
+
requires_confirmation: check.requiresConfirmation ?? false,
|
|
1892
|
+
}, null, 2),
|
|
1893
|
+
},
|
|
1894
|
+
],
|
|
1895
|
+
};
|
|
1896
|
+
});
|
|
1897
|
+
server.tool("stealth_disable", "Disable stealth mode and clear the enforcer. Browser state is preserved - no recovery needed.", {}, async () => {
|
|
1898
|
+
const wasEnabled = stealthConfig?.enabled ?? false;
|
|
1899
|
+
stealthEnforcer = null;
|
|
1900
|
+
stealthConfig = null;
|
|
1901
|
+
// Preserve browser state - don't close
|
|
1902
|
+
// User can call reset_browser explicitly if needed
|
|
1903
|
+
return {
|
|
1904
|
+
content: [
|
|
1905
|
+
{
|
|
1906
|
+
type: "text",
|
|
1907
|
+
text: JSON.stringify({
|
|
1908
|
+
success: true,
|
|
1909
|
+
was_enabled: wasEnabled,
|
|
1910
|
+
browser_preserved: true,
|
|
1911
|
+
message: wasEnabled
|
|
1912
|
+
? "Stealth mode disabled. Browser state preserved - continue using normally."
|
|
1913
|
+
: "Stealth was not enabled.",
|
|
1914
|
+
}, null, 2),
|
|
1915
|
+
},
|
|
1916
|
+
],
|
|
1917
|
+
};
|
|
1918
|
+
});
|
|
1919
|
+
// ============================================================================
|
|
1920
|
+
// STEALTH DIAGNOSTIC TOOL (v16.3.0)
|
|
1921
|
+
// ============================================================================
|
|
1922
|
+
server.tool("stealth_diagnose", "Navigate to a URL and diagnose what bot detection methods the site uses. Returns analysis of fingerprint, IP, behavioral, and WAF/Cloudflare detection.", {
|
|
1923
|
+
url: z.string().url().describe("URL to diagnose for bot detection methods"),
|
|
1924
|
+
}, async ({ url }) => {
|
|
1925
|
+
const b = await getBrowser();
|
|
1926
|
+
const diagnosis = {
|
|
1927
|
+
url,
|
|
1928
|
+
detection_methods: {
|
|
1929
|
+
fingerprint: { detected: false, evidence: [] },
|
|
1930
|
+
ip_reputation: { likely: false, evidence: [] },
|
|
1931
|
+
behavioral: { detected: false, evidence: [] },
|
|
1932
|
+
waf_cloudflare: { detected: false, type: null, evidence: [] },
|
|
1933
|
+
},
|
|
1934
|
+
page_loaded: false,
|
|
1935
|
+
recommendations: [],
|
|
1936
|
+
};
|
|
1937
|
+
try {
|
|
1938
|
+
// Navigate with short timeout to detect blocks
|
|
1939
|
+
const navResult = await b.navigate(url);
|
|
1940
|
+
if (!navResult.success) {
|
|
1941
|
+
diagnosis.detection_methods.ip_reputation.likely = true;
|
|
1942
|
+
diagnosis.detection_methods.ip_reputation.evidence.push("Navigation failed: " + (navResult.errors?.join(", ") || "unknown error"));
|
|
1943
|
+
diagnosis.recommendations.push("Site may block datacenter IPs. Consider residential proxy.");
|
|
1944
|
+
return {
|
|
1945
|
+
content: [{ type: "text", text: JSON.stringify(diagnosis, null, 2) }],
|
|
1946
|
+
};
|
|
1947
|
+
}
|
|
1948
|
+
diagnosis.page_loaded = true;
|
|
1949
|
+
// Check page content for detection indicators
|
|
1950
|
+
const page = await b.getPage();
|
|
1951
|
+
if (page) {
|
|
1952
|
+
const content = await page.content();
|
|
1953
|
+
const pageUrl = page.url();
|
|
1954
|
+
// Cloudflare detection
|
|
1955
|
+
if (content.includes("cf-browser-verification") || content.includes("cf_chl_opt")) {
|
|
1956
|
+
diagnosis.detection_methods.waf_cloudflare.detected = true;
|
|
1957
|
+
diagnosis.detection_methods.waf_cloudflare.type = "Cloudflare Challenge";
|
|
1958
|
+
diagnosis.detection_methods.waf_cloudflare.evidence.push("Found cf-browser-verification in page");
|
|
1959
|
+
diagnosis.recommendations.push("Cloudflare challenge detected. Stealth may help with browser checks.");
|
|
1960
|
+
}
|
|
1961
|
+
if (content.includes("turnstile") || content.includes("challenges.cloudflare.com")) {
|
|
1962
|
+
diagnosis.detection_methods.waf_cloudflare.detected = true;
|
|
1963
|
+
diagnosis.detection_methods.waf_cloudflare.type = "Cloudflare Turnstile";
|
|
1964
|
+
diagnosis.detection_methods.waf_cloudflare.evidence.push("Found Turnstile widget");
|
|
1965
|
+
diagnosis.recommendations.push("Turnstile CAPTCHA present. May pass with stealth, but IP reputation affects success.");
|
|
1966
|
+
}
|
|
1967
|
+
// Reddit-style IP blocking
|
|
1968
|
+
if (pageUrl.includes("blocked") || content.includes("blocked") || content.includes("access denied")) {
|
|
1969
|
+
diagnosis.detection_methods.ip_reputation.likely = true;
|
|
1970
|
+
diagnosis.detection_methods.ip_reputation.evidence.push("Page contains 'blocked' or 'access denied'");
|
|
1971
|
+
diagnosis.recommendations.push("IP-based blocking detected. Requires residential proxy.");
|
|
1972
|
+
}
|
|
1973
|
+
// Check for common bot detection scripts
|
|
1974
|
+
const botDetectors = [
|
|
1975
|
+
{ name: "PerimeterX", pattern: /px-captcha|human-challenge/ },
|
|
1976
|
+
{ name: "DataDome", pattern: /datadome|dd\.js/ },
|
|
1977
|
+
{ name: "Akamai Bot Manager", pattern: /akamai.*bot|_abck/ },
|
|
1978
|
+
{ name: "Shape Security", pattern: /shape.*security/ },
|
|
1979
|
+
{ name: "Imperva/Incapsula", pattern: /incap_ses|visid_incap/ },
|
|
1980
|
+
{ name: "Distil Networks", pattern: /distil|d\.js/ },
|
|
1981
|
+
];
|
|
1982
|
+
for (const detector of botDetectors) {
|
|
1983
|
+
if (detector.pattern.test(content)) {
|
|
1984
|
+
diagnosis.detection_methods.fingerprint.detected = true;
|
|
1985
|
+
diagnosis.detection_methods.fingerprint.evidence.push(`Found ${detector.name} signatures`);
|
|
1986
|
+
}
|
|
1987
|
+
}
|
|
1988
|
+
// Check for navigator.webdriver detection
|
|
1989
|
+
if (content.includes("webdriver") || content.includes("navigator.webdriver")) {
|
|
1990
|
+
diagnosis.detection_methods.fingerprint.detected = true;
|
|
1991
|
+
diagnosis.detection_methods.fingerprint.evidence.push("Page checks navigator.webdriver");
|
|
1992
|
+
diagnosis.recommendations.push("Enable stealth to patch navigator.webdriver.");
|
|
1993
|
+
}
|
|
1994
|
+
// Check for automation tool detection
|
|
1995
|
+
if (content.includes("puppeteer") || content.includes("playwright") || content.includes("selenium")) {
|
|
1996
|
+
diagnosis.detection_methods.fingerprint.detected = true;
|
|
1997
|
+
diagnosis.detection_methods.fingerprint.evidence.push("Page checks for automation tools");
|
|
1998
|
+
}
|
|
1999
|
+
// Summary recommendations
|
|
2000
|
+
if (diagnosis.detection_methods.fingerprint.detected && !diagnosis.detection_methods.ip_reputation.likely) {
|
|
2001
|
+
diagnosis.recommendations.push("Browser fingerprint detection found. Stealth mode should help.");
|
|
2002
|
+
}
|
|
2003
|
+
if (diagnosis.detection_methods.ip_reputation.likely) {
|
|
2004
|
+
diagnosis.recommendations.push("IP reputation is the primary block. Stealth alone won't solve this.");
|
|
2005
|
+
}
|
|
2006
|
+
if (!diagnosis.detection_methods.fingerprint.detected &&
|
|
2007
|
+
!diagnosis.detection_methods.ip_reputation.likely &&
|
|
2008
|
+
!diagnosis.detection_methods.waf_cloudflare.detected) {
|
|
2009
|
+
diagnosis.recommendations.push("No obvious bot detection found. Site should work without stealth.");
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
catch (error) {
|
|
2014
|
+
diagnosis.detection_methods.ip_reputation.likely = true;
|
|
2015
|
+
diagnosis.detection_methods.ip_reputation.evidence.push("Error: " + String(error));
|
|
2016
|
+
diagnosis.recommendations.push("Navigation error - likely IP-based blocking.");
|
|
2017
|
+
}
|
|
2018
|
+
return {
|
|
2019
|
+
content: [{ type: "text", text: JSON.stringify(diagnosis, null, 2) }],
|
|
2020
|
+
};
|
|
2021
|
+
});
|
|
1694
2022
|
}
|
|
1695
2023
|
/**
|
|
1696
2024
|
* Create a configured MCP server instance
|