amenbo 0.5.1 → 0.6.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/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,20 @@ export interface PdfTextResult {
4
4
  /** ページ毎のプレーンテキスト(hasTextLayer=falseの場合は空配列)。 */
5
5
  pages: string[];
6
6
  pageCount: number;
7
+ /** 実際にテキスト抽出したページ数(上限で打ち切った場合はpageCountより小さい)。 */
8
+ extractedPageCount: number;
7
9
  title: string | null;
8
10
  }
9
11
  /** URLまたはContent-TypeからPDFかどうかを判定する。 */
10
12
  export declare function looksLikePdf(url: string, contentType: string | null): boolean;
11
13
  /** PDFバイト列がサイズ上限を超えていないか確認する。超過時は型付きエラーを投げる。 */
12
14
  export declare function assertPdfSizeWithinLimit(url: string, byteLength: number, maxBytes?: number): void;
15
+ export interface ExtractPdfTextOptions {
16
+ /** テキスト抽出するページ数の上限(既定 MAX_TEXT_PAGES)。 */
17
+ maxPages?: number;
18
+ }
13
19
  /** PDFバイト列からテキスト層を抽出する。実質的にテキストが無ければhasTextLayer=false。 */
14
- export declare function extractPdfText(bytes: Uint8Array): Promise<PdfTextResult>;
20
+ export declare function extractPdfText(bytes: Uint8Array, options?: ExtractPdfTextOptions): Promise<PdfTextResult>;
15
21
  /** テキスト抽出結果をページ見出し付きのMarkdown相当プレーンテキストへ整形する。 */
16
22
  export declare function markdownFromPdfText(result: PdfTextResult): string;
17
23
  export interface PdfPageImage {
@@ -20,6 +20,12 @@ export const DEFAULT_PDF_MAX_BYTES = 20 * 1024 * 1024; // 20MB
20
20
  const MIN_TEXT_CHARS_PER_PAGE = 30;
21
21
  // 画像フォールバック時、トークン予算保護のため先頭N ページのみラスタライズする
22
22
  const MAX_RENDER_PAGES = 10;
23
+ /**
24
+ * テキスト抽出するページ数の上限。20MBのバイト上限は処理時間を抑えない
25
+ * (実測: 30,000ページ・9.8MBのPDFで92.5秒。ページ数に対して超線形に伸びる)。
26
+ * 3,000ページなら約1秒で、統計年鑑のような大部の資料でも実用上到達しない水準。
27
+ */
28
+ const MAX_TEXT_PAGES = 3000;
23
29
  const RENDER_SCALE = 1.5;
24
30
  /** URLまたはContent-TypeからPDFかどうかを判定する。 */
25
31
  export function looksLikePdf(url, contentType) {
@@ -38,16 +44,25 @@ export function assertPdfSizeWithinLimit(url, byteLength, maxBytes = DEFAULT_PDF
38
44
  throw new PayloadTooLargeError(url, byteLength, maxBytes);
39
45
  }
40
46
  }
47
+ /**
48
+ * pdf.jsはdataに渡したバイト列の下敷きのArrayBufferをワーカーへtransferするため、
49
+ * 呼び出し元の配列がその場でdetachされる(byteLengthが0になる)。テキスト層が無いPDFで
50
+ * 同じバイト列を画像化しようとすると必ず失敗していたため、渡す前に複製する。
51
+ */
52
+ function toOwnedCopy(bytes) {
53
+ return new Uint8Array(bytes);
54
+ }
41
55
  /** PDFバイト列からテキスト層を抽出する。実質的にテキストが無ければhasTextLayer=false。 */
42
- export async function extractPdfText(bytes) {
56
+ export async function extractPdfText(bytes, options = {}) {
43
57
  // verbosity: 0 (ERRORS)にしてpdf.jsの警告ログでstdout/stderrを汚さないようにする
44
- const loadingTask = getDocument({ data: bytes, useSystemFonts: true, verbosity: 0 });
58
+ const loadingTask = getDocument({ data: toOwnedCopy(bytes), useSystemFonts: true, verbosity: 0 });
45
59
  try {
46
60
  const doc = await loadingTask.promise;
47
61
  const pageCount = doc.numPages;
62
+ const extractedPageCount = Math.min(pageCount, options.maxPages ?? MAX_TEXT_PAGES);
48
63
  const pages = [];
49
64
  let totalChars = 0;
50
- for (let i = 1; i <= pageCount; i++) {
65
+ for (let i = 1; i <= extractedPageCount; i++) {
51
66
  const page = await doc.getPage(i);
52
67
  const content = await page.getTextContent();
53
68
  const pageText = content.items.map((item) => ("str" in item ? item.str : "")).join("");
@@ -57,8 +72,11 @@ export async function extractPdfText(bytes) {
57
72
  const metadata = await doc.getMetadata().catch(() => null);
58
73
  const infoTitle = metadata?.info?.Title ?? "";
59
74
  const title = infoTitle.trim() || null;
60
- const hasTextLayer = pageCount > 0 && totalChars / pageCount >= MIN_TEXT_CHARS_PER_PAGE;
61
- return { hasTextLayer, pages: hasTextLayer ? pages : [], pageCount, title };
75
+ // ページ数上限で打ち切った場合、テキスト層の有無は先頭extractedPageCountページから判断する。
76
+ // 先頭がスキャンで後半にテキスト層があるPDFは画像フォールバックへ倒れるが、
77
+ // 全ページを読むと処理時間が有界にならないため、この近似を受け入れる。
78
+ const hasTextLayer = extractedPageCount > 0 && totalChars / extractedPageCount >= MIN_TEXT_CHARS_PER_PAGE;
79
+ return { hasTextLayer, pages: hasTextLayer ? pages : [], pageCount, extractedPageCount, title };
62
80
  }
63
81
  finally {
64
82
  await loadingTask.destroy();
@@ -71,7 +89,7 @@ export function markdownFromPdfText(result) {
71
89
  /** テキスト層が無いPDFのフォールバック: 各ページをPNGにラスタライズする(先頭MAX_RENDER_PAGESまで)。 */
72
90
  export async function renderPdfPages(bytes) {
73
91
  // verbosity: 0 (ERRORS)にしてpdf.jsの警告ログでstdout/stderrを汚さないようにする
74
- const loadingTask = getDocument({ data: bytes, useSystemFonts: true, verbosity: 0 });
92
+ const loadingTask = getDocument({ data: toOwnedCopy(bytes), useSystemFonts: true, verbosity: 0 });
75
93
  try {
76
94
  const doc = await loadingTask.promise;
77
95
  const pageCount = Math.min(doc.numPages, MAX_RENDER_PAGES);
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/extract/pdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/extract/pdf.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,7 @@ export declare function hideConsentBanners(page: Page): Promise<number>;
61
61
  * Playwright側では現実的に組み込めないため、遷移前検証+リクエスト時の再検証という
62
62
  * 「可能な範囲」の対策にとどめる。
63
63
  */
64
- export declare function navigateSafely(page: Page, url: string, timeoutMs: number): Promise<PlaywrightResponse | null>;
64
+ export declare function navigateSafely(page: Page, url: string, timeoutMs: number, options?: SafeNavigationOptions): Promise<PlaywrightResponse | null>;
65
65
  /**
66
66
  * page.goto()の失敗が、ERR_HTTP2_PROTOCOL_ERROR系(実機検証: initial.inc等でPlaywright
67
67
  * pinビルドのChromiumのみ発生し、素のcurl --http2やシステムのGoogle Chromeでは成功する
@@ -75,6 +75,13 @@ export interface BrowserNavigation {
75
75
  page: Page;
76
76
  response: PlaywrightResponse | null;
77
77
  }
78
+ export interface SafeNavigationOptions {
79
+ /**
80
+ * メインフレームが別オリジンへ遷移した際に呼ばれるrobots.txt確認
81
+ * (fetcher/http.tsのHttpGetOptions.checkRobotsと同じ役割)。拒否時はそのまま伝播する。
82
+ */
83
+ checkRobots?: ((url: string) => Promise<void>) | undefined;
84
+ }
78
85
  /**
79
86
  * 共有chromiumでcontext/pageを作りnavigateSafelyでナビゲーションする。ERR_HTTP2_PROTOCOL_ERROR系
80
87
  * で失敗した場合のみ、システムのGoogle Chromeへ1回だけフォールバックする。
@@ -85,6 +92,6 @@ export interface BrowserNavigation {
85
92
  * - システムにChromeが無くgetSystemChromeBrowser自体が失敗した場合
86
93
  * Chromeでの再試行も失敗した場合は、そちらのエラー(Chrome経由での実際の失敗内容)を投げる。
87
94
  */
88
- export declare function openPageAndNavigate(url: string, timeoutMs: number, contextOptions?: BrowserContextOptions): Promise<BrowserNavigation>;
95
+ export declare function openPageAndNavigate(url: string, timeoutMs: number, contextOptions?: BrowserContextOptions, navigationOptions?: SafeNavigationOptions): Promise<BrowserNavigation>;
89
96
  /** Playwrightでページをレンダリングし、レンダリング後のHTMLを取得する。 */
90
- export declare function fetchWithBrowser(url: string, timeoutMs?: number): Promise<BrowserFetchResult>;
97
+ export declare function fetchWithBrowser(url: string, timeoutMs?: number, navigationOptions?: SafeNavigationOptions): Promise<BrowserFetchResult>;
@@ -284,8 +284,9 @@ function guardRequestUrl(rawUrl, hostGuardCache) {
284
284
  * Playwright側では現実的に組み込めないため、遷移前検証+リクエスト時の再検証という
285
285
  * 「可能な範囲」の対策にとどめる。
286
286
  */
287
- export async function navigateSafely(page, url, timeoutMs) {
287
+ export async function navigateSafely(page, url, timeoutMs, options = {}) {
288
288
  await guardPublicAddress(url);
289
+ const initialOrigin = new URL(url).origin;
289
290
  let blockedError = null;
290
291
  const hostGuardCache = new Map();
291
292
  const handler = async (route, request) => {
@@ -294,6 +295,12 @@ export async function navigateSafely(page, url, timeoutMs) {
294
295
  try {
295
296
  if (isMainFrameNavigation) {
296
297
  await guardPublicAddress(requestUrl);
298
+ // HTTP層(guardedFetch)は別オリジンへのリダイレクト着地でrobots.txtを再確認するのに、
299
+ // ブラウザ層はSSRFしか見ていなかった。同じリダイレクトでも取得経路が違うだけで
300
+ // 拒否されたりされなかったりするため、判定を揃える。
301
+ if (options.checkRobots && new URL(requestUrl).origin !== initialOrigin) {
302
+ await options.checkRobots(requestUrl);
303
+ }
297
304
  }
298
305
  else {
299
306
  await guardRequestUrl(requestUrl, hostGuardCache);
@@ -348,12 +355,12 @@ export function isChromiumHttp2NavigationError(error) {
348
355
  * - システムにChromeが無くgetSystemChromeBrowser自体が失敗した場合
349
356
  * Chromeでの再試行も失敗した場合は、そちらのエラー(Chrome経由での実際の失敗内容)を投げる。
350
357
  */
351
- export async function openPageAndNavigate(url, timeoutMs, contextOptions = {}) {
358
+ export async function openPageAndNavigate(url, timeoutMs, contextOptions = {}, navigationOptions = {}) {
352
359
  const primaryBrowser = await getBrowser();
353
360
  const primaryContext = await primaryBrowser.newContext(contextOptions);
354
361
  try {
355
362
  const page = await primaryContext.newPage();
356
- const response = await navigateSafely(page, url, timeoutMs);
363
+ const response = await navigateSafely(page, url, timeoutMs, navigationOptions);
357
364
  return { context: primaryContext, page, response };
358
365
  }
359
366
  catch (primaryError) {
@@ -381,7 +388,7 @@ export async function openPageAndNavigate(url, timeoutMs, contextOptions = {}) {
381
388
  }
382
389
  try {
383
390
  const page = await chromeContext.newPage();
384
- const response = await navigateSafely(page, url, timeoutMs);
391
+ const response = await navigateSafely(page, url, timeoutMs, navigationOptions);
385
392
  return { context: chromeContext, page, response };
386
393
  }
387
394
  catch (fallbackError) {
@@ -391,8 +398,8 @@ export async function openPageAndNavigate(url, timeoutMs, contextOptions = {}) {
391
398
  }
392
399
  }
393
400
  /** Playwrightでページをレンダリングし、レンダリング後のHTMLを取得する。 */
394
- export async function fetchWithBrowser(url, timeoutMs = DEFAULT_TIMEOUT_MS) {
395
- const { context, page, response } = await openPageAndNavigate(url, timeoutMs, { userAgent: USER_AGENT });
401
+ export async function fetchWithBrowser(url, timeoutMs = DEFAULT_TIMEOUT_MS, navigationOptions = {}) {
402
+ const { context, page, response } = await openPageAndNavigate(url, timeoutMs, { userAgent: USER_AGENT }, navigationOptions);
396
403
  try {
397
404
  await hideConsentBanners(page).catch(() => {
398
405
  // ページ評価に失敗しても取得自体は継続する(ベストエフォート)
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/fetcher/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/fetcher/browser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type Headers } from "undici";
2
- export declare const USER_AGENT = "amenbo/0.5 (+https://github.com/Rererr/amenbo)";
2
+ export declare const USER_AGENT = "amenbo/0.6 (+https://github.com/Rererr/amenbo)";
3
3
  /** IPアドレス(v4/v6)がprivate/loopback/link-local等の予約アドレスかどうか判定する。 */
4
4
  export declare function isPrivateOrReservedIp(ip: string): boolean;
5
5
  /**
@@ -13,19 +13,8 @@ export declare function isPrivateOrReservedIp(ip: string): boolean;
13
13
  * 生のTypeErrorを投げてスタックトレースがstderrに漏れる問題があった(公開品質バグ)。
14
14
  */
15
15
  export declare function assertHttpScheme(urlStr: string): URL;
16
- /**
17
- * URLのホストを解決し、private/予約アドレスであれば拒否する(SSRF対策)。
18
- * http(s)以外のスキーム(file:等)も拒否する。
19
- *
20
- * fetcher/browser.ts・screenshot.tsのPlaywrightナビゲーション(page.goto前・
21
- * リダイレクト再検証)からも共通利用する(C1: screenshot/browser層がSSRF/スキーム
22
- * 検証を経由していなかった問題への対応)。
23
- *
24
- * 注意(TOCTOU): この関数の検証と実際の接続(fetch/ブラウザのTCP接続)は別のDNS解決を
25
- * 行うため、その間にDNS rebindingが起きると理論上すり抜けうる。httpGet/httpGetBinaryの
26
- * 実接続については下記「TOCTOU対策」のssrfSafeLookupで接続時点そのものを検証しており、
27
- * この関数はスキーム検証と早期の分かりやすいエラーメッセージのための一次防御にあたる。
28
- */
16
+ /** テスト専用。nullで本番の判定へ戻す(テストのafterEachで必ず戻すこと)。 */
17
+ export declare function setAddressPolicyForTests(policy: ((address: string) => boolean) | null): void;
29
18
  export declare function guardPublicAddress(urlStr: string): Promise<void>;
30
19
  export interface DecodedHtml {
31
20
  text: string;
@@ -52,6 +41,15 @@ export interface HttpGetOptions {
52
41
  * robots.txt自体の取得(politeness.ts内のhttpGet呼び出し)には渡さないこと(無限再帰回避)。
53
42
  */
54
43
  checkRobots?: (url: string) => Promise<void>;
44
+ /**
45
+ * 非HTML応答を、ハンドオフ用のプレビュー(既定256KB打ち切り)ではなく全体読み込みにする判定。
46
+ * 戻り値はそのコンテンツでの上限バイト数(nullならプレビュー読み)。
47
+ *
48
+ * PDFのように「ハンドオフではなく専用経路で全体を処理する」コンテンツのためにある。
49
+ * これが無いと、URL拡張子に現れないPDF(`/download?id=123`型)はプレビュー256KBを読んだ後、
50
+ * 専用経路が同じURLをもう一度全体取得することになり、先方へ2回取りにいってしまう。
51
+ */
52
+ fullReadMaxBytes?: (contentType: string | null, finalUrl: string) => number | null;
55
53
  }
56
54
  export interface HttpGetResult {
57
55
  finalUrl: string;
@@ -25,7 +25,7 @@ import Encoding from "encoding-japanese";
25
25
  // fetchとAgentを同一のundiciパッケージ由来に揃えることで、Nodeバージョンに依存しなくする。
26
26
  import { Agent as UndiciAgent, fetch as undiciFetch } from "undici";
27
27
  import { AmenboError, FetchTimeoutError, HttpStatusError, InvalidUrlError, NetworkError, PayloadTooLargeError, PrivateAddressError } from "../errors.js";
28
- export const USER_AGENT = "amenbo/0.5 (+https://github.com/Rererr/amenbo)";
28
+ export const USER_AGENT = "amenbo/0.6 (+https://github.com/Rererr/amenbo)";
29
29
  const DEFAULT_TIMEOUT_MS = 15_000;
30
30
  const MAX_REDIRECTS = 5;
31
31
  const META_SNIFF_BYTES = 2048;
@@ -43,6 +43,7 @@ const IPV4_RESERVED_RANGES = [
43
43
  ["172.16.0.0", 12], // プライベート
44
44
  ["192.0.0.0", 24], // IETFプロトコル割当
45
45
  ["192.0.2.0", 24], // TEST-NET-1
46
+ ["192.88.99.0", 24], // 6to4リレーエニーキャスト(廃止済み)
46
47
  ["192.168.0.0", 16], // プライベート
47
48
  ["198.18.0.0", 15], // ベンチマーク
48
49
  ["198.51.100.0", 24], // TEST-NET-2
@@ -90,19 +91,47 @@ function isInIpv6Range(n, baseHex, prefixBits) {
90
91
  const shift = 128n - BigInt(prefixBits);
91
92
  return n >> shift === base >> shift;
92
93
  }
94
+ const IPV6_RESERVED_RANGES = [
95
+ ["fc00::", 7], // ユニークローカル
96
+ ["fe80::", 10], // リンクローカル
97
+ ["ff00::", 8], // マルチキャスト(IPv4の224.0.0.0/4と対称)
98
+ ["100::", 64], // Discard-Only
99
+ ["100:0:0:1::", 64], // Dummy IPv6 Prefix
100
+ // 2001::/23(IETFプロトコル割当)を一括で塞ぐと、その中にあるGlobally Reachableな
101
+ // エニーキャスト(PCP 2001:1::1、AMT 2001:3::/32等)まで巻き込むため、
102
+ // 到達性が無い/塞ぐべき小範囲だけを個別に挙げる。
103
+ ["2001::", 32], // Teredo(IPv4をトンネルする)
104
+ ["2001:2::", 48], // ベンチマーク
105
+ ["2001:10::", 28], // ORCHID(廃止済み)
106
+ ["2001:db8::", 32], // ドキュメント用
107
+ ["64:ff9b:1::", 48], // NAT64 local-use
108
+ ];
109
+ /**
110
+ * IPv4を埋め込むIPv6表記と、埋め込み位置(右シフト量)。埋め込みIPv4側が予約アドレスなら遮断する。
111
+ * 例: `::127.0.0.1` / `64:ff9b::7f00:1` / `2002:7f00:1::` がloopbackへ到達しうる経路を塞ぐ。
112
+ */
113
+ const IPV6_EMBEDDED_IPV4_RANGES = [
114
+ ["::ffff:0:0", 96, 0n], // IPv4-mapped
115
+ ["::", 96, 0n], // IPv4-compatible(廃止済み)
116
+ ["64:ff9b::", 96, 0n], // NAT64 well-known prefix
117
+ ["2002::", 16, 80n], // 6to4(IPv4はprefix直後の32bit)
118
+ ];
93
119
  function isPrivateIpv6(ip) {
94
120
  const n = ipv6ToBigInt(ip);
95
121
  if (n === 0n || n === 1n)
96
122
  return true; // :: (未指定) / ::1 (ループバック)
97
- if (isInIpv6Range(n, "fc00::", 7))
98
- return true; // ユニークローカル
99
- if (isInIpv6Range(n, "fe80::", 10))
100
- return true; // リンクローカル
101
- // 下位32bitにIPv4を埋め込む各表記(IPv4-mapped ::ffff:0:0/96、deprecatedなIPv4-compatible ::/96、
102
- // NAT64の well-known prefix 64:ff9b::/96)は、埋め込みIPv4側が予約アドレスなら遮断する。
103
- // 例: `::127.0.0.1` や `64:ff9b::7f00:1` がloopback/内部へ到達しうる経路を塞ぐ(::/::1は上で処理済み)。
104
- if (isInIpv6Range(n, "::ffff:0:0", 96) || isInIpv6Range(n, "::", 96) || isInIpv6Range(n, "64:ff9b::", 96)) {
105
- const v4 = [Number((n >> 24n) & 0xffn), Number((n >> 16n) & 0xffn), Number((n >> 8n) & 0xffn), Number(n & 0xffn)].join(".");
123
+ if (IPV6_RESERVED_RANGES.some(([base, prefix]) => isInIpv6Range(n, base, prefix)))
124
+ return true;
125
+ for (const [base, prefix, shift] of IPV6_EMBEDDED_IPV4_RANGES) {
126
+ if (!isInIpv6Range(n, base, prefix))
127
+ continue;
128
+ const embedded = (n >> shift) & 0xffffffffn;
129
+ const v4 = [
130
+ Number((embedded >> 24n) & 0xffn),
131
+ Number((embedded >> 16n) & 0xffn),
132
+ Number((embedded >> 8n) & 0xffn),
133
+ Number(embedded & 0xffn),
134
+ ].join(".");
106
135
  return isPrivateIpv4(v4);
107
136
  }
108
137
  return false;
@@ -146,6 +175,26 @@ export function assertHttpScheme(urlStr) {
146
175
  * 実接続については下記「TOCTOU対策」のssrfSafeLookupで接続時点そのものを検証しており、
147
176
  * この関数はスキーム検証と早期の分かりやすいエラーメッセージのための一次防御にあたる。
148
177
  */
178
+ /**
179
+ * アドレス判定の差し替え点。既定は本番の判定そのもので、テストがループバック上の
180
+ * フィクスチャサーバーへ実HTTPで到達するためだけに差し替える。
181
+ *
182
+ * 環境変数のような利用者から触れる緩和手段にしていないのは、公開物にSSRF保護を
183
+ * 弱める手段を常設したくないため。この関数を呼べる時点で同一プロセス内でコードを
184
+ * 実行できており、防御水準は変わらない(politenessのnow/sleep注入、ssrfProxyの
185
+ * resolve注入と同じ、テスト容易性のための内部seam)。
186
+ */
187
+ let blockAddress = isPrivateOrReservedIp;
188
+ /** テスト専用。nullで本番の判定へ戻す(テストのafterEachで必ず戻すこと)。 */
189
+ export function setAddressPolicyForTests(policy) {
190
+ // distにも含まれる関数なので、テストランナー外では動かないようにしておく。
191
+ // これはセキュリティ境界ではない(呼べる時点で同一プロセス内でコードを実行できている)。
192
+ // 誤って本番経路から呼ばれたときに黙ってSSRF保護が外れる状態を避けるための歯止め。
193
+ if (process.env.VITEST === undefined && process.env.NODE_ENV !== "test") {
194
+ throw new Error("setAddressPolicyForTestsはテスト実行時のみ利用できます");
195
+ }
196
+ blockAddress = policy ?? isPrivateOrReservedIp;
197
+ }
149
198
  export async function guardPublicAddress(urlStr) {
150
199
  const url = assertHttpScheme(urlStr);
151
200
  const hostname = url.hostname.replace(/^\[|\]$/g, "");
@@ -169,7 +218,7 @@ export async function guardPublicAddress(urlStr) {
169
218
  }
170
219
  }
171
220
  for (const address of addresses) {
172
- if (isPrivateOrReservedIp(address)) {
221
+ if (blockAddress(address)) {
173
222
  throw new PrivateAddressError(urlStr, address);
174
223
  }
175
224
  }
@@ -193,7 +242,7 @@ const ssrfSafeLookup = (hostname, options, callback) => {
193
242
  callback(err, "", 0);
194
243
  return;
195
244
  }
196
- const safeAddresses = addresses.filter((entry) => !isPrivateOrReservedIp(entry.address));
245
+ const safeAddresses = addresses.filter((entry) => !blockAddress(entry.address));
197
246
  if (safeAddresses.length === 0) {
198
247
  const blockedAddress = addresses[0]?.address ?? hostname;
199
248
  callback(new PrivateAddressError(hostname, blockedAddress), "", 0);
@@ -293,12 +342,26 @@ export function resolveDefaultMaxBodyBytes() {
293
342
  const parsed = Number(raw);
294
343
  return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_BODY_BYTES;
295
344
  }
345
+ /**
346
+ * ボディ読み取り中に投げられたエラーを型付きエラーへ分類する。
347
+ *
348
+ * タイムアウトはヘッダ受信前に起きるとは限らない。ヘッダだけ返して本文を送り続けない
349
+ * (あるいは極端に遅い)サーバーでは、AbortはguardedFetchのfetch()ではなくボディ読み取り中に
350
+ * 届くため、signal.abortedを見ないと接続断と同じNetworkErrorに落ちてしまう。
351
+ */
352
+ function classifyBodyReadError(error, url, timeout) {
353
+ if (error instanceof AmenboError)
354
+ return error;
355
+ if (timeout.signal.aborted)
356
+ return new FetchTimeoutError(url, timeout.timeoutMs);
357
+ return NetworkError.fromCause(url, error);
358
+ }
296
359
  /**
297
360
  * レスポンスボディをmaxBytes上限付きで読み切る。
298
361
  * Content-Lengthヘッダでの事前チェックに加え、ヘッダ詐称・chunked転送対策として
299
362
  * ストリーミング中の実受信バイト数も逐次チェックする(超過時点で読み取りを打ち切る)。
300
363
  */
301
- async function readBodyWithLimit(response, url, maxBytes) {
364
+ async function readBodyWithLimit(response, url, maxBytes, timeout) {
302
365
  const declaredLength = response.headers.get("content-length");
303
366
  if (declaredLength && Number(declaredLength) > maxBytes) {
304
367
  throw new PayloadTooLargeError(url, Number(declaredLength), maxBytes);
@@ -339,9 +402,7 @@ async function readBodyWithLimit(response, url, maxBytes) {
339
402
  return result;
340
403
  }
341
404
  catch (error) {
342
- if (error instanceof AmenboError)
343
- throw error;
344
- throw NetworkError.fromCause(url, error);
405
+ throw classifyBodyReadError(error, url, timeout);
345
406
  }
346
407
  }
347
408
  /**
@@ -422,7 +483,10 @@ export async function httpGet(url, options = {}) {
422
483
  if (!response.ok) {
423
484
  throw new HttpStatusError(finalUrl, response.status, response.statusText);
424
485
  }
425
- const buffer = await readBodyWithLimit(response, finalUrl, options.maxBytes ?? resolveDefaultMaxBodyBytes());
486
+ const buffer = await readBodyWithLimit(response, finalUrl, options.maxBytes ?? resolveDefaultMaxBodyBytes(), {
487
+ signal: controller.signal,
488
+ timeoutMs,
489
+ });
426
490
  const decoded = decodeHtmlBytes(buffer, response.headers.get("content-type"));
427
491
  return {
428
492
  finalUrl,
@@ -453,7 +517,10 @@ export async function httpGetBinary(url, options = {}) {
453
517
  if (!response.ok) {
454
518
  throw new HttpStatusError(finalUrl, response.status, response.statusText);
455
519
  }
456
- const bytes = await readBodyWithLimit(response, finalUrl, options.maxBytes ?? resolveDefaultMaxBodyBytes());
520
+ const bytes = await readBodyWithLimit(response, finalUrl, options.maxBytes ?? resolveDefaultMaxBodyBytes(), {
521
+ signal: controller.signal,
522
+ timeoutMs,
523
+ });
457
524
  return { finalUrl, status: response.status, headers: response.headers, bytes, contentType: response.headers.get("content-type") };
458
525
  }
459
526
  finally {
@@ -472,7 +539,7 @@ const HANDOFF_PREVIEW_BYTES = 256 * 1024; // 256KB
472
539
  * readBodyWithLimitと異なり上限超過をエラーにせず「truncated」として扱う
473
540
  * (機能B: 非HTMLコンテンツのプレビュー用。ボディ全体は取得せず必要な分だけ読んで切断する)。
474
541
  */
475
- async function readBodyPreview(response, url, maxBytes) {
542
+ async function readBodyPreview(response, url, maxBytes, timeout) {
476
543
  // 機能A(実機検証での追加修正): 読み取り中の接続断等をNetworkErrorへ分類する(readBodyWithLimitと同様)。
477
544
  try {
478
545
  if (!response.body) {
@@ -510,9 +577,7 @@ async function readBodyPreview(response, url, maxBytes) {
510
577
  return { bytes: result, truncated };
511
578
  }
512
579
  catch (error) {
513
- if (error instanceof AmenboError)
514
- throw error;
515
- throw NetworkError.fromCause(url, error);
580
+ throw classifyBodyReadError(error, url, timeout);
516
581
  }
517
582
  }
518
583
  /**
@@ -533,15 +598,21 @@ export async function httpGetRouted(url, options = {}) {
533
598
  if (!response.ok) {
534
599
  throw new HttpStatusError(finalUrl, response.status, response.statusText);
535
600
  }
601
+ const timeout = { signal: controller.signal, timeoutMs };
536
602
  const contentType = response.headers.get("content-type");
537
603
  if (!contentType || HTML_CONTENT_TYPE_RE.test(contentType)) {
538
- const buffer = await readBodyWithLimit(response, finalUrl, options.maxBytes ?? resolveDefaultMaxBodyBytes());
604
+ const buffer = await readBodyWithLimit(response, finalUrl, options.maxBytes ?? resolveDefaultMaxBodyBytes(), timeout);
539
605
  const decoded = decodeHtmlBytes(buffer, contentType);
540
606
  return { kind: "html", status: response.status, finalUrl, headers: response.headers, html: decoded.text, encoding: decoded.encoding };
541
607
  }
542
608
  const declaredLengthHeader = response.headers.get("content-length");
543
609
  const declaredSize = declaredLengthHeader && Number.isFinite(Number(declaredLengthHeader)) ? Number(declaredLengthHeader) : null;
544
- const { bytes, truncated } = await readBodyPreview(response, finalUrl, HANDOFF_PREVIEW_BYTES);
610
+ const fullReadLimit = options.fullReadMaxBytes?.(contentType, finalUrl) ?? null;
611
+ if (fullReadLimit !== null) {
612
+ const bytes = await readBodyWithLimit(response, finalUrl, fullReadLimit, timeout);
613
+ return { kind: "handoff", status: response.status, finalUrl, headers: response.headers, contentType, bytes, declaredSize, truncated: false };
614
+ }
615
+ const { bytes, truncated } = await readBodyPreview(response, finalUrl, HANDOFF_PREVIEW_BYTES, timeout);
545
616
  return { kind: "handoff", status: response.status, finalUrl, headers: response.headers, contentType, bytes, declaredSize, truncated };
546
617
  }
547
618
  finally {