@auxiora/browser 1.0.0 → 1.3.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.
@@ -11,7 +11,10 @@ export declare class BrowserManager {
11
11
  private context;
12
12
  private pages;
13
13
  private browserFactory;
14
+ private fetchOnly;
14
15
  constructor(options?: BrowserManagerOptions);
16
+ /** Whether running in fetch-only fallback mode (no Playwright). */
17
+ get isFetchOnly(): boolean;
15
18
  launch(): Promise<void>;
16
19
  private ensureBrowser;
17
20
  getPage(sessionId: string): Promise<Page>;
@@ -24,7 +27,6 @@ export declare class BrowserManager {
24
27
  base64: string;
25
28
  path?: string;
26
29
  }>;
27
- private processScreenshot;
28
30
  extract(sessionId: string, selector: string): Promise<ExtractResult>;
29
31
  wait(sessionId: string, selectorOrMs: string | number): Promise<void>;
30
32
  runScript(sessionId: string, script: string): Promise<string>;
@@ -32,6 +34,9 @@ export declare class BrowserManager {
32
34
  result: string;
33
35
  steps: BrowseStep[];
34
36
  }>;
37
+ private fetchNavigate;
38
+ private extractTitle;
39
+ private processScreenshot;
35
40
  private getPageMarkdown;
36
41
  private htmlToMarkdown;
37
42
  getActiveSessionIds(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"browser-manager.d.ts","sourceRoot":"","sources":["../src/browser-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAkB,MAAM,YAAY,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMxG,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,OAAO,GAAE,qBAA0B;IAKzC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAWf,aAAa;IAWrB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBzB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkB3D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAqB9F,iBAAiB;IAqBzB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBpE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa7D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;YAmBjF,eAAe;IAK7B,OAAO,CAAC,cAAc;IAuBtB,mBAAmB,IAAI,MAAM,EAAE;IAI/B,YAAY,IAAI,MAAM;CAGvB"}
1
+ {"version":3,"file":"browser-manager.d.ts","sourceRoot":"","sources":["../src/browser-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAkB,MAAM,YAAY,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMxG,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAUD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,qBAA0B;IAK/C,mEAAmE;IACnE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBf,aAAa;IAarB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BzB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwB3D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsBtG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBpE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;YAmBjF,aAAa;IAuC3B,OAAO,CAAC,YAAY;YAON,iBAAiB;YAqBjB,eAAe;IAK7B,OAAO,CAAC,cAAc;IAuBtB,mBAAmB,IAAI,MAAM,EAAE;IAI/B,YAAY,IAAI,MAAM;CAGvB"}
@@ -4,26 +4,48 @@ import { validateUrl } from './url-validator.js';
4
4
  const logger = getLogger('browser:manager');
5
5
  const MAX_SCREENSHOT_SIZE = 5 * 1024 * 1024; // 5MB
6
6
  const MAX_RESULT_SIZE = 100 * 1024; // 100KB
7
+ const MAX_FETCH_CONTENT = 500_000; // 500KB
8
+ const FETCH_TIMEOUT = 15_000; // 15s
9
+ const USER_AGENT = 'Auxiora/1.0 (AI Assistant; +https://github.com/trollByte/auxiora)';
10
+ const INTERACTIVE_ERROR = 'Interactive browsing is not available (Playwright not installed). Navigation and page reading still work. To enable clicking, typing, and screenshots, install Playwright: npx playwright install --with-deps chromium';
7
11
  export class BrowserManager {
8
12
  config;
9
13
  browser = null;
10
14
  context = null;
11
15
  pages = new Map();
12
16
  browserFactory;
17
+ fetchOnly = false;
13
18
  constructor(options = {}) {
14
19
  this.config = { ...DEFAULT_BROWSER_CONFIG, ...options.config };
15
20
  this.browserFactory = options.browserFactory || defaultBrowserFactory;
16
21
  }
22
+ /** Whether running in fetch-only fallback mode (no Playwright). */
23
+ get isFetchOnly() {
24
+ return this.fetchOnly;
25
+ }
17
26
  async launch() {
18
- if (this.browser?.isConnected()) {
27
+ if (this.fetchOnly)
28
+ return;
29
+ if (this.browser?.isConnected())
19
30
  return;
20
- }
21
31
  logger.info('Launching browser', { headless: this.config.headless });
22
- this.browser = await this.browserFactory(this.config);
23
- this.context = await this.browser.newContext();
24
- logger.info('Browser launched');
32
+ try {
33
+ this.browser = await this.browserFactory(this.config);
34
+ this.context = await this.browser.newContext();
35
+ logger.info('Browser launched');
36
+ }
37
+ catch (error) {
38
+ logger.warn('Playwright unavailable, falling back to fetch-only mode', {
39
+ error: error instanceof Error ? error : new Error(String(error)),
40
+ });
41
+ this.fetchOnly = true;
42
+ this.browser = null;
43
+ this.context = null;
44
+ }
25
45
  }
26
46
  async ensureBrowser() {
47
+ if (this.fetchOnly)
48
+ return;
27
49
  if (!this.browser || !this.browser.isConnected()) {
28
50
  this.pages.clear();
29
51
  this.context = null;
@@ -33,6 +55,9 @@ export class BrowserManager {
33
55
  }
34
56
  }
35
57
  async getPage(sessionId) {
58
+ if (this.fetchOnly) {
59
+ throw new Error(INTERACTIVE_ERROR);
60
+ }
36
61
  await this.ensureBrowser();
37
62
  const existing = this.pages.get(sessionId);
38
63
  if (existing && !existing.isClosed()) {
@@ -81,6 +106,7 @@ export class BrowserManager {
81
106
  }
82
107
  logger.info('Browser shutdown complete');
83
108
  }
109
+ // ─── Navigation (works in both modes) ────────────────────────────────────
84
110
  async navigate(sessionId, url) {
85
111
  const validationError = validateUrl(url, {
86
112
  allowedUrls: this.config.allowedUrls,
@@ -89,17 +115,25 @@ export class BrowserManager {
89
115
  if (validationError) {
90
116
  throw new Error(validationError);
91
117
  }
118
+ if (this.fetchOnly) {
119
+ return this.fetchNavigate(url);
120
+ }
92
121
  const page = await this.getPage(sessionId);
93
122
  await page.goto(url, { waitUntil: 'domcontentloaded' });
94
123
  const title = await page.title();
95
124
  const content = await this.getPageMarkdown(page);
96
125
  return { url: page.url(), title, content };
97
126
  }
127
+ // ─── Interactive methods (Playwright only) ───────────────────────────────
98
128
  async click(sessionId, selector) {
129
+ if (this.fetchOnly)
130
+ throw new Error(INTERACTIVE_ERROR);
99
131
  const page = await this.getPage(sessionId);
100
132
  await page.click(selector, { timeout: this.config.actionTimeout });
101
133
  }
102
134
  async type(sessionId, selector, text, pressEnter) {
135
+ if (this.fetchOnly)
136
+ throw new Error(INTERACTIVE_ERROR);
103
137
  const page = await this.getPage(sessionId);
104
138
  await page.fill(selector, text);
105
139
  if (pressEnter) {
@@ -107,6 +141,8 @@ export class BrowserManager {
107
141
  }
108
142
  }
109
143
  async screenshot(sessionId, options) {
144
+ if (this.fetchOnly)
145
+ throw new Error(INTERACTIVE_ERROR);
110
146
  const page = await this.getPage(sessionId);
111
147
  const screenshotOptions = {
112
148
  fullPage: options?.fullPage ?? true,
@@ -123,24 +159,9 @@ export class BrowserManager {
123
159
  const buffer = await page.screenshot(screenshotOptions);
124
160
  return this.processScreenshot(buffer, sessionId);
125
161
  }
126
- async processScreenshot(buffer, sessionId) {
127
- if (buffer.length > MAX_SCREENSHOT_SIZE) {
128
- logger.warn('Screenshot exceeds size limit', { size: buffer.length });
129
- }
130
- const base64 = buffer.toString('base64');
131
- let filePath;
132
- if (this.config.screenshotDir) {
133
- const { mkdir, writeFile } = await import('node:fs/promises');
134
- const { join } = await import('node:path');
135
- const dir = this.config.screenshotDir;
136
- await mkdir(dir, { recursive: true });
137
- const timestamp = Date.now();
138
- filePath = join(dir, `${timestamp}-${sessionId}.png`);
139
- await writeFile(filePath, buffer);
140
- }
141
- return { base64, path: filePath };
142
- }
143
162
  async extract(sessionId, selector) {
163
+ if (this.fetchOnly)
164
+ throw new Error(INTERACTIVE_ERROR);
144
165
  const page = await this.getPage(sessionId);
145
166
  const elements = await page.$$eval(selector, (els) => els.map((el) => ({
146
167
  text: el.innerText || el.textContent || '',
@@ -150,18 +171,21 @@ export class BrowserManager {
150
171
  return { selector, elements };
151
172
  }
152
173
  async wait(sessionId, selectorOrMs) {
153
- const page = await this.getPage(sessionId);
154
174
  if (typeof selectorOrMs === 'number') {
155
175
  const delay = Math.min(selectorOrMs, 30_000);
156
176
  await new Promise((resolve) => setTimeout(resolve, delay));
177
+ return;
157
178
  }
158
- else {
159
- await page.waitForSelector(selectorOrMs, { timeout: this.config.actionTimeout });
160
- }
179
+ if (this.fetchOnly)
180
+ throw new Error(INTERACTIVE_ERROR);
181
+ const page = await this.getPage(sessionId);
182
+ await page.waitForSelector(selectorOrMs, { timeout: this.config.actionTimeout });
161
183
  }
162
184
  async runScript(sessionId, script) {
185
+ if (this.fetchOnly)
186
+ throw new Error(INTERACTIVE_ERROR);
163
187
  const page = await this.getPage(sessionId);
164
- // Using Playwright's page.evaluate API to run script in browser context
188
+ // Playwright's page API for running script in browser context
165
189
  const result = await page.evaluate(script);
166
190
  const json = JSON.stringify(result);
167
191
  if (json.length > MAX_RESULT_SIZE) {
@@ -170,20 +194,76 @@ export class BrowserManager {
170
194
  return json;
171
195
  }
172
196
  async browse(sessionId, task) {
173
- const steps = [];
174
197
  const mutationKeywords = ['click', 'type', 'fill', 'submit', 'login', 'sign in', 'purchase', 'buy', 'send', 'post', 'delete'];
175
198
  const needsMutation = mutationKeywords.some((kw) => task.toLowerCase().includes(kw));
176
199
  if (needsMutation) {
177
- return {
178
- result: 'This task requires page interactions (clicking, typing). Please use the primitive browser tools (browser_click, browser_type) for these actions, which require user approval for safety.',
179
- steps: [],
180
- };
200
+ const msg = this.fetchOnly
201
+ ? `This task requires page interactions (clicking, typing) which are not available in fetch-only mode. ${INTERACTIVE_ERROR}`
202
+ : 'This task requires page interactions (clicking, typing). Please use the primitive browser tools (browser_click, browser_type) for these actions, which require user approval for safety.';
203
+ return { result: msg, steps: [] };
181
204
  }
182
205
  return {
183
206
  result: `Browse task queued: "${task}". Use browser_navigate to go to a page, then browser_extract to get data.`,
184
- steps,
207
+ steps: [],
185
208
  };
186
209
  }
210
+ // ─── Fetch-only fallback ─────────────────────────────────────────────────
211
+ async fetchNavigate(url) {
212
+ logger.info('Fetching URL (fetch-only mode)', { url });
213
+ const controller = new AbortController();
214
+ const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT);
215
+ try {
216
+ const response = await fetch(url, {
217
+ headers: {
218
+ 'User-Agent': USER_AGENT,
219
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
220
+ },
221
+ signal: controller.signal,
222
+ redirect: 'follow',
223
+ });
224
+ if (!response.ok) {
225
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
226
+ }
227
+ let text = await response.text();
228
+ if (text.length > MAX_FETCH_CONTENT) {
229
+ text = text.substring(0, MAX_FETCH_CONTENT);
230
+ }
231
+ const title = this.extractTitle(text);
232
+ const content = this.htmlToMarkdown(text);
233
+ return { url: response.url, title, content };
234
+ }
235
+ catch (error) {
236
+ if (error.name === 'AbortError') {
237
+ throw new Error(`Request timed out after ${FETCH_TIMEOUT}ms`);
238
+ }
239
+ throw error;
240
+ }
241
+ finally {
242
+ clearTimeout(timeoutId);
243
+ }
244
+ }
245
+ extractTitle(html) {
246
+ const match = html.match(/<title[^>]*>(.*?)<\/title>/is);
247
+ return match ? match[1].replace(/\s+/g, ' ').trim() : '';
248
+ }
249
+ // ─── Shared helpers ──────────────────────────────────────────────────────
250
+ async processScreenshot(buffer, sessionId) {
251
+ if (buffer.length > MAX_SCREENSHOT_SIZE) {
252
+ logger.warn('Screenshot exceeds size limit', { size: buffer.length });
253
+ }
254
+ const base64 = buffer.toString('base64');
255
+ let filePath;
256
+ if (this.config.screenshotDir) {
257
+ const { mkdir, writeFile } = await import('node:fs/promises');
258
+ const { join } = await import('node:path');
259
+ const dir = this.config.screenshotDir;
260
+ await mkdir(dir, { recursive: true });
261
+ const timestamp = Date.now();
262
+ filePath = join(dir, `${timestamp}-${sessionId}.png`);
263
+ await writeFile(filePath, buffer);
264
+ }
265
+ return { base64, path: filePath };
266
+ }
187
267
  async getPageMarkdown(page) {
188
268
  const html = await page.content();
189
269
  return this.htmlToMarkdown(html);
@@ -1 +1 @@
1
- {"version":3,"file":"browser-manager.js","sourceRoot":"","sources":["../src/browser-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-manager.js","sourceRoot":"","sources":["../src/browser-manager.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -12,7 +12,7 @@ export interface BrowserConfig {
12
12
  blockedUrls?: string[];
13
13
  }
14
14
  export declare const DEFAULT_BROWSER_CONFIG: BrowserConfig;
15
- export declare const BLOCKED_PROTOCOLS: string[];
15
+ export { BLOCKED_PROTOCOLS } from '@auxiora/ssrf-guard';
16
16
  export interface PageInfo {
17
17
  url: string;
18
18
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAA6C,CAAC;AAE5E,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ"}
package/dist/types.js CHANGED
@@ -6,5 +6,5 @@ export const DEFAULT_BROWSER_CONFIG = {
6
6
  maxConcurrentPages: 10,
7
7
  screenshotDir: 'screenshots',
8
8
  };
9
- export const BLOCKED_PROTOCOLS = ['file:', 'javascript:', 'data:', 'blob:'];
9
+ export { BLOCKED_PROTOCOLS } from '@auxiora/ssrf-guard';
10
10
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,EAAE;IACtB,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,EAAE;IACtB,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,37 +1,2 @@
1
- interface ValidatorOptions {
2
- allowedUrls?: string[];
3
- blockedUrls?: string[];
4
- }
5
- /**
6
- * Check if an IP address (v4 or v6) falls within private/internal ranges.
7
- * Uses numeric comparison instead of string prefix matching to prevent
8
- * bypass via decimal, hex, or octal IP encodings.
9
- */
10
- declare function isPrivateIP(ip: string): boolean;
11
- /**
12
- * Parse an IPv4 address string to a 32-bit unsigned number.
13
- * Handles standard dotted-decimal (e.g. "127.0.0.1").
14
- */
15
- declare function parseIPv4ToNumber(ip: string): number | null;
16
- /**
17
- * Normalize an IPv6 address to its full expanded form.
18
- */
19
- declare function normalizeIPv6(ip: string): string;
20
- /**
21
- * Check if a hostname looks like a numeric IP (decimal, hex, octal)
22
- * that could bypass string-based checks.
23
- */
24
- declare function isNumericHostname(hostname: string): boolean;
25
- /**
26
- * Validates a URL for browser navigation.
27
- * Returns null if valid, or an error message string.
28
- *
29
- * Blocks:
30
- * - Non http/https protocols (file:, javascript:, data:, blob:)
31
- * - Private/internal IP addresses (127.x, 10.x, 192.168.x, 172.16-31.x, 169.254.x, localhost)
32
- * - Numeric IP bypasses (decimal, hex, octal encodings)
33
- * - IPv6-mapped IPv4 addresses (::ffff:127.0.0.1)
34
- */
35
- export declare function validateUrl(url: string, options?: ValidatorOptions): string | null;
36
- export { isPrivateIP, parseIPv4ToNumber, isNumericHostname, normalizeIPv6 };
1
+ export { validateUrl, isPrivateIP, parseIPv4ToNumber, isNumericHostname, normalizeIPv6 } from '@auxiora/ssrf-guard';
37
2
  //# sourceMappingURL=url-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-validator.d.ts","sourceRoot":"","sources":["../src/url-validator.ts"],"names":[],"mappings":"AAGA,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CA4BxC;AAED;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWpD;AAqBD;;GAEG;AACH,iBAAS,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAuBzC;AAED;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CA+DlF;AAGD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"url-validator.d.ts","sourceRoot":"","sources":["../src/url-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,189 +1,3 @@
1
- import { isIP } from 'node:net';
2
- import { BLOCKED_PROTOCOLS } from './types.js';
3
- /**
4
- * Check if an IP address (v4 or v6) falls within private/internal ranges.
5
- * Uses numeric comparison instead of string prefix matching to prevent
6
- * bypass via decimal, hex, or octal IP encodings.
7
- */
8
- function isPrivateIP(ip) {
9
- // IPv6 checks
10
- if (ip.includes(':')) {
11
- const normalized = normalizeIPv6(ip);
12
- // ::1 (loopback)
13
- if (normalized === '0000:0000:0000:0000:0000:0000:0000:0001')
14
- return true;
15
- // :: (unspecified)
16
- if (normalized === '0000:0000:0000:0000:0000:0000:0000:0000')
17
- return true;
18
- // fe80::/10 (link-local)
19
- if (normalized.startsWith('fe8') || normalized.startsWith('fe9') ||
20
- normalized.startsWith('fea') || normalized.startsWith('feb'))
21
- return true;
22
- // fc00::/7 (unique local)
23
- if (normalized.startsWith('fc') || normalized.startsWith('fd'))
24
- return true;
25
- // ::ffff:x.x.x.x (IPv4-mapped IPv6)
26
- if (normalized.startsWith('0000:0000:0000:0000:0000:ffff:')) {
27
- const lastTwo = normalized.slice(30); // e.g., "7f00:0001"
28
- const hi = parseInt(lastTwo.slice(0, 4), 16);
29
- const lo = parseInt(lastTwo.slice(5, 9), 16);
30
- const ipv4 = ((hi << 16) | lo) >>> 0;
31
- return isPrivateIPv4Numeric(ipv4);
32
- }
33
- return false;
34
- }
35
- // IPv4: parse to numeric
36
- const num = parseIPv4ToNumber(ip);
37
- if (num === null)
38
- return false;
39
- return isPrivateIPv4Numeric(num);
40
- }
41
- /**
42
- * Parse an IPv4 address string to a 32-bit unsigned number.
43
- * Handles standard dotted-decimal (e.g. "127.0.0.1").
44
- */
45
- function parseIPv4ToNumber(ip) {
46
- const parts = ip.split('.');
47
- if (parts.length !== 4)
48
- return null;
49
- let result = 0;
50
- for (const part of parts) {
51
- const n = parseInt(part, 10);
52
- if (isNaN(n) || n < 0 || n > 255)
53
- return null;
54
- result = (result << 8) | n;
55
- }
56
- return result >>> 0; // unsigned
57
- }
58
- /**
59
- * Check if a numeric IPv4 address is in a private/internal range.
60
- */
61
- function isPrivateIPv4Numeric(ip) {
62
- // 127.0.0.0/8 (loopback)
63
- if ((ip >>> 24) === 127)
64
- return true;
65
- // 10.0.0.0/8
66
- if ((ip >>> 24) === 10)
67
- return true;
68
- // 172.16.0.0/12
69
- if ((ip >>> 20) === (172 << 4 | 1))
70
- return true; // 0xAC1 = 172.16-31
71
- // 192.168.0.0/16
72
- if ((ip >>> 16) === (192 << 8 | 168))
73
- return true; // 0xC0A8
74
- // 169.254.0.0/16 (link-local)
75
- if ((ip >>> 16) === (169 << 8 | 254))
76
- return true; // 0xA9FE
77
- // 0.0.0.0
78
- if (ip === 0)
79
- return true;
80
- return false;
81
- }
82
- /**
83
- * Normalize an IPv6 address to its full expanded form.
84
- */
85
- function normalizeIPv6(ip) {
86
- // Handle IPv4-mapped addresses like ::ffff:127.0.0.1
87
- const v4MappedMatch = ip.match(/::ffff:(\d+\.\d+\.\d+\.\d+)$/i);
88
- if (v4MappedMatch) {
89
- const v4num = parseIPv4ToNumber(v4MappedMatch[1]);
90
- if (v4num !== null) {
91
- const hi = (v4num >>> 16) & 0xffff;
92
- const lo = v4num & 0xffff;
93
- return `0000:0000:0000:0000:0000:ffff:${hi.toString(16).padStart(4, '0')}:${lo.toString(16).padStart(4, '0')}`;
94
- }
95
- }
96
- let parts = ip.split(':');
97
- // Handle :: expansion
98
- const emptyIndex = parts.indexOf('');
99
- if (ip.includes('::')) {
100
- const before = ip.split('::')[0].split(':').filter(Boolean);
101
- const after = ip.split('::')[1].split(':').filter(Boolean);
102
- const missing = 8 - before.length - after.length;
103
- parts = [...before, ...Array(missing).fill('0'), ...after];
104
- }
105
- return parts.map((p) => (p || '0').padStart(4, '0').toLowerCase()).join(':');
106
- }
107
- /**
108
- * Check if a hostname looks like a numeric IP (decimal, hex, octal)
109
- * that could bypass string-based checks.
110
- */
111
- function isNumericHostname(hostname) {
112
- // Pure decimal number (e.g., 2130706433 for 127.0.0.1)
113
- if (/^\d+$/.test(hostname))
114
- return true;
115
- // Hex number (e.g., 0x7f000001)
116
- if (/^0x[0-9a-fA-F]+$/i.test(hostname))
117
- return true;
118
- // Octal parts (e.g., 0177.0.0.1)
119
- if (/^[0-7]+\./.test(hostname) && hostname.startsWith('0') && !hostname.startsWith('0.'))
120
- return true;
121
- return false;
122
- }
123
- /**
124
- * Validates a URL for browser navigation.
125
- * Returns null if valid, or an error message string.
126
- *
127
- * Blocks:
128
- * - Non http/https protocols (file:, javascript:, data:, blob:)
129
- * - Private/internal IP addresses (127.x, 10.x, 192.168.x, 172.16-31.x, 169.254.x, localhost)
130
- * - Numeric IP bypasses (decimal, hex, octal encodings)
131
- * - IPv6-mapped IPv4 addresses (::ffff:127.0.0.1)
132
- */
133
- export function validateUrl(url, options) {
134
- if (!url || typeof url !== 'string') {
135
- return 'URL must be a non-empty string';
136
- }
137
- let parsed;
138
- try {
139
- parsed = new URL(url);
140
- }
141
- catch {
142
- return 'Invalid URL format';
143
- }
144
- // Check blocked protocols
145
- if (BLOCKED_PROTOCOLS.includes(parsed.protocol)) {
146
- return `Blocked protocol: ${parsed.protocol} — only http: and https: are allowed`;
147
- }
148
- // Only allow http and https
149
- if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
150
- return `Blocked protocol: ${parsed.protocol} — only http: and https: are allowed`;
151
- }
152
- const hostname = parsed.hostname;
153
- // Check blocklist first (takes priority)
154
- if (options?.blockedUrls?.some((pattern) => hostname.includes(pattern))) {
155
- return `URL blocked by blocklist: ${hostname}`;
156
- }
157
- // Check if in allowlist (skip private IP check if allowed)
158
- const isAllowed = options?.allowedUrls?.some((pattern) => hostname.includes(pattern));
159
- if (isAllowed) {
160
- return null;
161
- }
162
- // Block numeric IP encodings (decimal, hex, octal) that could bypass string checks
163
- if (isNumericHostname(hostname)) {
164
- return `Blocked numeric IP encoding: ${hostname}`;
165
- }
166
- // Block localhost
167
- if (hostname === 'localhost' || hostname.endsWith('.localhost')) {
168
- return `Blocked private/internal address: ${hostname}`;
169
- }
170
- // Check if hostname is an IP address
171
- const ipVersion = isIP(hostname);
172
- if (ipVersion > 0) {
173
- // It's a direct IP — check against private ranges numerically
174
- if (isPrivateIP(hostname)) {
175
- return `Blocked private/internal address: ${hostname}`;
176
- }
177
- }
178
- // Check hostnames that resolve to IPv6 loopback patterns
179
- if (hostname.startsWith('[') && hostname.endsWith(']')) {
180
- const innerIP = hostname.slice(1, -1);
181
- if (isPrivateIP(innerIP)) {
182
- return `Blocked private/internal address: ${hostname}`;
183
- }
184
- }
185
- return null;
186
- }
187
- // Export for testing
188
- export { isPrivateIP, parseIPv4ToNumber, isNumericHostname, normalizeIPv6 };
1
+ // Re-export from shared SSRF guard package
2
+ export { validateUrl, isPrivateIP, parseIPv4ToNumber, isNumericHostname, normalizeIPv6 } from '@auxiora/ssrf-guard';
189
3
  //# sourceMappingURL=url-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-validator.js","sourceRoot":"","sources":["../src/url-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-validator.js","sourceRoot":"","sources":["../src/url-validator.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auxiora/browser",
3
- "version": "1.0.0",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,8 +15,15 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "playwright": "^1.50.0",
18
- "@auxiora/logger": "1.0.0"
18
+ "@auxiora/logger": "1.3.0",
19
+ "@auxiora/ssrf-guard": "1.3.0"
19
20
  },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "files": [
25
+ "dist/"
26
+ ],
20
27
  "scripts": {
21
28
  "build": "tsc",
22
29
  "clean": "rm -rf dist",