cloakbrowser 0.3.32 → 0.4.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.
@@ -0,0 +1,179 @@
1
+ /**
2
+ * License validation and caching for CloakBrowser Pro.
3
+ * Mirrors Python cloakbrowser/license.py.
4
+ *
5
+ * Handles license key resolution, server validation with local caching,
6
+ * and Pro version checks.
7
+ */
8
+ import { createHash } from "node:crypto";
9
+ import fs from "node:fs";
10
+ import path from "node:path";
11
+ import { getCacheDir } from "./config.js";
12
+ const VALIDATE_URL = "https://cloakbrowser.dev/api/license/validate";
13
+ const PRO_VERSION_URL = "https://cloakbrowser.dev/api/download/version";
14
+ const LICENSE_CACHE_TTL_MS = 86_400_000; // 24 hours
15
+ const PRO_VERSION_CHECK_INTERVAL_MS = 3_600_000; // 1 hour
16
+ /**
17
+ * Resolve the license key: explicit param > env var > file > undefined.
18
+ */
19
+ export function resolveLicenseKey(licenseKey) {
20
+ const trimmed = licenseKey?.trim();
21
+ if (trimmed)
22
+ return trimmed;
23
+ const envKey = (process.env.CLOAKBROWSER_LICENSE_KEY ?? "").trim();
24
+ if (envKey)
25
+ return envKey;
26
+ try {
27
+ const keyFile = path.join(getCacheDir(), "license.key");
28
+ const content = fs.readFileSync(keyFile, "utf-8").trim();
29
+ if (content)
30
+ return content;
31
+ }
32
+ catch {
33
+ // File doesn't exist or unreadable
34
+ }
35
+ return undefined;
36
+ }
37
+ /**
38
+ * Validate a license key with the CloakBrowser server.
39
+ *
40
+ * Checks a local file cache first (24h TTL). Falls back to stale
41
+ * cache if the server is unreachable.
42
+ *
43
+ * Returns LicenseInfo if validation succeeded, null on total failure.
44
+ */
45
+ export async function validateLicense(licenseKey) {
46
+ const cachePath = path.join(getCacheDir(), ".license_cache");
47
+ const keySha = createHash("sha256").update(licenseKey).digest("hex");
48
+ const cached = readCache(cachePath, keySha);
49
+ if (cached)
50
+ return cached;
51
+ try {
52
+ const resp = await fetch(VALIDATE_URL, {
53
+ method: "POST",
54
+ headers: { "Content-Type": "application/json" },
55
+ body: JSON.stringify({ license_key: licenseKey }),
56
+ signal: AbortSignal.timeout(10_000),
57
+ });
58
+ if (!resp.ok) {
59
+ throw new Error(`HTTP ${resp.status} ${resp.statusText}`);
60
+ }
61
+ const data = (await resp.json());
62
+ const info = {
63
+ valid: Boolean(data.valid ?? false),
64
+ plan: String(data.plan ?? "solo"),
65
+ expires: data.expires != null ? String(data.expires) : null,
66
+ };
67
+ if (info.valid) {
68
+ writeCache(cachePath, keySha, info);
69
+ }
70
+ return info;
71
+ }
72
+ catch (e) {
73
+ console.warn(`[cloakbrowser] License validation request failed: ${e instanceof Error ? e.message : e}`);
74
+ // Fall back to stale cache
75
+ const stale = readCache(cachePath, keySha, true);
76
+ if (stale) {
77
+ console.warn("[cloakbrowser] Using cached license validation (server unreachable)");
78
+ return stale;
79
+ }
80
+ return null;
81
+ }
82
+ }
83
+ /**
84
+ * Get the latest Pro binary version from the server.
85
+ * Rate-limited to 1 call per hour via a marker file.
86
+ */
87
+ export async function getProLatestVersion() {
88
+ const marker = path.join(getCacheDir(), ".last_pro_version_check");
89
+ try {
90
+ if (fs.existsSync(marker)) {
91
+ const stats = fs.statSync(marker);
92
+ const age = Date.now() - stats.mtimeMs;
93
+ if (age < PRO_VERSION_CHECK_INTERVAL_MS) {
94
+ const content = fs.readFileSync(marker, "utf-8").trim();
95
+ return content || null;
96
+ }
97
+ }
98
+ }
99
+ catch {
100
+ // Marker unreadable — proceed with fetch
101
+ }
102
+ try {
103
+ const resp = await fetch(PRO_VERSION_URL, {
104
+ signal: AbortSignal.timeout(10_000),
105
+ });
106
+ if (!resp.ok) {
107
+ throw new Error(`HTTP ${resp.status} ${resp.statusText}`);
108
+ }
109
+ const data = (await resp.json());
110
+ const version = data.version != null ? String(data.version) : null;
111
+ if (!version)
112
+ return null;
113
+ try {
114
+ fs.mkdirSync(path.dirname(marker), { recursive: true });
115
+ fs.writeFileSync(marker, version);
116
+ }
117
+ catch {
118
+ // Non-fatal
119
+ }
120
+ return version;
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ function readCache(cachePath, keySha, ignoreTtl = false) {
127
+ try {
128
+ if (!fs.existsSync(cachePath))
129
+ return null;
130
+ const data = JSON.parse(fs.readFileSync(cachePath, "utf-8"));
131
+ if (data.key_sha256 !== keySha)
132
+ return null;
133
+ if (!ignoreTtl) {
134
+ const validatedAt = data.validated_at ?? 0;
135
+ // A non-numeric validated_at (corrupted cache) is treated as absent rather
136
+ // than coercing to NaN and silently trusting the entry.
137
+ if (!Number.isFinite(validatedAt) || Date.now() - validatedAt * 1000 > LICENSE_CACHE_TTL_MS) {
138
+ return null;
139
+ }
140
+ }
141
+ if (data.expires) {
142
+ try {
143
+ if (new Date(data.expires).getTime() < Date.now()) {
144
+ return { valid: false, plan: String(data.plan ?? "solo"), expires: data.expires };
145
+ }
146
+ }
147
+ catch {
148
+ // unparseable date — skip check
149
+ }
150
+ }
151
+ return {
152
+ valid: Boolean(data.valid ?? false),
153
+ plan: String(data.plan ?? "solo"),
154
+ expires: data.expires ?? null,
155
+ };
156
+ }
157
+ catch {
158
+ return null;
159
+ }
160
+ }
161
+ function writeCache(cachePath, keySha, info) {
162
+ try {
163
+ const dir = path.dirname(cachePath);
164
+ fs.mkdirSync(dir, { recursive: true });
165
+ const tmpPath = cachePath + ".tmp";
166
+ fs.writeFileSync(tmpPath, JSON.stringify({
167
+ key_sha256: keySha,
168
+ valid: info.valid,
169
+ plan: info.plan,
170
+ expires: info.expires,
171
+ validated_at: Date.now() / 1000,
172
+ }));
173
+ fs.renameSync(tmpPath, cachePath);
174
+ }
175
+ catch {
176
+ // Non-fatal
177
+ }
178
+ }
179
+ //# sourceMappingURL=license.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,6 @@ export declare function resolveTimezone<T extends {
9
9
  timezone?: string;
10
10
  timezoneId?: string;
11
11
  }>(options: T): T;
12
- /**
13
- * Build Playwright BrowserContext options for CloakBrowser without launching a browser
14
- * or creating a context.
15
- *
16
- * Useful when integrating CloakBrowser with an existing Playwright Browser while
17
- * keeping the wrapper's stealth-safe defaults for `newContext()`.
18
- */
19
12
  export declare function buildContextOptions(options?: LaunchContextOptions): BrowserContextOptions;
20
13
  /**
21
14
  * Build Playwright launch options for CloakBrowser without starting Chromium.
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChI,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAQtG,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAOnG;AAyBD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,oBAAyB,GACjC,qBAAqB,CASvB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAkBlC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,cAAc,CAAC,CAyCzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAMD,6CAA6C;AAC7C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChI,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAQtG,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAOnG;AAgDD,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,oBAAyB,GACjC,qBAAqB,CAqBvB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAkBlC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAY1E;AAkBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,cAAc,CAAC,CA2CzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAMD,6CAA6C;AAC7C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -43,13 +43,37 @@ function filterStealthCtxOptions(ctx) {
43
43
  * Useful when integrating CloakBrowser with an existing Playwright Browser while
44
44
  * keeping the wrapper's stealth-safe defaults for `newContext()`.
45
45
  */
46
+ /**
47
+ * Effective headless mode for viewport decisions. buildLaunchOptions() spreads
48
+ * `...options.launchOptions` LAST, so a raw `launchOptions.headless` overrides the
49
+ * top-level field at the actual chromium.launch() call. Viewport logic must read
50
+ * the same effective value — otherwise a headed browser gets a fixed viewport
51
+ * (reintroducing the impossible-window tell). Playwright-specific (Puppeteer
52
+ * resolves headless the opposite way).
53
+ */
54
+ function effectiveHeadless(options) {
55
+ return (options.launchOptions?.headless ??
56
+ options.headless ??
57
+ true);
58
+ }
46
59
  export function buildContextOptions(options = {}) {
60
+ // Headed: viewport=null (no emulation) so the page tracks the real window and
61
+ // outerWidth >= innerWidth stays coherent — CDP viewport emulation forces
62
+ // inner > outer = a physically impossible window = bot tell. Headless has no
63
+ // window chrome (outer == inner), so a fixed viewport stays coherent and keeps
64
+ // dimensions deterministic. Explicit viewport (incl. null) is always honored.
65
+ const headless = effectiveHeadless(options);
66
+ const viewport = options.viewport !== undefined
67
+ ? options.viewport
68
+ : headless
69
+ ? DEFAULT_VIEWPORT
70
+ : null;
47
71
  return {
48
72
  // contextOptions first — explicit wrapper fields below override it.
49
73
  // filterStealthCtxOptions strips locale/timezoneId to prevent CDP detection.
50
74
  ...filterStealthCtxOptions(options.contextOptions),
51
75
  ...(options.userAgent ? { userAgent: options.userAgent } : {}),
52
- viewport: options.viewport === undefined ? DEFAULT_VIEWPORT : options.viewport,
76
+ viewport,
53
77
  ...(options.colorScheme ? { colorScheme: options.colorScheme } : {}),
54
78
  };
55
79
  }
@@ -60,7 +84,7 @@ export function buildContextOptions(options = {}) {
60
84
  * wrapper that needs to call `chromium.launch()` itself.
61
85
  */
62
86
  export async function buildLaunchOptions(options = {}) {
63
- const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
87
+ const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary(options.licenseKey));
64
88
  const { exitIp, ...resolved } = await maybeResolveGeoip(options);
65
89
  const { proxyOption, proxyArgs } = resolveProxyConfig(options.proxy);
66
90
  let resolvedArgs = await resolveWebrtcArgs(options);
@@ -104,9 +128,28 @@ export async function humanizeBrowser(browser, options = {}) {
104
128
  export async function launch(options = {}) {
105
129
  const { chromium } = await import("playwright-core");
106
130
  const browser = await chromium.launch(await buildLaunchOptions(options));
131
+ // Headed: a bare browser.newPage() would inherit Playwright's emulated 1280x720
132
+ // viewport -> outerWidth < innerWidth (impossible window = bot tell). Default
133
+ // newPage()/newContext() to viewport:null so the page tracks the real window.
134
+ // Headless keeps Playwright's default viewport (coherent there).
135
+ if (!effectiveHeadless(options)) {
136
+ applyDefaultNoViewport(browser);
137
+ }
107
138
  await humanizeBrowser(browser, options);
108
139
  return browser;
109
140
  }
141
+ /**
142
+ * Wrap a Browser's newContext()/newPage() to default to viewport:null (no
143
+ * emulation) when the caller didn't specify a viewport. setdefault-style: an
144
+ * explicit viewport (including null) is always honored. Apply before humanize's
145
+ * patchBrowser so the wraps compose.
146
+ */
147
+ function applyDefaultNoViewport(browser) {
148
+ const origNewContext = browser.newContext.bind(browser);
149
+ browser.newContext = (options) => origNewContext(options?.viewport === undefined ? { ...options, viewport: null } : options);
150
+ const origNewPage = browser.newPage.bind(browser);
151
+ browser.newPage = (options) => origNewPage(options?.viewport === undefined ? { ...options, viewport: null } : options);
152
+ }
110
153
  /**
111
154
  * Launch stealth browser and return a BrowserContext with common options pre-set.
112
155
  * Closing the context also closes the browser.
@@ -135,7 +178,9 @@ export async function launchContext(options = {}) {
135
178
  // --fingerprint-timezone is process-wide (reads CommandLine in renderer),
136
179
  // so it applies to ALL contexts, not just the default one.
137
180
  // locale and timezone are set via binary flags only — no CDP emulation.
138
- const browser = await launch({ ...options, ...resolved, args: launchArgs, geoip: false });
181
+ // humanize:false on the inner launch patchContext below applies humanize
182
+ // exactly once (else launch()'s humanizeBrowser would patch it a second time).
183
+ const browser = await launch({ ...options, ...resolved, args: launchArgs, geoip: false, humanize: false });
139
184
  let context;
140
185
  try {
141
186
  context = await browser.newContext(buildContextOptions(options));
@@ -183,7 +228,7 @@ export async function launchContext(options = {}) {
183
228
  export async function launchPersistentContext(options) {
184
229
  options = resolveTimezone(options);
185
230
  const { chromium } = await import("playwright-core");
186
- const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
231
+ const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary(options.licenseKey));
187
232
  const { exitIp, ...resolved } = await maybeResolveGeoip(options);
188
233
  const { proxyOption, proxyArgs } = resolveProxyConfig(options.proxy);
189
234
  let resolvedArgs = await resolveWebrtcArgs(options);
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+FhD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAe1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
1
+ {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiHhD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
package/dist/puppeteer.js CHANGED
@@ -3,15 +3,32 @@
3
3
  * NOW WITH HUMANIZE SUPPORT — humanize: true enables human-like
4
4
  * mouse curves, keyboard timing, and scroll patterns (same as Playwright).
5
5
  */
6
- import { IGNORE_DEFAULT_ARGS } from "./config.js";
6
+ import { DEFAULT_VIEWPORT, IGNORE_DEFAULT_ARGS } from "./config.js";
7
7
  import { buildArgs } from "./args.js";
8
8
  import { ensureBinary } from "./download.js";
9
9
  import { isSocksProxy, normalizeHttpStringUrl, parseProxyUrl, reconstructHttpUrl, resolveProxyConfig, supportsHttpProxyInlineAuth } from "./proxy.js";
10
10
  import { maybeResolveGeoip, resolveWebrtcArgs } from "./geoip.js";
11
11
  import { seedWidevineHint } from "./widevine.js";
12
+ /**
13
+ * Resolve Puppeteer's defaultViewport. Headed -> null (track the real window so
14
+ * outerWidth >= innerWidth stays coherent; Puppeteer otherwise forces an 800x600
15
+ * emulated viewport = a physically impossible window = bot tell). Headless has no
16
+ * window chrome (outer == inner), so a fixed viewport stays coherent and keeps
17
+ * dimensions deterministic. A user-supplied launchOptions.defaultViewport wins.
18
+ */
19
+ function resolveDefaultViewport(options) {
20
+ const launchOpts = (options.launchOptions ?? {});
21
+ // A user-supplied defaultViewport wins (incl. explicit null). undefined is NOT
22
+ // "supplied" — fall through to our default. Puppeteer sets `headless` AFTER the
23
+ // launchOptions spread, so the top-level field wins at launch — match it here.
24
+ if (launchOpts.defaultViewport !== undefined) {
25
+ return launchOpts.defaultViewport;
26
+ }
27
+ return (options.headless ?? true) ? DEFAULT_VIEWPORT : null;
28
+ }
12
29
  /** Resolve binary path, geoip, webrtc, and build final Chrome args. */
13
30
  async function resolveArgs(options) {
14
- const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
31
+ const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary(options.licenseKey));
15
32
  const { exitIp, ...resolved } = (await maybeResolveGeoip(options)) ?? {};
16
33
  let resolvedArgs = (await resolveWebrtcArgs(options)) ?? options.args;
17
34
  if (exitIp && !(resolvedArgs ?? []).some(a => a.startsWith("--fingerprint-webrtc-ip"))) {
@@ -105,6 +122,7 @@ export async function launch(options = {}) {
105
122
  headless: options.headless ?? true,
106
123
  args,
107
124
  ignoreDefaultArgs: IGNORE_DEFAULT_ARGS,
125
+ defaultViewport: resolveDefaultViewport(options),
108
126
  });
109
127
  await applyPostLaunch(browser, options, proxyAuth);
110
128
  return browser;
@@ -139,6 +157,7 @@ export async function launchPersistentContext(options) {
139
157
  args,
140
158
  ignoreDefaultArgs: IGNORE_DEFAULT_ARGS,
141
159
  userDataDir: options.userDataDir,
160
+ defaultViewport: resolveDefaultViewport(options),
142
161
  });
143
162
  await applyPostLaunch(browser, options, proxyAuth);
144
163
  return browser;
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -30,6 +30,8 @@ export interface LaunchOptions {
30
30
  locale?: string;
31
31
  /** Auto-detect timezone/locale from proxy IP (requires: npm install mmdb-lib). */
32
32
  geoip?: boolean;
33
+ /** Pro license key. Also reads from CLOAKBROWSER_LICENSE_KEY env var. */
34
+ licenseKey?: string;
33
35
  /** Raw options passed directly to playwright/puppeteer launch(). */
34
36
  launchOptions?: Record<string, unknown>;
35
37
  /** Enable human-like mouse, keyboard, and scroll behavior. */
@@ -69,7 +71,10 @@ export interface LaunchPersistentContextOptions extends LaunchContextOptions {
69
71
  }
70
72
  export interface BinaryInfo {
71
73
  version: string;
74
+ /** The wrapper's bundled baseline Chromium version (CHROMIUM_VERSION). */
75
+ bundledVersion: string;
72
76
  platform: string;
77
+ tier: "pro" | "free";
73
78
  binaryPath: string;
74
79
  installed: boolean;
75
80
  cacheDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6GAA6G;IAC7G,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;IACjD;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6GAA6G;IAC7G,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;IACjD;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloakbrowser",
3
- "version": "0.3.32",
3
+ "version": "0.4.0",
4
4
  "description": "Stealth Chromium that passes every bot detection test. Drop-in Playwright/Puppeteer replacement with source-level fingerprint patches.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",