@geometra/proxy 1.61.2 → 1.61.3
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 +5 -0
- package/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts +4 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +53 -16
- package/dist/runtime.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -7,6 +7,8 @@ Chromium proxy ( **`headed` / visible window by default** ) that extracts **live
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install @geometra/proxy playwright
|
|
9
9
|
npx playwright install chromium
|
|
10
|
+
# Optional: prefetch CloakBrowser's patched Chromium for --stealth mode
|
|
11
|
+
npx cloakbrowser install
|
|
10
12
|
```
|
|
11
13
|
|
|
12
14
|
## CLI
|
|
@@ -16,10 +18,13 @@ npx geometra-proxy https://example.com --port 3200
|
|
|
16
18
|
npx geometra-proxy http://localhost:8080 --width 1440 --height 900
|
|
17
19
|
npx geometra-proxy https://example.com --port 3200 --headless
|
|
18
20
|
npx geometra-proxy https://example.com --port 3200 --slow-mo 50
|
|
21
|
+
npx geometra-proxy https://example.com --port 3200 --stealth
|
|
19
22
|
```
|
|
20
23
|
|
|
21
24
|
**Default is a visible browser** so you can watch MCP-driven clicks and typing. Use **`--headless`** (or env **`GEOMETRA_HEADLESS=1`**) for automation on servers / CI. **`--slow-mo <ms>`** (or **`GEOMETRA_SLOW_MO`**) adds Playwright `slowMo` to make actions easier to follow.
|
|
22
25
|
|
|
26
|
+
Use **`--stealth`** (or env **`GEOMETRA_STEALTH=1`** / **`GEOMETRA_BROWSER=stealth`**) to launch CloakBrowser's patched Chromium through the same Geometra proxy protocol. Stock Playwright Chromium remains the default; pass **`--no-stealth`** to override a stealth env default for one run. CloakBrowser downloads its patched Chromium on first launch and caches it under `~/.cloakbrowser/`.
|
|
27
|
+
|
|
23
28
|
The proxy only opens **`http://`** or **`https://`** pages. For debugging you can still choose a fixed `--port`, but `--port 0` asks the OS for an ephemeral free port (useful for tools that auto-spawn the proxy).
|
|
24
29
|
|
|
25
30
|
Headed vs headless usually does **not** materially change token usage, because token usage comes from MCP response payloads rather than whether Chromium is visible.
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { formatProxyFatalError, launchProxyRuntime, parseHttpPageUrl } from './runtime.js';
|
|
2
|
+
import { formatProxyFatalError, launchProxyRuntime, parseHttpPageUrl, resolveStealthMode } from './runtime.js';
|
|
3
3
|
const READY_SIGNAL_TYPE = 'geometra-proxy-ready';
|
|
4
4
|
function printUsage() {
|
|
5
|
-
console.error(`Usage: geometra-proxy <url> [--port <n>] [--width <n>] [--height <n>] [--headless] [--headed] [--slow-mo <ms>] [--lazy-initial-extract] [--proxy-server <url> [--proxy-username <u>] [--proxy-password <p>] [--proxy-bypass <list>]]
|
|
5
|
+
console.error(`Usage: geometra-proxy <url> [--port <n>] [--width <n>] [--height <n>] [--headless] [--headed] [--stealth] [--no-stealth] [--slow-mo <ms>] [--lazy-initial-extract] [--proxy-server <url> [--proxy-username <u>] [--proxy-password <p>] [--proxy-bypass <list>]]
|
|
6
6
|
|
|
7
7
|
Open <url> in Chromium and stream GEOM v1 frames on WebSocket (JSON text).
|
|
8
8
|
|
|
9
9
|
Default is a visible browser window (headed) so you can watch MCP-driven automation.
|
|
10
10
|
Use --headless or env GEOMETRA_HEADLESS=1 for CI / servers without a display.
|
|
11
|
+
Use --stealth or env GEOMETRA_STEALTH=1 to launch CloakBrowser's patched Chromium.
|
|
11
12
|
|
|
12
13
|
Use --proxy-server to route all Chromium traffic through a residential / mobile / SOCKS proxy.
|
|
13
14
|
Pair with --proxy-username/--proxy-password if the proxy requires auth. Helps bypass
|
|
@@ -18,9 +19,11 @@ Examples:
|
|
|
18
19
|
geometra-proxy https://example.com --port 3200 --width 1440 --height 900
|
|
19
20
|
geometra-proxy https://jobs.example.com/apply --slow-mo 40
|
|
20
21
|
geometra-proxy http://localhost:3000 --headless
|
|
22
|
+
geometra-proxy https://jobs.example.com/apply --stealth
|
|
21
23
|
geometra-proxy https://jobs.ashbyhq.com/foo --proxy-server http://res-proxy.example.com:8080 --proxy-username me --proxy-password secret
|
|
22
24
|
|
|
23
25
|
Requires Chromium for Playwright: npx playwright install chromium
|
|
26
|
+
Stealth mode uses CloakBrowser and downloads its patched Chromium on first launch: npx cloakbrowser install
|
|
24
27
|
`);
|
|
25
28
|
}
|
|
26
29
|
function envRequestsHeadless() {
|
|
@@ -60,6 +63,7 @@ function parseArgs(argv) {
|
|
|
60
63
|
let width = 1280;
|
|
61
64
|
let height = 720;
|
|
62
65
|
let headed = !envRequestsHeadless();
|
|
66
|
+
let stealth;
|
|
63
67
|
let slowMo = 0;
|
|
64
68
|
let eagerInitialExtract = !envRequestsLazyInitialExtract();
|
|
65
69
|
let proxyServer = process.env.GEOMETRA_PROXY_SERVER || undefined;
|
|
@@ -89,6 +93,12 @@ function parseArgs(argv) {
|
|
|
89
93
|
else if (a === '--headless') {
|
|
90
94
|
headed = false;
|
|
91
95
|
}
|
|
96
|
+
else if (a === '--stealth') {
|
|
97
|
+
stealth = true;
|
|
98
|
+
}
|
|
99
|
+
else if (a === '--no-stealth' || a === '--stock-chromium') {
|
|
100
|
+
stealth = false;
|
|
101
|
+
}
|
|
92
102
|
else if (a === '--slow-mo' || a === '--slowMo') {
|
|
93
103
|
const n = Number(argv[++i] ?? '');
|
|
94
104
|
if (Number.isFinite(n) && n >= 0)
|
|
@@ -118,19 +128,20 @@ function parseArgs(argv) {
|
|
|
118
128
|
process.exit(1);
|
|
119
129
|
}
|
|
120
130
|
}
|
|
121
|
-
return { url, port, width, height, headed, slowMo, eagerInitialExtract, proxyServer, proxyUsername, proxyPassword, proxyBypass };
|
|
131
|
+
return { url, port, width, height, headed, stealth, slowMo, eagerInitialExtract, proxyServer, proxyUsername, proxyPassword, proxyBypass };
|
|
122
132
|
}
|
|
123
133
|
async function main() {
|
|
124
|
-
const { url: rawUrl, port, width, height, headed, slowMo, eagerInitialExtract, proxyServer, proxyUsername, proxyPassword, proxyBypass } = parseArgs(process.argv.slice(2));
|
|
134
|
+
const { url: rawUrl, port, width, height, headed, stealth, slowMo, eagerInitialExtract, proxyServer, proxyUsername, proxyPassword, proxyBypass } = parseArgs(process.argv.slice(2));
|
|
125
135
|
if (!rawUrl) {
|
|
126
136
|
printUsage();
|
|
127
137
|
process.exit(1);
|
|
128
138
|
}
|
|
129
139
|
const url = parseHttpPageUrl(rawUrl);
|
|
130
140
|
const mode = headed ? 'headed (visible window)' : 'headless';
|
|
141
|
+
const engine = resolveStealthMode(stealth) ? 'CloakBrowser stealth Chromium' : 'Chromium';
|
|
131
142
|
const pace = slowMo > 0 ? `, slowMo ${slowMo}ms` : '';
|
|
132
143
|
const proxyTag = proxyServer ? `, proxy ${proxyServer}` : '';
|
|
133
|
-
console.error(`[geometra-proxy]
|
|
144
|
+
console.error(`[geometra-proxy] ${engine} ${mode}${pace}${proxyTag}`);
|
|
134
145
|
console.error(`[geometra-proxy] Loading ${url} …`);
|
|
135
146
|
const runtime = await launchProxyRuntime({
|
|
136
147
|
url,
|
|
@@ -138,6 +149,7 @@ async function main() {
|
|
|
138
149
|
width,
|
|
139
150
|
height,
|
|
140
151
|
headed,
|
|
152
|
+
...(stealth !== undefined && { stealth }),
|
|
141
153
|
slowMo,
|
|
142
154
|
eagerInitialExtract,
|
|
143
155
|
debounceMs: 50,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Browser, type Page } from 'playwright';
|
|
2
2
|
import { type GeometryWsHub, type GeometryWsTrace } from './geometry-ws.js';
|
|
3
3
|
export interface ProxyRuntimeTrace {
|
|
4
|
+
browserFlavor?: 'chromium' | 'stealth';
|
|
4
5
|
browserLaunchMs?: number;
|
|
5
6
|
newPageMs?: number;
|
|
6
7
|
wsListeningMs?: number;
|
|
@@ -48,6 +49,8 @@ export interface LaunchProxyRuntimeOptions {
|
|
|
48
49
|
slowMo?: number;
|
|
49
50
|
debounceMs?: number;
|
|
50
51
|
eagerInitialExtract?: boolean;
|
|
52
|
+
/** Use CloakBrowser's patched Chromium binary instead of stock Playwright Chromium. */
|
|
53
|
+
stealth?: boolean;
|
|
51
54
|
/** Outbound HTTP/SOCKS proxy for Chromium (BYO residential/mobile IP). */
|
|
52
55
|
proxy?: ProxyConfig;
|
|
53
56
|
onListening?: (wsUrl: string) => void;
|
|
@@ -55,5 +58,6 @@ export interface LaunchProxyRuntimeOptions {
|
|
|
55
58
|
}
|
|
56
59
|
export declare function parseHttpPageUrl(raw: string): string;
|
|
57
60
|
export declare function formatProxyFatalError(err: unknown): string;
|
|
61
|
+
export declare function resolveStealthMode(stealth?: boolean): boolean;
|
|
58
62
|
export declare function launchProxyRuntime(options: LaunchProxyRuntimeOptions): Promise<ProxyRuntimeHandle>;
|
|
59
63
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,aAAa,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,QAAQ,EAAE,MAAM,iBAAiB,CAAA;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACjC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACtC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,aAAa,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,QAAQ,EAAE,MAAM,iBAAiB,CAAA;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACjC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAS1D;AAaD,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAE7D;AAgBD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmMxG"}
|
package/dist/runtime.js
CHANGED
|
@@ -19,8 +19,23 @@ export function formatProxyFatalError(err) {
|
|
|
19
19
|
if (/Executable doesn't exist|playwright install chromium|browserType\.launch/i.test(base)) {
|
|
20
20
|
return `${base}\nInstall Chromium with: npx playwright install chromium`;
|
|
21
21
|
}
|
|
22
|
+
if (/cloakbrowser|CLOAKBROWSER|ERR_MODULE_NOT_FOUND|Cannot find package/i.test(base)) {
|
|
23
|
+
return `${base}\nStealth mode uses CloakBrowser. Install dependencies with: npm install, or disable stealth with --no-stealth / GEOMETRA_STEALTH=0. To prefetch the patched Chromium binary, run: npx cloakbrowser install`;
|
|
24
|
+
}
|
|
22
25
|
return base;
|
|
23
26
|
}
|
|
27
|
+
function envRequestsStealth() {
|
|
28
|
+
const explicit = process.env.GEOMETRA_STEALTH;
|
|
29
|
+
if (explicit !== undefined) {
|
|
30
|
+
const v = explicit.toLowerCase();
|
|
31
|
+
return v === '1' || v === 'true' || v === 'yes' || v === 'stealth' || v === 'cloak';
|
|
32
|
+
}
|
|
33
|
+
const browser = (process.env.GEOMETRA_BROWSER ?? '').toLowerCase();
|
|
34
|
+
return browser === 'stealth' || browser === 'cloak' || browser === 'cloakbrowser';
|
|
35
|
+
}
|
|
36
|
+
export function resolveStealthMode(stealth) {
|
|
37
|
+
return stealth ?? envRequestsStealth();
|
|
38
|
+
}
|
|
24
39
|
function createDeferred() {
|
|
25
40
|
let resolve;
|
|
26
41
|
let reject;
|
|
@@ -89,29 +104,51 @@ export async function launchProxyRuntime(options) {
|
|
|
89
104
|
width: options.width ?? 1280,
|
|
90
105
|
height: options.height ?? 720,
|
|
91
106
|
};
|
|
107
|
+
const stealth = resolveStealthMode(options.stealth);
|
|
108
|
+
trace.browserFlavor = stealth ? 'stealth' : 'chromium';
|
|
92
109
|
const browserLaunchStartedAt = performance.now();
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (options.slowMo && options.slowMo > 0)
|
|
105
|
-
launchOpts.slowMo = options.slowMo;
|
|
106
|
-
if (options.proxy?.server) {
|
|
107
|
-
launchOpts.proxy = {
|
|
110
|
+
const headless = options.headed !== true;
|
|
111
|
+
const args = [
|
|
112
|
+
'--disable-blink-features=AutomationControlled',
|
|
113
|
+
'--disable-dev-shm-usage',
|
|
114
|
+
'--no-sandbox',
|
|
115
|
+
'--disable-setuid-sandbox',
|
|
116
|
+
'--disable-web-security',
|
|
117
|
+
'--disable-features=IsolateOrigins,site-per-process',
|
|
118
|
+
];
|
|
119
|
+
const proxy = options.proxy?.server
|
|
120
|
+
? {
|
|
108
121
|
server: options.proxy.server,
|
|
109
122
|
...(options.proxy.username !== undefined && { username: options.proxy.username }),
|
|
110
123
|
...(options.proxy.password !== undefined && { password: options.proxy.password }),
|
|
111
124
|
...(options.proxy.bypass !== undefined && { bypass: options.proxy.bypass }),
|
|
125
|
+
}
|
|
126
|
+
: undefined;
|
|
127
|
+
if (stealth) {
|
|
128
|
+
const cloak = await import('cloakbrowser');
|
|
129
|
+
const launchOptions = {};
|
|
130
|
+
if (options.slowMo && options.slowMo > 0)
|
|
131
|
+
launchOptions.slowMo = options.slowMo;
|
|
132
|
+
browser = await cloak.launch({
|
|
133
|
+
headless,
|
|
134
|
+
args,
|
|
135
|
+
...(proxy && { proxy }),
|
|
136
|
+
...(Object.keys(launchOptions).length > 0 && { launchOptions }),
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const launchOpts = {
|
|
141
|
+
headless,
|
|
142
|
+
args: [
|
|
143
|
+
...args,
|
|
144
|
+
],
|
|
112
145
|
};
|
|
146
|
+
if (options.slowMo && options.slowMo > 0)
|
|
147
|
+
launchOpts.slowMo = options.slowMo;
|
|
148
|
+
if (proxy)
|
|
149
|
+
launchOpts.proxy = proxy;
|
|
150
|
+
browser = await chromium.launch(launchOpts);
|
|
113
151
|
}
|
|
114
|
-
browser = await chromium.launch(launchOpts);
|
|
115
152
|
trace.browserLaunchMs = performance.now() - browserLaunchStartedAt;
|
|
116
153
|
browser?.on('disconnected', () => {
|
|
117
154
|
handleUnexpectedClosure('browser');
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAA2B,MAAM,YAAY,CAAA;AAC9D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geometra/proxy",
|
|
3
|
-
"version": "1.61.
|
|
3
|
+
"version": "1.61.3",
|
|
4
4
|
"description": "Chromium proxy (headed by default) — stream live DOM geometry as Geometra WebSocket frames for MCP and clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"prepublishOnly": "npm run build"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
+
"cloakbrowser": "^0.3.28",
|
|
41
42
|
"playwright": "^1.54.0",
|
|
42
43
|
"ws": "^8.18.0"
|
|
43
44
|
},
|