clearcote 0.31.1 → 0.33.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/README.md +9 -4
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +37 -15
- package/dist/fingerprint.js.map +1 -1
- package/dist/fonts.d.ts +15 -3
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js +25 -4
- package/dist/fonts.js.map +1 -1
- package/dist/geoip.d.ts +28 -0
- package/dist/geoip.d.ts.map +1 -1
- package/dist/geoip.js +59 -20
- package/dist/geoip.js.map +1 -1
- package/dist/humanize.d.ts +2 -0
- package/dist/humanize.d.ts.map +1 -1
- package/dist/humanize.js +78 -65
- package/dist/humanize.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +80 -37
- package/dist/index.js.map +1 -1
- package/dist/isolated.d.ts +34 -0
- package/dist/isolated.d.ts.map +1 -0
- package/dist/isolated.js +76 -0
- package/dist/isolated.js.map +1 -0
- package/dist/languages.d.ts +32 -0
- package/dist/languages.d.ts.map +1 -0
- package/dist/languages.js +105 -0
- package/dist/languages.js.map +1 -0
- package/dist/launchopts.d.ts +3 -0
- package/dist/launchopts.d.ts.map +1 -1
- package/dist/launchopts.js +4 -1
- package/dist/launchopts.js.map +1 -1
- package/dist/license.d.ts +19 -0
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +135 -2
- package/dist/license.js.map +1 -1
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +24 -14
- package/dist/release.js.map +1 -1
- package/dist/render.d.ts +9 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +69 -2
- package/dist/render.js.map +1 -1
- package/dist/warnings.d.ts +4 -0
- package/dist/warnings.d.ts.map +1 -1
- package/dist/warnings.js +48 -1
- package/dist/warnings.js.map +1 -1
- package/package.json +1 -1
package/dist/release.js
CHANGED
|
@@ -7,26 +7,26 @@
|
|
|
7
7
|
// signed asset + its SHA-256 (the trust anchor) + the inner-binary hash (defense in depth) + how to
|
|
8
8
|
// unpack it. Windows and Linux ship from their own release tags.
|
|
9
9
|
const WINDOWS = {
|
|
10
|
-
tag: "v0.1.0-pre.
|
|
11
|
-
version: "
|
|
12
|
-
asset: "clearcote-
|
|
13
|
-
url: "https://github.com/clearcotelabs/clearcote-browser/releases/download/v0.1.0-pre.
|
|
14
|
-
sha256: "
|
|
15
|
-
exeSha256: "
|
|
16
|
-
size:
|
|
10
|
+
tag: "v0.1.0-pre.23",
|
|
11
|
+
version: "150.0.7871.114",
|
|
12
|
+
asset: "clearcote-150.0.7871.114-windows-x64.zip",
|
|
13
|
+
url: "https://github.com/clearcotelabs/clearcote-browser/releases/download/v0.1.0-pre.23/clearcote-150.0.7871.114-windows-x64.zip",
|
|
14
|
+
sha256: "93fc03c45b931d8d82f714814318892929f44dd671b0993788332071d53f3135",
|
|
15
|
+
exeSha256: "f49b0d6bc5a08857e34f951ddc456abc643283ae45ff330ee7c2c39cd75b4869",
|
|
16
|
+
size: 245936073,
|
|
17
17
|
os: "win32",
|
|
18
18
|
archive: "zip",
|
|
19
19
|
binary: "chrome.exe",
|
|
20
20
|
assetGlob: "windows-x64",
|
|
21
21
|
};
|
|
22
22
|
const LINUX = {
|
|
23
|
-
tag: "v0.1.0-pre.
|
|
24
|
-
version: "
|
|
25
|
-
asset: "clearcote-
|
|
26
|
-
url: "https://github.com/clearcotelabs/clearcote-browser/releases/download/v0.1.0-pre.
|
|
27
|
-
sha256: "
|
|
28
|
-
exeSha256: "
|
|
29
|
-
size:
|
|
23
|
+
tag: "v0.1.0-pre.23",
|
|
24
|
+
version: "150.0.7871.114",
|
|
25
|
+
asset: "clearcote-150.0.7871.114-linux-x64.tar.xz",
|
|
26
|
+
url: "https://github.com/clearcotelabs/clearcote-browser/releases/download/v0.1.0-pre.23/clearcote-150.0.7871.114-linux-x64.tar.xz",
|
|
27
|
+
sha256: "92ebd3de6fbf2c1349d3eb3c210952fcdb8dc9ed35655a35297cd68431fc8ef2",
|
|
28
|
+
exeSha256: "cc192460484b7dcb1de8df3b3b7bea6f78962d560b6347012d9dbedd3f66720d",
|
|
29
|
+
size: 149463344,
|
|
30
30
|
os: "linux",
|
|
31
31
|
archive: "tar.xz",
|
|
32
32
|
binary: "chrome",
|
|
@@ -62,6 +62,16 @@ export const CATALOG_FALLBACK = {
|
|
|
62
62
|
version: "149.0.7827.114",
|
|
63
63
|
tier: "free",
|
|
64
64
|
tag: "v0.1.0-pre.22",
|
|
65
|
+
platforms: {
|
|
66
|
+
windows: { asset: "clearcote-149.0.7827.114-windows-x64.zip", url: "https://github.com/clearcotelabs/clearcote-browser/releases/download/v0.1.0-pre.22/clearcote-149.0.7827.114-windows-x64.zip", sha256: "f40c83049aae13d8c0322e9822eeb2d7236fddd5e7915304eb6f0f5f1f79fcb6", exeSha256: "09a9f5ed46be45b54babc91872256fcdd5ef61cef6bf65cbec3928cbb38ee17a", size: 242661515, archive: "zip", binary: "chrome.exe" },
|
|
67
|
+
linux: { asset: "clearcote-149.0.7827.114-linux-x64.tar.xz", url: "https://github.com/clearcotelabs/clearcote-browser/releases/download/v0.1.0-pre.22/clearcote-149.0.7827.114-linux-x64.tar.xz", sha256: "6625971f51318acb6adc301fcc18dcf790c3de0ba2b313be7182eff180a8ec53", exeSha256: "aea54f3c1b5bfc43b4c42aff00d41df49393575950df7c644cc580f72462db4a", size: 146834232, archive: "tar.xz", binary: "chrome" },
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
major: 150,
|
|
72
|
+
version: "150.0.7871.114",
|
|
73
|
+
tier: "free",
|
|
74
|
+
tag: "v0.1.0-pre.23",
|
|
65
75
|
platforms: {
|
|
66
76
|
windows: { asset: WINDOWS.asset, url: WINDOWS.url, sha256: WINDOWS.sha256, exeSha256: WINDOWS.exeSha256, size: WINDOWS.size, archive: "zip", binary: "chrome.exe" },
|
|
67
77
|
linux: { asset: LINUX.asset, url: LINUX.url, sha256: LINUX.sha256, exeSha256: LINUX.exeSha256, size: LINUX.size, archive: "tar.xz", binary: "chrome" },
|
package/dist/release.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,wFAAwF;AACxF,gGAAgG;AAChG,mFAAmF;AACnF,kEAAkE;AA2BlE,mGAAmG;AACnG,oGAAoG;AACpG,iEAAiE;AACjE,MAAM,OAAO,GAAgB;IAC3B,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,0CAA0C;IACjD,GAAG,EAAE,6HAA6H;IAClI,MAAM,EAAE,kEAAkE;IAC1E,SAAS,EAAE,kEAAkE;IAC7E,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,OAAO;IACX,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,MAAM,KAAK,GAAgB;IACzB,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,2CAA2C;IAClD,GAAG,EAAE,8HAA8H;IACnI,MAAM,EAAE,kEAAkE;IAC1E,SAAS,EAAE,kEAAkE;IAC7E,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,OAAO;IACX,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAEvF,iGAAiG;AACjG,MAAM,UAAU,eAAe,CAAC,OAAiC,OAAO,CAAC,QAAQ;IAC/E,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,gGAAgG;AAChG,iGAAiG;AACjG,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAgB,eAAe,EAAE,IAAI,OAAO,CAAC;AAEjE,iGAAiG;AACjG,MAAM,CAAC,MAAM,IAAI,GAAG,iCAAiC,CAAC;AAEtD;;;qFAGqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAiC1E,MAAM,CAAC,MAAM,WAAW,GAAG,+CAA+C,CAAC;AAE3E;;;kGAGkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE;QACN;YACE,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,eAAe;YACpB,SAAS,EAAE;gBACT,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE;gBACnK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;aACvJ;SACF;KACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,wFAAwF;AACxF,gGAAgG;AAChG,mFAAmF;AACnF,kEAAkE;AA2BlE,mGAAmG;AACnG,oGAAoG;AACpG,iEAAiE;AACjE,MAAM,OAAO,GAAgB;IAC3B,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,0CAA0C;IACjD,GAAG,EAAE,6HAA6H;IAClI,MAAM,EAAE,kEAAkE;IAC1E,SAAS,EAAE,kEAAkE;IAC7E,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,OAAO;IACX,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,MAAM,KAAK,GAAgB;IACzB,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,2CAA2C;IAClD,GAAG,EAAE,8HAA8H;IACnI,MAAM,EAAE,kEAAkE;IAC1E,SAAS,EAAE,kEAAkE;IAC7E,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,OAAO;IACX,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAEvF,iGAAiG;AACjG,MAAM,UAAU,eAAe,CAAC,OAAiC,OAAO,CAAC,QAAQ;IAC/E,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,gGAAgG;AAChG,iGAAiG;AACjG,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAgB,eAAe,EAAE,IAAI,OAAO,CAAC;AAEjE,iGAAiG;AACjG,MAAM,CAAC,MAAM,IAAI,GAAG,iCAAiC,CAAC;AAEtD;;;qFAGqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAiC1E,MAAM,CAAC,MAAM,WAAW,GAAG,+CAA+C,CAAC;AAE3E;;;kGAGkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE;QACN;YACE,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,eAAe;YACpB,SAAS,EAAE;gBACT,OAAO,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE,GAAG,EAAE,6HAA6H,EAAE,MAAM,EAAE,kEAAkE,EAAE,SAAS,EAAE,kEAAkE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE;gBACpZ,KAAK,EAAE,EAAE,KAAK,EAAE,2CAA2C,EAAE,GAAG,EAAE,8HAA8H,EAAE,MAAM,EAAE,kEAAkE,EAAE,SAAS,EAAE,kEAAkE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;aACpZ;SACF;QACD;YACE,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,eAAe;YACpB,SAAS,EAAE;gBACT,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE;gBACnK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;aACvJ;SACF;KACF;CACF,CAAC"}
|
package/dist/render.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export interface RenderInfo {
|
|
|
9
9
|
unmaskedVendor?: string;
|
|
10
10
|
unmaskedRenderer?: string;
|
|
11
11
|
maxTextureSize?: number;
|
|
12
|
+
maxRenderbufferSize?: number;
|
|
13
|
+
maxViewportDims?: number[];
|
|
14
|
+
maxVertexUniformVectors?: number;
|
|
15
|
+
maxFragmentUniformVectors?: number;
|
|
16
|
+
canAllocate16k?: boolean | null;
|
|
12
17
|
}
|
|
13
18
|
export interface RenderVerdict {
|
|
14
19
|
vendor: string;
|
|
@@ -16,6 +21,10 @@ export interface RenderVerdict {
|
|
|
16
21
|
webgl: boolean;
|
|
17
22
|
webgl2: boolean;
|
|
18
23
|
maxTextureSize: number;
|
|
24
|
+
maxRenderbufferSize: number;
|
|
25
|
+
maxVertexUniformVectors: number;
|
|
26
|
+
maxFragmentUniformVectors: number;
|
|
27
|
+
canAllocate16kTexture?: boolean | null;
|
|
19
28
|
softwareSuspected: boolean;
|
|
20
29
|
coherent: boolean;
|
|
21
30
|
warnings: string[];
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAmE5C,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIvD;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAkGvF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAGlG"}
|
package/dist/render.js
CHANGED
|
@@ -24,6 +24,24 @@ const PROBE_JS = `() => {
|
|
|
24
24
|
out.unmaskedRenderer = gl.getParameter(dbg.UNMASKED_RENDERER_WEBGL) || "";
|
|
25
25
|
}
|
|
26
26
|
out.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE) || 0;
|
|
27
|
+
out.maxRenderbufferSize = gl.getParameter(gl.MAX_RENDERBUFFER_SIZE) || 0;
|
|
28
|
+
const vp = gl.getParameter(gl.MAX_VIEWPORT_DIMS);
|
|
29
|
+
out.maxViewportDims = vp ? Array.from(vp) : [];
|
|
30
|
+
out.maxVertexUniformVectors = gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS) || 0;
|
|
31
|
+
out.maxFragmentUniformVectors = gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS) || 0;
|
|
32
|
+
// Capability probe, not a declared value: a spoofed renderer string is free, an actual
|
|
33
|
+
// 16384-wide texture allocation is not. A software-rasterizer backend refuses it.
|
|
34
|
+
// The error queue is drained first: getError() is sticky, so a flag left behind by anything
|
|
35
|
+
// above would otherwise be read back as "the allocation failed".
|
|
36
|
+
try {
|
|
37
|
+
let drain = 0;
|
|
38
|
+
while (gl.getError() !== gl.NO_ERROR && drain++ < 32) {}
|
|
39
|
+
const t = gl.createTexture();
|
|
40
|
+
gl.bindTexture(gl.TEXTURE_2D, t);
|
|
41
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 16384, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
|
|
42
|
+
out.canAllocate16k = gl.getError() === gl.NO_ERROR;
|
|
43
|
+
gl.deleteTexture(t);
|
|
44
|
+
} catch (e) { out.canAllocate16k = null; }
|
|
27
45
|
} catch (e) { out.error = String(e); }
|
|
28
46
|
return out;
|
|
29
47
|
}`;
|
|
@@ -38,6 +56,15 @@ const FAMILY_KEYS = [
|
|
|
38
56
|
["apple", "apple"], ["m1", "apple"], ["m2", "apple"], ["m3", "apple"], ["m4", "apple"],
|
|
39
57
|
["mali", "mali"], ["adreno", "adreno"], ["powervr", "powervr"],
|
|
40
58
|
];
|
|
59
|
+
// Desktop/laptop GPU families. A persona naming one of these claims a machine whose driver backs a
|
|
60
|
+
// 16384 texture; the mobile families legitimately sit below that, so the floor skips them.
|
|
61
|
+
const DESKTOP_FAMILIES = ["nvidia", "amd", "intel", "apple"];
|
|
62
|
+
// Capability floor for a desktop-class GPU claim, measured rather than assumed:
|
|
63
|
+
// SwiftShader (ANGLE/Vulkan, genuine Chrome 153 headless Linux) ....... 8192
|
|
64
|
+
// Mesa llvmpipe (LLVM 15, genuine Chrome 153 headed Linux) ........... 16384
|
|
65
|
+
// ANGLE/D3D11 on a GeForce RTX 3070 (genuine Chrome 153 Windows) ..... 16384
|
|
66
|
+
// 16384 is also the D3D11 feature-level-11 2D texture cap and the Mesa GL limit for Intel Gen7+.
|
|
67
|
+
const HW_MIN_MAX_TEXTURE_SIZE = 16384;
|
|
41
68
|
/** Best-effort GPU family from a vendor/renderer string ('' if unknown). */
|
|
42
69
|
export function gpuFamily(s) {
|
|
43
70
|
const l = (s || "").toLowerCase();
|
|
@@ -57,29 +84,69 @@ export function evaluateRenderInfo(info, claimedGpu) {
|
|
|
57
84
|
if (!hasWebgl) {
|
|
58
85
|
warnings.push("WebGL is unavailable - a hard tell for a real desktop browser (only headless or locked-down setups disable it).");
|
|
59
86
|
}
|
|
60
|
-
|
|
87
|
+
let software = SOFTWARE_MARKERS.some((m) => rl.includes(m) || vl.includes(m));
|
|
61
88
|
if (software) {
|
|
62
89
|
warnings.push(`software rasterizer detected in the WebGL renderer (${JSON.stringify(renderer)}) - a definitive ` +
|
|
63
90
|
"headless/no-GPU tell. Enable the canvas bridge (canvasBridge: ...) or run headed on a machine with a real GPU.");
|
|
64
91
|
}
|
|
65
92
|
const rfam = gpuFamily(rl);
|
|
66
93
|
const vfam = gpuFamily(vl);
|
|
94
|
+
// Capability floor. The string check above is defeated the moment the persona renames the
|
|
95
|
+
// backend, so verify the claim against a limit the renderer string cannot move: a software
|
|
96
|
+
// rasterizer reports (and allocates) 8192 where every desktop GPU does 16384.
|
|
97
|
+
const maxTex = info.maxTextureSize || 0;
|
|
98
|
+
const can16k = info.canAllocate16k;
|
|
99
|
+
const vuv = info.maxVertexUniformVectors || 0;
|
|
100
|
+
const fuv = info.maxFragmentUniformVectors || 0;
|
|
101
|
+
if (DESKTOP_FAMILIES.includes(rfam) && maxTex && maxTex < HW_MIN_MAX_TEXTURE_SIZE) {
|
|
102
|
+
software = true;
|
|
103
|
+
warnings.push(`the WebGL renderer names a desktop GPU (${JSON.stringify(renderer)}) but MAX_TEXTURE_SIZE is ` +
|
|
104
|
+
`${maxTex}, below the ${HW_MIN_MAX_TEXTURE_SIZE} current desktop drivers report (only ` +
|
|
105
|
+
"pre-feature-level-11 D3D parts cap at 8192) - on a stealth build this means the renderer " +
|
|
106
|
+
"string was spoofed over a software rasterizer (headless Linux falls back to SwiftShader). " +
|
|
107
|
+
"Run headed, or use the canvas bridge.");
|
|
108
|
+
}
|
|
109
|
+
else if (DESKTOP_FAMILIES.includes(rfam) && can16k === false) {
|
|
110
|
+
software = true;
|
|
111
|
+
warnings.push(`the WebGL renderer names a desktop GPU (${JSON.stringify(renderer)}) and reports ` +
|
|
112
|
+
`MAX_TEXTURE_SIZE ${maxTex}, but a ${HW_MIN_MAX_TEXTURE_SIZE}-wide texture fails to ` +
|
|
113
|
+
"allocate - the reported limit is not backed by the real rendering backend.");
|
|
114
|
+
}
|
|
115
|
+
// Uniform-vector split: an ANGLE-over-GL/Mesa renderer reports vertex == fragment on every real
|
|
116
|
+
// driver (measured: SwiftShader 4096/4096, llvmpipe 1024/1024). ANGLE/D3D11 legitimately differs
|
|
117
|
+
// (4095/1024), so the check is limited to the non-D3D backends.
|
|
118
|
+
let incoherent = false;
|
|
119
|
+
if (vuv && fuv && vuv !== fuv && !rl.includes("d3d") && !rl.includes("direct3d")) {
|
|
120
|
+
incoherent = true;
|
|
121
|
+
warnings.push(`MAX_VERTEX_UNIFORM_VECTORS (${vuv}) and MAX_FRAGMENT_UNIFORM_VECTORS (${fuv}) disagree under ` +
|
|
122
|
+
`a non-D3D renderer (${JSON.stringify(renderer)}); every GL backend measured here reports ` +
|
|
123
|
+
"them equal (SwiftShader 4096/4096, llvmpipe 1024/1024), so the persona applied to one and " +
|
|
124
|
+
"not the other.");
|
|
125
|
+
}
|
|
67
126
|
if (rfam && vfam && rfam !== vfam) {
|
|
127
|
+
incoherent = true;
|
|
68
128
|
warnings.push(`WebGL vendor and renderer disagree on GPU family (vendor~${vfam}, renderer~${rfam}) - an incoherent persona.`);
|
|
69
129
|
}
|
|
70
130
|
if (claimedGpu) {
|
|
71
131
|
const cfam = gpuFamily(claimedGpu);
|
|
72
132
|
if (cfam && rfam && cfam !== rfam) {
|
|
133
|
+
incoherent = true;
|
|
73
134
|
warnings.push(`the claimed GPU (${JSON.stringify(claimedGpu)}, family ~${cfam}) does not match the WebGL renderer family (~${rfam}).`);
|
|
74
135
|
}
|
|
75
136
|
}
|
|
76
|
-
|
|
137
|
+
// Set by the branches above rather than by matching warning text: the verdict must not depend on
|
|
138
|
+
// the wording of a message.
|
|
139
|
+
const coherent = hasWebgl && !software && !incoherent;
|
|
77
140
|
return {
|
|
78
141
|
vendor,
|
|
79
142
|
renderer,
|
|
80
143
|
webgl: hasWebgl,
|
|
81
144
|
webgl2: !!info.webgl2,
|
|
82
145
|
maxTextureSize: info.maxTextureSize || 0,
|
|
146
|
+
maxRenderbufferSize: info.maxRenderbufferSize || 0,
|
|
147
|
+
maxVertexUniformVectors: vuv,
|
|
148
|
+
maxFragmentUniformVectors: fuv,
|
|
149
|
+
canAllocate16kTexture: can16k,
|
|
83
150
|
softwareSuspected: software,
|
|
84
151
|
coherent,
|
|
85
152
|
warnings,
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,sGAAsG;AACtG,qGAAqG;AACrG,sGAAsG;AACtG,qGAAqG;AACrG,iGAAiG;AACjG,oGAAoG;AAIpG,0FAA0F;AAC1F,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/warnings.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ export interface CoherenceWarning {
|
|
|
5
5
|
}
|
|
6
6
|
/** Inspect resolved options for incoherent / missing-recommended combinations. Pure. */
|
|
7
7
|
export declare function coherenceWarnings(opts: Record<string, unknown>, hostPlatform?: string, buildMajor?: string): CoherenceWarning[];
|
|
8
|
+
/** The cdp-public-bind / cdp-any-origin warnings for `serve({ host, allowOrigins })`. */
|
|
9
|
+
export declare function serveExposureWarnings(host: string, allowOrigins: string): CoherenceWarning[];
|
|
10
|
+
/** Print a list of warnings to stderr unless quiet or CLEARCOTE_NO_WARN. */
|
|
11
|
+
export declare function emitWarnings(warnings: readonly CoherenceWarning[], quiet?: boolean): void;
|
|
8
12
|
/** Print coherence warnings to stderr unless quiet or CLEARCOTE_NO_WARN. NOTE lines fire once/process. */
|
|
9
13
|
export declare function emitCoherenceWarnings(opts: Record<string, unknown>, quiet?: boolean, hostPlatform?: string, buildMajor?: string): void;
|
|
10
14
|
//# sourceMappingURL=warnings.d.ts.map
|
package/dist/warnings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,EAAE,CAkFpB;AAgCD,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAE5F;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAGzF;AAaD,0GAA0G;AAC1G,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAcN"}
|
package/dist/warnings.js
CHANGED
|
@@ -36,7 +36,7 @@ function gpuIncoherent(renderer, platform) {
|
|
|
36
36
|
/** Inspect resolved options for incoherent / missing-recommended combinations. Pure. */
|
|
37
37
|
export function coherenceWarnings(opts, hostPlatform, buildMajor) {
|
|
38
38
|
const host = hostPlatform ?? process.platform;
|
|
39
|
-
const bmajor = buildMajor ?? "
|
|
39
|
+
const bmajor = buildMajor ?? "150";
|
|
40
40
|
const out = [];
|
|
41
41
|
const warn = (code, message) => out.push({ severity: "warn", code, message });
|
|
42
42
|
const note = (code, message) => out.push({ severity: "note", code, message });
|
|
@@ -90,8 +90,55 @@ export function coherenceWarnings(opts, hostPlatform, buildMajor) {
|
|
|
90
90
|
if (userArgs.some((a) => String(a).includes("--enable-automation") || String(a).startsWith("--remote-debugging-port")))
|
|
91
91
|
warn("automation-arg", "your args re-introduce an automation flag (--enable-automation / --remote-debugging-port) the SDK " +
|
|
92
92
|
"strips by default - a strong webdriver/CDP tell.");
|
|
93
|
+
if (opts.devtools || userArgs.some((a) => String(a).startsWith("--auto-open-devtools-for-tabs")))
|
|
94
|
+
warn("devtools-open", "DevTools is set to open (devtools:true / --auto-open-devtools-for-tabs). Pages can detect an open " +
|
|
95
|
+
"DevTools (debugger and console timing probes; a docked panel also makes innerWidth/innerHeight " +
|
|
96
|
+
"disagree with outerWidth/outerHeight). Leave it closed for real runs.");
|
|
97
|
+
if (opts.userAgent || userArgs.some((a) => String(a).startsWith("--user-agent=")))
|
|
98
|
+
warn("custom-user-agent", "a custom user agent (userAgent / --user-agent) replaces only the User-Agent string: " +
|
|
99
|
+
"navigator.userAgentData, the Sec-CH-UA headers, navigator.platform and the rest of the persona " +
|
|
100
|
+
"keep describing the persona, so a different OS or version in the string is a one-line mismatch. " +
|
|
101
|
+
"Use platform, brand and brandVersion to change what the browser claims.");
|
|
102
|
+
out.push(...cdpExposure(switchValue(userArgs, "--remote-debugging-address"), switchValue(userArgs, "--remote-allow-origins")));
|
|
93
103
|
return out;
|
|
94
104
|
}
|
|
105
|
+
/** The value of the LAST `name=value` in `args` (Chromium keeps the last), else undefined. */
|
|
106
|
+
function switchValue(args, name) {
|
|
107
|
+
let value;
|
|
108
|
+
for (const a of args) {
|
|
109
|
+
const s = String(a);
|
|
110
|
+
if (s.startsWith(`${name}=`))
|
|
111
|
+
value = s.slice(name.length + 1);
|
|
112
|
+
}
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
function isLoopback(host) {
|
|
116
|
+
const h = host.trim().replace(/^\[|\]$/g, "").toLowerCase();
|
|
117
|
+
return h === "localhost" || h === "::1" || h.startsWith("127.");
|
|
118
|
+
}
|
|
119
|
+
/** Warnings for a DevTools endpoint reachable beyond this machine or from any web page. */
|
|
120
|
+
function cdpExposure(bindAddress, allowOrigins) {
|
|
121
|
+
const out = [];
|
|
122
|
+
if (bindAddress !== undefined && !isLoopback(bindAddress))
|
|
123
|
+
out.push({ severity: "warn", code: "cdp-public-bind", message: `the DevTools endpoint is bound to ${bindAddress}, not loopback: anyone who can reach that port can ` +
|
|
124
|
+
"drive the browser, read its cookies and run code in its pages. Keep it on 127.0.0.1 and tunnel to it " +
|
|
125
|
+
"if you need remote access." });
|
|
126
|
+
if (allowOrigins !== undefined && allowOrigins.split(",").some((o) => o.trim() === "*"))
|
|
127
|
+
out.push({ severity: "warn", code: "cdp-any-origin", message: "--remote-allow-origins=* lets any web page this browser (or any browser on this machine) opens " +
|
|
128
|
+
"connect to the DevTools endpoint and take it over. List the origins you need instead." });
|
|
129
|
+
return out;
|
|
130
|
+
}
|
|
131
|
+
/** The cdp-public-bind / cdp-any-origin warnings for `serve({ host, allowOrigins })`. */
|
|
132
|
+
export function serveExposureWarnings(host, allowOrigins) {
|
|
133
|
+
return cdpExposure(host, allowOrigins);
|
|
134
|
+
}
|
|
135
|
+
/** Print a list of warnings to stderr unless quiet or CLEARCOTE_NO_WARN. */
|
|
136
|
+
export function emitWarnings(warnings, quiet) {
|
|
137
|
+
if (quiet || process.env.CLEARCOTE_NO_WARN)
|
|
138
|
+
return;
|
|
139
|
+
for (const w of warnings)
|
|
140
|
+
process.stderr.write(`clearcote: ${w.severity === "warn" ? "warning" : "note"}: ${w.message}\n`);
|
|
141
|
+
}
|
|
95
142
|
/** Engine-behaviour advisories: true for every launch, so they live here rather than in
|
|
96
143
|
* coherenceWarnings() (whose contract is "a coherent default is silent"). Fire once per process. */
|
|
97
144
|
const ENGINE_NOTES = [
|
package/dist/warnings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.js","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"warnings.js","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clearcote",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "Playwright drop-in for the Clearcote anti-fingerprint Chromium build. launch() returns a standard Playwright Browser backed by the verified Clearcote binary, which is auto-downloaded and SHA-256 checked.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|