clearcote 0.40.1 → 0.41.1
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 +8 -1
- package/dist/cli-commands.d.ts +2 -4
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +11 -7
- package/dist/cli-commands.js.map +1 -1
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +5 -2
- package/dist/cloud.js.map +1 -1
- package/dist/colorscheme.d.ts +27 -0
- package/dist/colorscheme.d.ts.map +1 -0
- package/dist/colorscheme.js +20 -0
- package/dist/colorscheme.js.map +1 -0
- package/dist/docker.d.ts +22 -0
- package/dist/docker.d.ts.map +1 -1
- package/dist/docker.js +146 -34
- package/dist/docker.js.map +1 -1
- package/dist/download.d.ts +37 -1
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +609 -29
- package/dist/download.js.map +1 -1
- package/dist/fonts.d.ts +84 -3
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js +486 -12
- package/dist/fonts.js.map +1 -1
- package/dist/geometry.d.ts +3 -1
- package/dist/geometry.d.ts.map +1 -1
- package/dist/geometry.js +6 -2
- package/dist/geometry.js.map +1 -1
- package/dist/humanize.d.ts +11 -0
- package/dist/humanize.d.ts.map +1 -1
- package/dist/humanize.js +152 -30
- package/dist/humanize.js.map +1 -1
- package/dist/index.d.ts +30 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -21
- package/dist/index.js.map +1 -1
- package/dist/isolated.d.ts +1 -0
- package/dist/isolated.d.ts.map +1 -1
- package/dist/isolated.js +2 -0
- package/dist/isolated.js.map +1 -1
- package/dist/launchopts.d.ts +21 -0
- package/dist/launchopts.d.ts.map +1 -1
- package/dist/launchopts.js +46 -0
- package/dist/launchopts.js.map +1 -1
- package/dist/motion.d.ts +23 -0
- package/dist/motion.d.ts.map +1 -1
- package/dist/motion.js +43 -0
- package/dist/motion.js.map +1 -1
- package/dist/personaenv.d.ts +33 -0
- package/dist/personaenv.d.ts.map +1 -0
- package/dist/personaenv.js +117 -0
- package/dist/personaenv.js.map +1 -0
- package/dist/warnings.d.ts +9 -1
- package/dist/warnings.d.ts.map +1 -1
- package/dist/warnings.js +32 -4
- package/dist/warnings.js.map +1 -1
- package/dist/widevine.d.ts +10 -0
- package/dist/widevine.d.ts.map +1 -1
- package/dist/widevine.js +18 -0
- package/dist/widevine.js.map +1 -1
- package/dist/winlaunch.d.ts +2 -1
- package/dist/winlaunch.d.ts.map +1 -1
- package/dist/winlaunch.js +2 -1
- package/dist/winlaunch.js.map +1 -1
- package/docker-seccomp.json +909 -0
- package/package.json +2 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leave `prefers-color-scheme` to the engine's persona.
|
|
3
|
+
*
|
|
4
|
+
* From engine r32 the persona decides the colour scheme a Clearcote browser reports (about one
|
|
5
|
+
* persona in three is dark; `--fingerprint-color-scheme=light|dark` overrides), and every surface
|
|
6
|
+
* follows it: CSS and `matchMedia`, the `Sec-CH-Prefers-Color-Scheme` request header and the system
|
|
7
|
+
* colours of `color-scheme: light dark` content.
|
|
8
|
+
*
|
|
9
|
+
* Playwright, by default, emulates `prefers-color-scheme: light` in every context it creates. That
|
|
10
|
+
* emulation reaches the page but not the `Critical-CH` restart a site can ask for, so a dark persona
|
|
11
|
+
* would tell the page "light" and that request "dark" (measured on r31 with `--force-dark-mode`).
|
|
12
|
+
* Context options with `colorScheme: null` turn the emulation off and the three agree.
|
|
13
|
+
*
|
|
14
|
+
* Only for an engine that has the switch (an older engine keeps Playwright's default exactly as
|
|
15
|
+
* before), and never over a `colorScheme` the caller passed.
|
|
16
|
+
*/
|
|
17
|
+
import type { Browser } from "playwright-core";
|
|
18
|
+
export declare const COLOR_SCHEME_SWITCH = "fingerprint-color-scheme";
|
|
19
|
+
/** Whether the engine binary that will run picks the colour scheme from the persona. */
|
|
20
|
+
export declare function engineDecidesColorScheme(exe: string | null | undefined): boolean;
|
|
21
|
+
/** Context options with the colour-scheme emulation off, unless the caller chose a colour scheme. */
|
|
22
|
+
export declare function defaultColorScheme<T extends object>(options: T): T & {
|
|
23
|
+
colorScheme?: unknown;
|
|
24
|
+
};
|
|
25
|
+
/** Default a browser's new pages/contexts to no colour-scheme emulation. */
|
|
26
|
+
export declare function installColorSchemeDefault(browser: Browser): void;
|
|
27
|
+
//# sourceMappingURL=colorscheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorscheme.d.ts","sourceRoot":"","sources":["../src/colorscheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,iBAAiB,CAAC;AAGrE,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAE9D,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEhF;AAED,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAE9F;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAOhE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { engineSupportsSwitch } from "./launchopts.js";
|
|
2
|
+
export const COLOR_SCHEME_SWITCH = "fingerprint-color-scheme";
|
|
3
|
+
/** Whether the engine binary that will run picks the colour scheme from the persona. */
|
|
4
|
+
export function engineDecidesColorScheme(exe) {
|
|
5
|
+
return engineSupportsSwitch(exe ?? "", COLOR_SCHEME_SWITCH);
|
|
6
|
+
}
|
|
7
|
+
/** Context options with the colour-scheme emulation off, unless the caller chose a colour scheme. */
|
|
8
|
+
export function defaultColorScheme(options) {
|
|
9
|
+
return "colorScheme" in options ? options : { ...options, colorScheme: null };
|
|
10
|
+
}
|
|
11
|
+
/** Default a browser's new pages/contexts to no colour-scheme emulation. */
|
|
12
|
+
export function installColorSchemeDefault(browser) {
|
|
13
|
+
const origNewPage = browser.newPage.bind(browser);
|
|
14
|
+
const origNewContext = browser.newContext.bind(browser);
|
|
15
|
+
browser.newPage =
|
|
16
|
+
(o = {}) => origNewPage(defaultColorScheme(o));
|
|
17
|
+
browser.newContext =
|
|
18
|
+
(o = {}) => origNewContext(defaultColorScheme(o));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=colorscheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorscheme.js","sourceRoot":"","sources":["../src/colorscheme.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,GAA8B;IACrE,OAAO,oBAAoB,CAAC,GAAG,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;AAC9D,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAAmB,OAAU;IAC7D,OAAO,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,OAAkF,CAAC,OAAO;QACzF,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAsC,CAAC,CAAC;IACrF,OAA+F,CAAC,UAAU;QACzG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAyC,CAAC,CAAC;AAC9F,CAAC"}
|
package/dist/docker.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import type { Browser } from "playwright-core";
|
|
|
3
3
|
export declare const DEFAULT_REPOSITORY = "teamflatearth/clearcote";
|
|
4
4
|
export declare const TEST_ONLY_ASSUME_MACOS = "CLEARCOTE_TEST_ONLY_ASSUME_MACOS";
|
|
5
5
|
export declare const SERVE_PROTOCOL = 2;
|
|
6
|
+
export declare const SANDBOX_PROTOCOL = 3;
|
|
7
|
+
export declare const SECCOMP_PROFILE: string;
|
|
6
8
|
/** launch() needs Docker on this host (macOS has no native Clearcote build) and it is missing or not running. */
|
|
7
9
|
export declare class DockerUnavailableError extends Error {
|
|
8
10
|
constructor(message: string);
|
|
@@ -45,7 +47,17 @@ export declare const dockerCli: {
|
|
|
45
47
|
followLogs: typeof followLogs;
|
|
46
48
|
};
|
|
47
49
|
/** The docker executable, or DockerUnavailableError saying what to do. */
|
|
50
|
+
/** The docker executable and the daemon's CPU architecture as `docker info` reports it ("x86_64", "aarch64", or ""
|
|
51
|
+
* when it does not say), from one `docker info` (it takes about a second on Docker Desktop), or
|
|
52
|
+
* DockerUnavailableError saying what to do. */
|
|
53
|
+
export declare function dockerInfo(): Promise<{
|
|
54
|
+
exe: string;
|
|
55
|
+
arch: string;
|
|
56
|
+
}>;
|
|
57
|
+
/** The docker executable, or DockerUnavailableError saying what to do. */
|
|
48
58
|
export declare function checkDocker(): Promise<string>;
|
|
59
|
+
/** Forget the warnings given once (for tests). */
|
|
60
|
+
export declare function resetWarnings(): void;
|
|
49
61
|
/** How long a launched container waits with no CDP client before it stops itself: CLEARCOTE_DOCKER_IDLE_EXIT
|
|
50
62
|
* (seconds, 0 = never), default 30. */
|
|
51
63
|
export declare function idleExitSeconds(): number;
|
|
@@ -103,6 +115,12 @@ export declare function ownerAlive(rec: OwnerRecord): boolean | null;
|
|
|
103
115
|
* alone. Resolves to the ids removed.
|
|
104
116
|
*/
|
|
105
117
|
export declare function sweepStale(exe: string): Promise<string[]>;
|
|
118
|
+
/** How long removeContainer waits for the container to be gone, and how often it looks. A seam: tests shorten it. */
|
|
119
|
+
export declare const removal: {
|
|
120
|
+
waitMs: number;
|
|
121
|
+
pollMs: number;
|
|
122
|
+
};
|
|
123
|
+
export declare function removeContainer(exe: string, id: string): Promise<void>;
|
|
106
124
|
/** The serve protocol `image` speaks (its PROTOCOL_LABEL; 0 for an image without it), pulling the image first
|
|
107
125
|
* when it is not here. Known before a container exists, so the settings a container gets are always ones its
|
|
108
126
|
* entrypoint understands. */
|
|
@@ -130,6 +148,10 @@ export interface DockerContainer {
|
|
|
130
148
|
endpoint: string;
|
|
131
149
|
serveProtocol: number;
|
|
132
150
|
}
|
|
151
|
+
/** The docker create options that let Chrome's sandbox run in an image of `protocol`: the seccomp profile for an
|
|
152
|
+
* image that uses it (SANDBOX_PROTOCOL), nothing for an older one, whose Chrome runs with --no-sandbox anyway and
|
|
153
|
+
* so keeps Docker's stricter default. */
|
|
154
|
+
export declare function seccompArgs(protocol: number, arch: string): string[];
|
|
133
155
|
/**
|
|
134
156
|
* Start the image and wait for its CDP endpoint. Nothing is left running when this rejects.
|
|
135
157
|
*
|
package/dist/docker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
|
package/dist/docker.js
CHANGED
|
@@ -28,7 +28,16 @@
|
|
|
28
28
|
//
|
|
29
29
|
// Nothing outlives its owner: the container is created with --rm, stops itself once no CDP client has been
|
|
30
30
|
// connected for 30 s after its CDP first answers (CLEARCOTE_DOCKER_IDLE_EXIT), and the next launch removes
|
|
31
|
-
// any whose owner process is certainly gone (sweepStale). close() stops it at once
|
|
31
|
+
// any whose owner process is certainly gone (sweepStale). close() stops it at once and resolves once Docker
|
|
32
|
+
// has removed it (waiting up to 15 s for that).
|
|
33
|
+
//
|
|
34
|
+
// Chrome's sandbox: an image of serve protocol 3 runs Chrome with its sandbox when the container allows the
|
|
35
|
+
// user, PID and network namespaces the sandbox makes, and Docker's default seccomp profile does not. Such an
|
|
36
|
+
// image is started with --security-opt seccomp=docker-seccomp.json (shipped in this package: Docker's default
|
|
37
|
+
// profile of moby/profiles seccomp v0.2.3 plus those two calls; docker/seccomp.json in the repository) on an x86_64
|
|
38
|
+
// Docker. An older image is not, since its Chrome runs with --no-sandbox whatever it gets, and neither is a Docker
|
|
39
|
+
// on another CPU, where the image runs emulated (seccompArgs). A Docker that refuses the profile, at create or at
|
|
40
|
+
// start, gets the container again without it.
|
|
32
41
|
// Mirrors _docker.py in the Python SDK.
|
|
33
42
|
import { execFile, spawn, spawnSync } from "node:child_process";
|
|
34
43
|
import { existsSync, mkdirSync, readdirSync, readFileSync, readlinkSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -36,8 +45,10 @@ import http from "node:http";
|
|
|
36
45
|
import { randomBytes } from "node:crypto";
|
|
37
46
|
import { homedir, hostname } from "node:os";
|
|
38
47
|
import { delimiter, join } from "node:path";
|
|
48
|
+
import { fileURLToPath } from "node:url";
|
|
39
49
|
import { chromium } from "playwright-core";
|
|
40
50
|
import { installHumanize, installHumanizeOnContext } from "./humanize.js";
|
|
51
|
+
import { STOCK_RUNTIME_SWITCH, stockRuntimeWanted } from "./launchopts.js";
|
|
41
52
|
import { resolveLicenseKey } from "./license.js";
|
|
42
53
|
export const DEFAULT_REPOSITORY = "teamflatearth/clearcote";
|
|
43
54
|
export const TEST_ONLY_ASSUME_MACOS = "CLEARCOTE_TEST_ONLY_ASSUME_MACOS";
|
|
@@ -62,6 +73,12 @@ const DEFAULT_CACHE_VOLUME = "clearcote-cache";
|
|
|
62
73
|
const SECRET_ENV = ["CLEARCOTE_LICENSE_KEY", "CC_PROXY"];
|
|
63
74
|
const SECRETS_FILE = "/tmp/clearcote-secrets.json";
|
|
64
75
|
const IMAGE_UID = 10001; // the image's user (cc)
|
|
76
|
+
// An image of this serve protocol runs Chrome's sandbox when the container allows it, so it is started with this
|
|
77
|
+
// seccomp profile: Docker's default plus the namespace calls the sandbox makes (docker/seccomp.json).
|
|
78
|
+
export const SANDBOX_PROTOCOL = 3;
|
|
79
|
+
export const SECCOMP_PROFILE = fileURLToPath(new URL("../docker-seccomp.json", import.meta.url));
|
|
80
|
+
const SECCOMP_REFUSED = /seccomp/i;
|
|
81
|
+
const X86_64 = ["x86_64", "amd64"]; // the daemon architectures that run the linux/amd64 image natively
|
|
65
82
|
const TRUTHY = ["1", "true", "yes", "on"];
|
|
66
83
|
const FALSY = ["0", "false", "no", "off"];
|
|
67
84
|
// The image starts a virtual display, Chromium and (with a licence) fetches the licensed engine on its
|
|
@@ -101,7 +118,7 @@ const BOOL_ENV = {
|
|
|
101
118
|
lightStealth: "CC_LIGHT_STEALTH", disableGpuFingerprint: "CC_DISABLE_GPU_FINGERPRINT",
|
|
102
119
|
fingerprintNoise: "CC_FINGERPRINT_NOISE", canvasNoise: "CC_CANVAS_NOISE", gpuStringSpoof: "CC_GPU_STRING_SPOOF",
|
|
103
120
|
};
|
|
104
|
-
const SPECIAL = ["location", "fingerprintProfile", "headless", "proxy", "args", "licenseKey", "licenseApiBase"];
|
|
121
|
+
const SPECIAL = ["location", "fingerprintProfile", "headless", "proxy", "args", "licenseKey", "licenseApiBase", "personaEnv", "stockRuntime"];
|
|
105
122
|
const SDK_SIDE = ["timeout", "slowMo", "humanize", "showCursor", "quiet", "docker", "dockerImage", "ephemeralProfile"];
|
|
106
123
|
export const DOCKER_ACCEPTED = [
|
|
107
124
|
...Object.keys(STR_ENV), ...Object.keys(INT_ENV), ...Object.keys(FLOAT_ENV), ...Object.keys(BOOL_ENV), ...SPECIAL, ...SDK_SIDE,
|
|
@@ -187,18 +204,25 @@ export function containerEnv(options) {
|
|
|
187
204
|
env.CC_HEADLESS = "1"; // unset or false: the image's default, headed on its own display
|
|
188
205
|
if (options.proxy)
|
|
189
206
|
env.CC_PROXY = proxyUrl(options.proxy);
|
|
190
|
-
const args = options.args;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
207
|
+
const args = [...(options.args ?? [])];
|
|
208
|
+
const bad = args.find((a) => !String(a) || /\s/.test(String(a)));
|
|
209
|
+
if (bad !== undefined)
|
|
210
|
+
throw new TypeError(`args ${JSON.stringify(bad)}: an argument with whitespace cannot be passed to the Docker image`);
|
|
211
|
+
// stockRuntime (engine r32+) goes in with the other engine switches; the image's entrypoint keeps it only on an
|
|
212
|
+
// engine that has it, as a launch here does (docker/serve.py).
|
|
213
|
+
if (stockRuntimeWanted(options.stockRuntime) && !args.map(String).includes(STOCK_RUNTIME_SWITCH))
|
|
214
|
+
args.push(STOCK_RUNTIME_SWITCH);
|
|
215
|
+
if (args.length)
|
|
195
216
|
env.CC_EXTRA_ARGS = args.join(" ");
|
|
196
|
-
}
|
|
197
217
|
const key = resolveLicenseKey(options.licenseKey); // as a local launch: option > env > saved key
|
|
198
218
|
if (key)
|
|
199
219
|
env.CLEARCOTE_LICENSE_KEY = key;
|
|
200
220
|
if (options.licenseApiBase)
|
|
201
221
|
env.CLEARCOTE_LICENSE_API = String(options.licenseApiBase);
|
|
222
|
+
// Engine patch 1021 (personaenv.ts): the image's entrypoint takes the persona off its chrome's command line by
|
|
223
|
+
// itself, on an engine that has the switch, and reads the same opt-out a launch here does.
|
|
224
|
+
if (has("personaEnv"))
|
|
225
|
+
env.CLEARCOTE_PERSONA_ENV = options.personaEnv ? "1" : "0";
|
|
202
226
|
return env;
|
|
203
227
|
}
|
|
204
228
|
const MARK = /\[clearcote\] (serve-state |engine: |proxy: )/;
|
|
@@ -272,17 +296,33 @@ export const dockerCli = {
|
|
|
272
296
|
};
|
|
273
297
|
const firstLine = (t) => (t ?? "").split(/\r?\n/).map((l) => l.trim()).find(Boolean) ?? "";
|
|
274
298
|
/** The docker executable, or DockerUnavailableError saying what to do. */
|
|
275
|
-
|
|
299
|
+
/** The docker executable and the daemon's CPU architecture as `docker info` reports it ("x86_64", "aarch64", or ""
|
|
300
|
+
* when it does not say), from one `docker info` (it takes about a second on Docker Desktop), or
|
|
301
|
+
* DockerUnavailableError saying what to do. */
|
|
302
|
+
export async function dockerInfo() {
|
|
276
303
|
const exe = dockerCli.which();
|
|
277
304
|
if (!exe) {
|
|
278
305
|
throw new DockerUnavailableError(`Clearcote has no native macOS build, so on macOS launch() runs it in Docker, but the \`docker\` command was not found. Install Docker Desktop (${INSTALL_URL}), start it, and try again. ${OFF_HINT}`);
|
|
279
306
|
}
|
|
280
|
-
const r = await dockerCli.run([exe, "info", "--format", "{{.ServerVersion}}"], undefined, 30_000);
|
|
307
|
+
const r = await dockerCli.run([exe, "info", "--format", "{{.ServerVersion}} {{.Architecture}}"], undefined, 30_000);
|
|
281
308
|
if (r.code !== 0) {
|
|
282
309
|
throw new DockerUnavailableError(`Clearcote has no native macOS build, so on macOS launch() runs it in Docker, but Docker is not running (\`docker info\`: ${firstLine(r.stderr) || `exit ${r.code}`}). Start Docker Desktop and try again. ${OFF_HINT}`);
|
|
283
310
|
}
|
|
284
|
-
return exe;
|
|
311
|
+
return { exe, arch: r.stdout.trim().split(/\s+/)[1] ?? "" };
|
|
285
312
|
}
|
|
313
|
+
/** The docker executable, or DockerUnavailableError saying what to do. */
|
|
314
|
+
export async function checkDocker() {
|
|
315
|
+
return (await dockerInfo()).exe;
|
|
316
|
+
}
|
|
317
|
+
const warned = new Set(); // the warnings this process has given once already
|
|
318
|
+
function warnOnce(key, message, quiet) {
|
|
319
|
+
if (quiet || warned.has(key))
|
|
320
|
+
return;
|
|
321
|
+
warned.add(key);
|
|
322
|
+
process.stderr.write(`${message}\n`);
|
|
323
|
+
}
|
|
324
|
+
/** Forget the warnings given once (for tests). */
|
|
325
|
+
export function resetWarnings() { warned.clear(); }
|
|
286
326
|
/** How long a launched container waits with no CDP client before it stops itself: CLEARCOTE_DOCKER_IDLE_EXIT
|
|
287
327
|
* (seconds, 0 = never), default 30. */
|
|
288
328
|
export function idleExitSeconds() {
|
|
@@ -465,12 +505,33 @@ export async function sweepStale(exe) {
|
|
|
465
505
|
}
|
|
466
506
|
const live = new Map(); // container id -> docker executable, for the exit-time sweep
|
|
467
507
|
let sweepInstalled = false;
|
|
468
|
-
|
|
508
|
+
/** How long removeContainer waits for the container to be gone, and how often it looks. A seam: tests shorten it. */
|
|
509
|
+
export const removal = { waitMs: 15_000, pollMs: 250 };
|
|
510
|
+
/** Waits, for up to `removal.waitMs`, until `docker ps -a` no longer lists the container. False only when it is
|
|
511
|
+
* still listed once the wait is up; a docker CLI that does not answer ends the wait. Never throws. */
|
|
512
|
+
async function waitGone(exe, id) {
|
|
513
|
+
const deadline = Date.now() + removal.waitMs;
|
|
514
|
+
for (;;) {
|
|
515
|
+
const r = await dockerCli.run([exe, "ps", "-a", "-q", "--no-trunc", "--filter", `id=${id}`], undefined, Math.max(deadline - Date.now(), 1000));
|
|
516
|
+
if (r.code !== 0 || !r.stdout.trim())
|
|
517
|
+
return true;
|
|
518
|
+
if (Date.now() >= deadline)
|
|
519
|
+
return false;
|
|
520
|
+
await new Promise((res) => setTimeout(res, removal.pollMs));
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
export async function removeContainer(exe, id) {
|
|
469
524
|
// stop first: SIGTERM lets the image release a licence seat. The container was created with --rm, so
|
|
470
525
|
// stopping it removes it and its anonymous volume (the image declares VOLUME /opt/xdg-cache: ~0.5 GB);
|
|
471
526
|
// rm -f -v is for a container that did not go away. A named volume is never removed.
|
|
472
527
|
await dockerCli.run([exe, "stop", "--time", "10", id], undefined, 60_000);
|
|
473
528
|
await dockerCli.run([exe, "rm", "-f", "-v", id], undefined, 60_000);
|
|
529
|
+
// The daemon's own --rm removal starts once the container has stopped and runs on after `docker stop`
|
|
530
|
+
// returns; `docker rm` meanwhile answers "removal ... already in progress" at once. Wait for it to finish,
|
|
531
|
+
// so that close() resolving means the container is gone. A container still there after the wait (its
|
|
532
|
+
// removal failed: Docker marks it Dead) gets one more rm -f -v, which takes the volume too.
|
|
533
|
+
if (!(await waitGone(exe, id)))
|
|
534
|
+
await dockerCli.run([exe, "rm", "-f", "-v", id], undefined, 60_000);
|
|
474
535
|
live.delete(id);
|
|
475
536
|
}
|
|
476
537
|
function installSweep() {
|
|
@@ -673,6 +734,61 @@ export function tarOneFile(name, data, opts) {
|
|
|
673
734
|
const pad = Buffer.alloc((512 - (data.length % 512)) % 512, 0);
|
|
674
735
|
return Buffer.concat([header, data, pad, Buffer.alloc(1024, 0)]);
|
|
675
736
|
}
|
|
737
|
+
/** The docker create options that let Chrome's sandbox run in an image of `protocol`: the seccomp profile for an
|
|
738
|
+
* image that uses it (SANDBOX_PROTOCOL), nothing for an older one, whose Chrome runs with --no-sandbox anyway and
|
|
739
|
+
* so keeps Docker's stricter default. */
|
|
740
|
+
export function seccompArgs(protocol, arch) {
|
|
741
|
+
// Nothing either on a daemon that is not x86_64. The image is linux/amd64, so there it runs emulated (Docker Desktop
|
|
742
|
+
// on Apple silicon: aarch64). Under qemu the namespace calls fail and the container falls back; under Rosetta they
|
|
743
|
+
// may succeed while Chrome's x86_64 seccomp-bpf filter meets the emulator's own syscalls, and tabs could crash
|
|
744
|
+
// instead. Untested: run the live sandbox tests on Apple silicon with Rosetta on and with it off before passing the
|
|
745
|
+
// profile there.
|
|
746
|
+
return protocol >= SANDBOX_PROTOCOL && X86_64.includes(arch) && existsSync(SECCOMP_PROFILE)
|
|
747
|
+
? ["--security-opt", `seccomp=${SECCOMP_PROFILE}`] : [];
|
|
748
|
+
}
|
|
749
|
+
/** Docker would not run the container with the seccomp profile: at `docker create`, or at `docker start`, which is
|
|
750
|
+
* where Docker 29 first loads it (a profile its runtime cannot apply, a kernel without seccomp). */
|
|
751
|
+
class ProfileRefused extends Error {
|
|
752
|
+
}
|
|
753
|
+
/** `docker create` (again while Docker's own volume initialisation races), the secrets copied in, `docker start` ->
|
|
754
|
+
* the running container's id. Leaves nothing behind when it rejects; rejects with ProfileRefused when the seccomp
|
|
755
|
+
* options `profile` (in `argv`) are what Docker refused, at create or at start. */
|
|
756
|
+
async function createStarted(exe, argv, env, secrets, image, profile) {
|
|
757
|
+
let r = await dockerCli.run(argv, env, 1_800_000);
|
|
758
|
+
// Two launches creating their first container on a NEW shared volume at once collide in Docker's own volume
|
|
759
|
+
// initialisation ("failed to mkdir .../volumes/<name>/_data/...: file exists"); the loser succeeds a moment
|
|
760
|
+
// later, once the volume has been filled.
|
|
761
|
+
for (let attempt = 1; attempt < 4 && r.code !== 0 && VOLUME_INIT_RACE.test(r.stderr); attempt++) {
|
|
762
|
+
await new Promise((res) => setTimeout(res, 1000 * attempt));
|
|
763
|
+
r = await dockerCli.run(argv, env, 1_800_000);
|
|
764
|
+
}
|
|
765
|
+
const id = r.stdout.trim().split(/\r?\n/).pop()?.trim() ?? "";
|
|
766
|
+
if (r.code !== 0 || !id) {
|
|
767
|
+
if (profile.length && SECCOMP_REFUSED.test(r.stderr))
|
|
768
|
+
throw new ProfileRefused(firstLine(r.stderr));
|
|
769
|
+
throw imageFailed(image, r.code, r.stderr, "docker create");
|
|
770
|
+
}
|
|
771
|
+
live.set(id, exe);
|
|
772
|
+
installSweep();
|
|
773
|
+
try {
|
|
774
|
+
if (Object.keys(secrets).length) {
|
|
775
|
+
const tar = tarOneFile(SECRETS_FILE.split("/").pop(), Buffer.from(JSON.stringify(secrets), "utf8"), { uid: IMAGE_UID, gid: IMAGE_UID, mode: 0o600 });
|
|
776
|
+
const cp = await dockerCli.run([exe, "cp", "-", `${id}:${SECRETS_FILE.slice(0, SECRETS_FILE.lastIndexOf("/"))}`], undefined, 60_000, tar);
|
|
777
|
+
if (cp.code !== 0)
|
|
778
|
+
throw new Error(`could not copy the licence/proxy settings into the container: ${firstLine(cp.stderr)}`);
|
|
779
|
+
}
|
|
780
|
+
const st = await dockerCli.run([exe, "start", id], undefined, 120_000);
|
|
781
|
+
if (st.code !== 0 && profile.length && SECCOMP_REFUSED.test(st.stderr))
|
|
782
|
+
throw new ProfileRefused(firstLine(st.stderr));
|
|
783
|
+
if (st.code !== 0)
|
|
784
|
+
throw new Error(`\`docker start\` failed: ${st.stderr.trim() || `exit ${st.code}`}`);
|
|
785
|
+
}
|
|
786
|
+
catch (e) {
|
|
787
|
+
await removeContainer(exe, id);
|
|
788
|
+
throw e;
|
|
789
|
+
}
|
|
790
|
+
return id;
|
|
791
|
+
}
|
|
676
792
|
/**
|
|
677
793
|
* Start the image and wait for its CDP endpoint. Nothing is left running when this rejects.
|
|
678
794
|
*
|
|
@@ -689,7 +805,7 @@ export function tarOneFile(name, data, opts) {
|
|
|
689
805
|
export async function startContainer(options) {
|
|
690
806
|
const env = containerEnv(options);
|
|
691
807
|
const idle = idleExitSeconds();
|
|
692
|
-
const exe = await
|
|
808
|
+
const { exe, arch } = await dockerInfo();
|
|
693
809
|
await sweepStale(exe);
|
|
694
810
|
const image = options.dockerImage || defaultImage();
|
|
695
811
|
const protocol = await imageProtocol(exe, image, !!options.quiet);
|
|
@@ -721,6 +837,11 @@ export async function startContainer(options) {
|
|
|
721
837
|
}
|
|
722
838
|
const argv = [exe, "create", "--rm", "--platform", "linux/amd64", "--shm-size", "1g", "-p", "127.0.0.1::9222",
|
|
723
839
|
"--label", LABEL, "--label", `${OWNER_HOST_LABEL}=${hostname()}`, "--label", `${OWNER_TOKEN_LABEL}=${ownerToken()}`];
|
|
840
|
+
const seccomp = seccompArgs(protocol, arch);
|
|
841
|
+
if (protocol >= SANDBOX_PROTOCOL && !arch) {
|
|
842
|
+
warnOnce("arch", "[clearcote] warning: `docker info` did not say which CPU Docker runs on, so the container runs Chrome without its sandbox.", !!options.quiet);
|
|
843
|
+
}
|
|
844
|
+
argv.push(...seccomp);
|
|
724
845
|
for (const name of Object.keys(env).sort())
|
|
725
846
|
argv.push("-e", name); // the value comes from the CLI's environment
|
|
726
847
|
if (expect.licensed)
|
|
@@ -728,30 +849,21 @@ export async function startContainer(options) {
|
|
|
728
849
|
argv.push(image);
|
|
729
850
|
if (!options.quiet)
|
|
730
851
|
process.stderr.write(`[clearcote] no native macOS build: starting the Clearcote Docker image ${image}\n`);
|
|
731
|
-
let
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
852
|
+
let id;
|
|
853
|
+
try {
|
|
854
|
+
id = await createStarted(exe, argv, env, secrets, image, seccomp);
|
|
855
|
+
}
|
|
856
|
+
catch (e) {
|
|
857
|
+
if (!(e instanceof ProfileRefused))
|
|
858
|
+
throw e;
|
|
859
|
+
// A Docker that cannot use the seccomp profile: the container again, without it. Its Chrome then runs with
|
|
860
|
+
// --no-sandbox, as it did before the profile existed.
|
|
861
|
+
if (!options.quiet)
|
|
862
|
+
process.stderr.write(`[clearcote] warning: Docker refused the seccomp profile (${e.message}); the container runs Chrome without its sandbox.\n`);
|
|
863
|
+
id = await createStarted(exe, argv.filter((a) => !seccomp.includes(a)), env, secrets, image, []);
|
|
738
864
|
}
|
|
739
|
-
const id = r.stdout.trim().split(/\r?\n/).pop()?.trim() ?? "";
|
|
740
|
-
if (r.code !== 0 || !id)
|
|
741
|
-
throw imageFailed(image, r.code, r.stderr, "docker create");
|
|
742
|
-
live.set(id, exe);
|
|
743
|
-
installSweep();
|
|
744
865
|
let logs = null;
|
|
745
866
|
try {
|
|
746
|
-
if (Object.keys(secrets).length) {
|
|
747
|
-
const tar = tarOneFile(SECRETS_FILE.split("/").pop(), Buffer.from(JSON.stringify(secrets), "utf8"), { uid: IMAGE_UID, gid: IMAGE_UID, mode: 0o600 });
|
|
748
|
-
const cp = await dockerCli.run([exe, "cp", "-", `${id}:${SECRETS_FILE.slice(0, SECRETS_FILE.lastIndexOf("/"))}`], undefined, 60_000, tar);
|
|
749
|
-
if (cp.code !== 0)
|
|
750
|
-
throw new Error(`could not copy the licence/proxy settings into the container: ${firstLine(cp.stderr)}`);
|
|
751
|
-
}
|
|
752
|
-
const st = await dockerCli.run([exe, "start", id], undefined, 120_000);
|
|
753
|
-
if (st.code !== 0)
|
|
754
|
-
throw new Error(`\`docker start\` failed: ${st.stderr.trim() || `exit ${st.code}`}`);
|
|
755
867
|
logs = dockerCli.followLogs(exe, id);
|
|
756
868
|
const port = await publishedPort(exe, id);
|
|
757
869
|
const timeout = options.timeout;
|
package/dist/docker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
|