@browsercore/profiles 0.2.1 → 0.2.2

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.
@@ -15,11 +15,26 @@
15
15
  *
16
16
  * Chrome permutes its extension order at runtime (tls_permute_extensions), so
17
17
  * `extensionOrder` stores the canonical pre-permutation seed that
18
- * curl-impersonate configures — matching the peetprint's normalized order.
18
+ * curl-impersonate configures. The order was verified via a curl_cffi capture
19
+ * against tls.peet.ws, which reports the normalized extension sequence.
19
20
  * GREASE slots are tracked separately via the `grease` flag; the runtime
20
21
  * randomizes the actual 0x?a?a values per RFC 8701.
21
22
  */
22
23
  import type { BrowserProfile } from "../types.js";
24
+ /**
25
+ * Canonical Chrome extension order (wire order, GREASE slots excluded).
26
+ *
27
+ * Captured via curl_cffi (curl-impersonate) against tls.peet.ws, which reports
28
+ * the normalized order Chrome's BoringSSL emits before runtime extension
29
+ * permutation (tls_permute_extensions). Notable: signature_algorithms (13)
30
+ * leads, server_name (0) sits mid-list, and supported_groups (10) / ALPN (16)
31
+ * trail near the end. The only version-dependent slot is application_settings:
32
+ * 17513 (application_settings_old) through chrome ~131, then 17613
33
+ * (application_settings) from chrome ~132 onward.
34
+ *
35
+ * Shared by Edge (Chromium-based) — see {@link ../profiles/edge.ts}.
36
+ */
37
+ export declare const chromeExtensionOrder: (appSettings: number) => readonly number[];
23
38
  export declare const chrome120: BrowserProfile;
24
39
  export declare const chrome128: BrowserProfile;
25
40
  export declare const chrome140: BrowserProfile;
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/profiles/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AA+F7D,eAAO,MAAM,SAAS,EAAE,cA+BvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,cA+BvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,cA+BvB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAIjB,CAAC"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/profiles/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAK7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,gBAAiB,MAAM,KAAG,SAAS,MAAM,EAEzE,CAAC;AAgFF,eAAO,MAAM,SAAS,EAAE,cA+BvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,cA+BvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,cA+BvB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAIjB,CAAC"}
@@ -15,22 +15,28 @@
15
15
  *
16
16
  * Chrome permutes its extension order at runtime (tls_permute_extensions), so
17
17
  * `extensionOrder` stores the canonical pre-permutation seed that
18
- * curl-impersonate configures — matching the peetprint's normalized order.
18
+ * curl-impersonate configures. The order was verified via a curl_cffi capture
19
+ * against tls.peet.ws, which reports the normalized extension sequence.
19
20
  * GREASE slots are tracked separately via the `grease` flag; the runtime
20
21
  * randomizes the actual 0x?a?a values per RFC 8701.
21
22
  */
22
23
  /** TLS 1.3 GREASE placeholder cipher (0x?a?a) Chrome inserts at the top of the list. */
23
24
  const GREASE = "TLS_GREASE_RESERVED_0";
24
25
  /**
25
- * Canonical (pre-permutation) Chrome extension order.
26
+ * Canonical Chrome extension order (wire order, GREASE slots excluded).
26
27
  *
27
- * Mirrors the peetprint-normalized order `0-10-11-13-16-APP_SETTINGS-18-23-27-
28
- * 35-43-45-5-51-65037-65281`. The only version-dependent slot is the
29
- * application_settings extension: 17513 (application_settings_old) through
30
- * chrome ~131, then 17613 (application_settings) from chrome ~132 onward.
28
+ * Captured via curl_cffi (curl-impersonate) against tls.peet.ws, which reports
29
+ * the normalized order Chrome's BoringSSL emits before runtime extension
30
+ * permutation (tls_permute_extensions). Notable: signature_algorithms (13)
31
+ * leads, server_name (0) sits mid-list, and supported_groups (10) / ALPN (16)
32
+ * trail near the end. The only version-dependent slot is application_settings:
33
+ * 17513 (application_settings_old) through chrome ~131, then 17613
34
+ * (application_settings) from chrome ~132 onward.
35
+ *
36
+ * Shared by Edge (Chromium-based) — see {@link ../profiles/edge.ts}.
31
37
  */
32
- const chromeExtensionOrder = (appSettings) => [
33
- 0, 10, 11, 13, 16, appSettings, 18, 23, 27, 35, 43, 45, 5, 51, 65037, 65281,
38
+ export const chromeExtensionOrder = (appSettings) => [
39
+ 13, 65037, appSettings, 45, 18, 35, 27, 0, 5, 11, 23, 51, 43, 65281, 10, 16,
34
40
  ];
35
41
  const chromeTlsBase = {
36
42
  supportedVersions: ["TLS 1.3", "TLS 1.2"],
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/profiles/chrome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/profiles/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,wFAAwF;AACxF,MAAM,MAAM,GAAG,uBAAuB,CAAC;AAEvC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAmB,EAAqB,EAAE,CAAC;IAC5E,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;CAC9E,CAAC;AAEF,MAAM,aAAa,GAAG;IAClB,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IACzC,mBAAmB,EAAE;QACjB,wBAAwB;QACxB,qBAAqB;QACrB,kBAAkB;QAClB,wBAAwB;QACxB,qBAAqB;QACrB,kBAAkB;QAClB,qBAAqB;QACrB,kBAAkB;KACrB;IACD,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,CAAC,IAAI,CAAC;IACtB,6BAA6B,EAAE,CAAC,IAAI,CAAC;IACrC,aAAa,EAAE,GAAG;CACZ,CAAC;AAEX,MAAM,eAAe,GAAG;IACpB,iBAAiB,EAAE,OAAO;IAC1B,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,GAAG;IACX,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,EAAE,IAAI;IACZ,sBAAsB,EAAE,QAAQ;IAChC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;CACtD,CAAC;AAEX,MAAM,mBAAmB,GAAG;IACxB,eAAe,EAAE,KAAK;IACtB,UAAU,EAAE,KAAK;IACjB,oBAAoB,EAAE,GAAG;IACzB,iBAAiB,EAAE,OAAO;IAC1B,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE,MAAM;CACnB,CAAC;AAEX,MAAM,eAAe,GAAG;IACpB,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,mBAAmB;IACnC,WAAW,EAAE;QACT,MAAM;QACN,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,oBAAoB;QACpB,2BAA2B;QAC3B,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;KACpB;CACK,CAAC;AAEX,MAAM,kBAAkB,GAAsB;IAC1C,MAAM;IACN,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;IAC9B,yCAAyC;IACzC,uCAAuC;IACvC,yCAAyC;IACzC,uCAAuC;IACvC,+CAA+C;IAC/C,6CAA6C;IAC7C,oCAAoC;IACpC,oCAAoC;IACpC,iCAAiC;IACjC,iCAAiC;IACjC,8BAA8B;IAC9B,8BAA8B;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAmB;IACrC,EAAE,EAAE,YAAyB;IAC7B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,eAAe;IACxB,GAAG,EAAE;QACD,GAAG,aAAa;QAChB,cAAc,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC3C,cAAc,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC;QACpD,YAAY,EAAE,kBAAkB;KACnC;IACD,KAAK,EAAE;QACH,GAAG,eAAe;QAClB,QAAQ,EAAE,mBAAmB;KAChC;IACD,KAAK,EAAE;QACH,GAAG,eAAe;QAClB,cAAc,EAAE;YACZ,WAAW,EAAE,kEAAkE;YAC/E,kBAAkB,EAAE,IAAI;YACxB,oBAAoB,EAAE,SAAS;YAC/B,2BAA2B,EAAE,GAAG;YAChC,YAAY,EACR,uHAAuH;YAC3H,MAAM,EAAE,uFAAuF;YAC/F,gBAAgB,EAAE,MAAM;YACxB,gBAAgB,EAAE,UAAU;YAC5B,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,gBAAgB;SACtC;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAmB;IACrC,EAAE,EAAE,YAAyB;IAC7B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,gBAAgB;IACzB,GAAG,EAAE;QACD,GAAG,aAAa;QAChB,cAAc,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC3C,cAAc,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC;QACtE,YAAY,EAAE,kBAAkB;KACnC;IACD,KAAK,EAAE;QACH,GAAG,eAAe;QAClB,QAAQ,EAAE,mBAAmB;KAChC;IACD,KAAK,EAAE;QACH,GAAG,eAAe;QAClB,cAAc,EAAE;YACZ,WAAW,EAAE,mEAAmE;YAChF,kBAAkB,EAAE,IAAI;YACxB,oBAAoB,EAAE,SAAS;YAC/B,2BAA2B,EAAE,GAAG;YAChC,YAAY,EACR,uHAAuH;YAC3H,MAAM,EAAE,uFAAuF;YAC/F,gBAAgB,EAAE,MAAM;YACxB,gBAAgB,EAAE,UAAU;YAC5B,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,gBAAgB;SACtC;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAmB;IACrC,EAAE,EAAE,YAAyB;IAC7B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,eAAe;IACxB,GAAG,EAAE;QACD,GAAG,aAAa;QAChB,cAAc,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC3C,cAAc,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC;QACtE,YAAY,EAAE,kBAAkB;KACnC;IACD,KAAK,EAAE;QACH,GAAG,eAAe;QAClB,QAAQ,EAAE,mBAAmB;KAChC;IACD,KAAK,EAAE;QACH,GAAG,eAAe;QAClB,cAAc,EAAE;YACZ,WAAW,EAAE,mEAAmE;YAChF,kBAAkB,EAAE,IAAI;YACxB,oBAAoB,EAAE,SAAS;YAC/B,2BAA2B,EAAE,GAAG;YAChC,YAAY,EACR,uHAAuH;YAC3H,MAAM,EAAE,uFAAuF;YAC/F,gBAAgB,EAAE,MAAM;YACxB,gBAAgB,EAAE,UAAU;YAC5B,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,gBAAgB;SACtC;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,SAAS;CACH,CAAC"}
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * Microsoft Edge fingerprint definitions.
3
3
  *
4
- * Edge is Chromium-based, so its TLS fingerprint is close to Chrome's — same
5
- * GREASE behavior, same cipher families — but differs in the advertised user
6
- * agent string, the `sec-ch-ua` brand list (includes "Microsoft Edge"), and a
7
- * slightly different extension order. HTTP/2 settings track Chrome closely.
8
- * Values mirror curl-impersonate's Edge 101 ground-truth signature byte-for-byte
9
- * (see tests/profiles-edge.test.ts for the wire-code mapping).
4
+ * Edge is Chromium-based, so its TLS fingerprint matches Chrome's — same GREASE
5
+ * behavior, same cipher families, and the same extension wire order. Edge
6
+ * differs only in the advertised user agent string and the `sec-ch-ua` brand
7
+ * list (includes "Microsoft Edge"). HTTP/2 settings track Chrome closely.
8
+ * Cipher / group / version / signature values mirror curl-impersonate's
9
+ * ground-truth signature; the extension order is shared verbatim with Chrome
10
+ * via {@link chromeExtensionOrder} (captured via curl_cffi against tls.peet.ws).
10
11
  */
11
12
  import type { BrowserProfile } from "../types.js";
12
13
  export declare const edge120: BrowserProfile;
@@ -1 +1 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/profiles/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAyF7D,eAAO,MAAM,OAAO,EAAE,cAmCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cAmCrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;CAGf,CAAC"}
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/profiles/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAsF7D,eAAO,MAAM,OAAO,EAAE,cAmCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cAmCrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;CAGf,CAAC"}
@@ -1,25 +1,24 @@
1
1
  /**
2
2
  * Microsoft Edge fingerprint definitions.
3
3
  *
4
- * Edge is Chromium-based, so its TLS fingerprint is close to Chrome's — same
5
- * GREASE behavior, same cipher families — but differs in the advertised user
6
- * agent string, the `sec-ch-ua` brand list (includes "Microsoft Edge"), and a
7
- * slightly different extension order. HTTP/2 settings track Chrome closely.
8
- * Values mirror curl-impersonate's Edge 101 ground-truth signature byte-for-byte
9
- * (see tests/profiles-edge.test.ts for the wire-code mapping).
4
+ * Edge is Chromium-based, so its TLS fingerprint matches Chrome's — same GREASE
5
+ * behavior, same cipher families, and the same extension wire order. Edge
6
+ * differs only in the advertised user agent string and the `sec-ch-ua` brand
7
+ * list (includes "Microsoft Edge"). HTTP/2 settings track Chrome closely.
8
+ * Cipher / group / version / signature values mirror curl-impersonate's
9
+ * ground-truth signature; the extension order is shared verbatim with Chrome
10
+ * via {@link chromeExtensionOrder} (captured via curl_cffi against tls.peet.ws).
10
11
  */
12
+ import { chromeExtensionOrder } from "./chrome.js";
11
13
  /** TLS 1.3 GREASE placeholder cipher (0x?a?a) Edge inserts at the top of the list. */
12
14
  const GREASE = "TLS_GREASE_RESERVED_0";
13
15
  /**
14
- * Edge TLS extension order, in wire order, taken verbatim from the
15
- * curl-impersonate signature. GREASE extension slots are excluded (their values
16
- * are randomized per-connection and the profile stores literal wire codes).
16
+ * Edge shares Chrome's extension order (modern Chromium 120+ is the base for
17
+ * edge-120 / edge-128). Both Edge profiles use application_settings_old (17513),
18
+ * predating the 17613 switch that landed in Chrome ~132.
17
19
  */
18
- const EDGE_EXTENSION_ORDER = [
19
- 0, 23, 65281, 10, 11, 35, 16, 5, 13, 18, 51, 45, 43, 27, 17513, 21,
20
- ];
21
20
  const edgeTlsBase = {
22
- extensionOrder: EDGE_EXTENSION_ORDER,
21
+ extensionOrder: chromeExtensionOrder(17513),
23
22
  supportedVersions: ["TLS 1.3", "TLS 1.2"],
24
23
  keyShareGroups: ["x25519", "secp256r1", "secp384r1"],
25
24
  signatureAlgorithms: [
@@ -1 +1 @@
1
- {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/profiles/edge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/profiles/edge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@browsercore/profiles",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Browser fingerprint definitions (TLS / HTTP/2 / HTTP/1.1). Pure data — no protocol implementation.",
5
5
  "repository": {
6
6
  "type": "git",