@songsid/agend 2.1.10-beta.5 → 2.1.10-beta.6
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/channel/adapters/discord.js +0 -2
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/fleet-context.d.ts +0 -1
- package/dist/fleet-manager.d.ts +0 -3
- package/dist/fleet-manager.js +4 -23
- package/dist/fleet-manager.js.map +1 -1
- package/dist/locale.js +24 -18
- package/dist/locale.js.map +1 -1
- package/dist/login-controller.d.ts +19 -0
- package/dist/login-controller.js +78 -10
- package/dist/login-controller.js.map +1 -1
- package/dist/login-flows.d.ts +8 -1
- package/dist/login-flows.js +15 -2
- package/dist/login-flows.js.map +1 -1
- package/dist/topic-commands.js +1 -15
- package/dist/topic-commands.js.map +1 -1
- package/dist/tunnel/cloudflared-install.d.ts +83 -0
- package/dist/tunnel/cloudflared-install.js +359 -0
- package/dist/tunnel/cloudflared-install.js.map +1 -0
- package/dist/tunnel/cloudflared.d.ts +1 -0
- package/dist/tunnel/cloudflared.js +2 -2
- package/dist/tunnel/cloudflared.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/package.json +2 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export declare const CLOUDFLARED_PIN: {
|
|
2
|
+
readonly version: "2026.9.3";
|
|
3
|
+
readonly assets: {
|
|
4
|
+
readonly "linux-x64": {
|
|
5
|
+
readonly name: "cloudflared-linux-amd64";
|
|
6
|
+
readonly sha256: "77e26d8d900e0b8469f416239d14b5f296525fdf79fee6f511ef55609e3fbac2";
|
|
7
|
+
readonly archive: "binary";
|
|
8
|
+
};
|
|
9
|
+
readonly "linux-arm64": {
|
|
10
|
+
readonly name: "cloudflared-linux-arm64";
|
|
11
|
+
readonly sha256: "aaeb2d7d0da3614634c7e03ab13487a1522c2e79165ed2929cfe23d5e95b326d";
|
|
12
|
+
readonly archive: "binary";
|
|
13
|
+
};
|
|
14
|
+
readonly "linux-arm": {
|
|
15
|
+
readonly name: "cloudflared-linux-arm";
|
|
16
|
+
readonly sha256: "967dc371a3fedbf09e881c13ee7ba317155ebc336cbd4afb756b46fc6785e5af";
|
|
17
|
+
readonly archive: "binary";
|
|
18
|
+
};
|
|
19
|
+
readonly "linux-ia32": {
|
|
20
|
+
readonly name: "cloudflared-linux-386";
|
|
21
|
+
readonly sha256: "d6b2f917e2e78b3e3afba760af726e51751d10c2fcad4a2fb2a69feb4bd47421";
|
|
22
|
+
readonly archive: "binary";
|
|
23
|
+
};
|
|
24
|
+
readonly "darwin-x64": {
|
|
25
|
+
readonly name: "cloudflared-darwin-amd64.tgz";
|
|
26
|
+
readonly sha256: "ab588b3b4db9cdb4476c30a3db2a72635b1d8327d44741fee6799a0f37b0ec07";
|
|
27
|
+
readonly archive: "tgz";
|
|
28
|
+
};
|
|
29
|
+
readonly "darwin-arm64": {
|
|
30
|
+
readonly name: "cloudflared-darwin-arm64.tgz";
|
|
31
|
+
readonly sha256: "5472c1a01c84bc31b3021056a73b4e5774ddddefc572124ea8fdf6c340639f32";
|
|
32
|
+
readonly archive: "tgz";
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type CloudflaredAsset = {
|
|
37
|
+
name: string;
|
|
38
|
+
sha256: string;
|
|
39
|
+
archive: "binary" | "tgz";
|
|
40
|
+
};
|
|
41
|
+
export type CloudflaredInstallErrorKind = "unsupported-platform" | "download-failed" | "checksum-mismatch" | "install-failed" | "cancelled";
|
|
42
|
+
export declare class CloudflaredInstallError extends Error {
|
|
43
|
+
readonly kind: CloudflaredInstallErrorKind;
|
|
44
|
+
constructor(kind: CloudflaredInstallErrorKind, detail: string);
|
|
45
|
+
}
|
|
46
|
+
/** The pinned asset for this platform, or null where Cloudflare publishes none we pin. */
|
|
47
|
+
export declare function assetFor(platform: NodeJS.Platform, arch: string): CloudflaredAsset | null;
|
|
48
|
+
export declare function releaseUrl(asset: CloudflaredAsset, version?: string): string;
|
|
49
|
+
export interface EnsureCloudflaredOptions {
|
|
50
|
+
/** AgEnD's data directory (`AGEND_HOME`); the binary goes in `<dataDir>/bin`. */
|
|
51
|
+
dataDir: string;
|
|
52
|
+
env?: NodeJS.ProcessEnv;
|
|
53
|
+
platform?: NodeJS.Platform;
|
|
54
|
+
arch?: string;
|
|
55
|
+
/** Told once, right before a download starts (the caller posts a line in chat). */
|
|
56
|
+
onDownloading?: (info: {
|
|
57
|
+
version: string;
|
|
58
|
+
asset: string;
|
|
59
|
+
}) => void | Promise<void>;
|
|
60
|
+
/** Test seams. */
|
|
61
|
+
fetchImpl?: (url: string, init: {
|
|
62
|
+
signal: AbortSignal;
|
|
63
|
+
redirect: "follow";
|
|
64
|
+
}) => Promise<Response>;
|
|
65
|
+
extractTgz?: (archive: string, intoDir: string) => Promise<void>;
|
|
66
|
+
pin?: {
|
|
67
|
+
version: string;
|
|
68
|
+
assets: Record<string, CloudflaredAsset>;
|
|
69
|
+
};
|
|
70
|
+
timeoutMs?: number;
|
|
71
|
+
maxBytes?: number;
|
|
72
|
+
/** Aborts the install, before or during the download (a `/login cancel`, a shutdown). */
|
|
73
|
+
signal?: AbortSignal;
|
|
74
|
+
/** Test seam: the uid AgEnD's directories must belong to (default: this process's). */
|
|
75
|
+
uid?: number;
|
|
76
|
+
}
|
|
77
|
+
export interface EnsureCloudflaredResult {
|
|
78
|
+
path: string;
|
|
79
|
+
/** `path`: the user's own, on PATH. `agend`: ours, already installed and verified. `downloaded`: ours, just now. */
|
|
80
|
+
source: "path" | "agend" | "downloaded";
|
|
81
|
+
}
|
|
82
|
+
/** A cloudflared to run: the user's own on PATH, else AgEnD's verified copy (downloaded when needed). */
|
|
83
|
+
export declare function ensureCloudflared(opts: EnsureCloudflaredOptions): Promise<EnsureCloudflaredResult>;
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgEnD's own cloudflared, for the one-tap public `/login` link (#1137).
|
|
3
|
+
*
|
|
4
|
+
* Used only after the admin pressed the public-link button, and only when no
|
|
5
|
+
* `cloudflared` is on PATH (the user's own install always wins). Then:
|
|
6
|
+
*
|
|
7
|
+
* - the source is Cloudflare's official GitHub release, at a version pinned
|
|
8
|
+
* here; a runtime never asks for "latest";
|
|
9
|
+
* - every asset's SHA256 is pinned here too, copied from that release's
|
|
10
|
+
* published checksums and reviewed with this file. A checksum fetched
|
|
11
|
+
* alongside the download would prove nothing, so none is;
|
|
12
|
+
* - it lands in AgEnD's own directory (`<AGEND_HOME>/bin`, 0700), never
|
|
13
|
+
* anywhere system-wide, never with sudo;
|
|
14
|
+
* - the download is streamed to a temp file in that directory and hashed as
|
|
15
|
+
* it arrives, then the file itself is hashed again from disk: only bytes
|
|
16
|
+
* that are on disk AND match the pin are made executable and renamed into
|
|
17
|
+
* place (atomic). A mismatch is deleted and nothing runs;
|
|
18
|
+
* - before every use the installed binary is checked against a stamp of the
|
|
19
|
+
* pinned version and its hash; a damaged or outdated one is replaced;
|
|
20
|
+
* - no lock (#1141 review): every file is written under a name of its own
|
|
21
|
+
* and only a verified one is renamed into place, so two installs racing —
|
|
22
|
+
* in two processes — each land the same pinned bytes and neither can see
|
|
23
|
+
* or remove the other's work. In this process they share one promise, so
|
|
24
|
+
* one login downloads once;
|
|
25
|
+
* - nothing in a directory someone else could write is trusted (#1141
|
|
26
|
+
* review): `<AGEND_HOME>` and its `bin` must be real directories owned by
|
|
27
|
+
* this user and closed to others; a `bin` that was open is closed and its
|
|
28
|
+
* contents fetched again. A bare binary is checked against the compiled
|
|
29
|
+
* pin itself; a macOS one (extracted from the .tgz) against a stamp that
|
|
30
|
+
* records the pinned archive hash it came from.
|
|
31
|
+
*
|
|
32
|
+
* Bumping the pin is a release-checklist step: new version, new hashes from
|
|
33
|
+
* the release's "SHA256 Checksums", one download checked against them.
|
|
34
|
+
*/
|
|
35
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
36
|
+
import { spawn } from "node:child_process";
|
|
37
|
+
import { createReadStream } from "node:fs";
|
|
38
|
+
import { chmod, lstat, mkdir, open, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
|
|
39
|
+
import { join } from "node:path";
|
|
40
|
+
import { resolveBinary } from "./cloudflared.js";
|
|
41
|
+
export const CLOUDFLARED_PIN = {
|
|
42
|
+
version: "2026.9.3",
|
|
43
|
+
assets: {
|
|
44
|
+
"linux-x64": { name: "cloudflared-linux-amd64", sha256: "77e26d8d900e0b8469f416239d14b5f296525fdf79fee6f511ef55609e3fbac2", archive: "binary" },
|
|
45
|
+
"linux-arm64": { name: "cloudflared-linux-arm64", sha256: "aaeb2d7d0da3614634c7e03ab13487a1522c2e79165ed2929cfe23d5e95b326d", archive: "binary" },
|
|
46
|
+
"linux-arm": { name: "cloudflared-linux-arm", sha256: "967dc371a3fedbf09e881c13ee7ba317155ebc336cbd4afb756b46fc6785e5af", archive: "binary" },
|
|
47
|
+
"linux-ia32": { name: "cloudflared-linux-386", sha256: "d6b2f917e2e78b3e3afba760af726e51751d10c2fcad4a2fb2a69feb4bd47421", archive: "binary" },
|
|
48
|
+
"darwin-x64": { name: "cloudflared-darwin-amd64.tgz", sha256: "ab588b3b4db9cdb4476c30a3db2a72635b1d8327d44741fee6799a0f37b0ec07", archive: "tgz" },
|
|
49
|
+
"darwin-arm64": { name: "cloudflared-darwin-arm64.tgz", sha256: "5472c1a01c84bc31b3021056a73b4e5774ddddefc572124ea8fdf6c340639f32", archive: "tgz" },
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
export class CloudflaredInstallError extends Error {
|
|
53
|
+
kind;
|
|
54
|
+
constructor(kind, detail) {
|
|
55
|
+
super(detail);
|
|
56
|
+
this.kind = kind;
|
|
57
|
+
this.name = "CloudflaredInstallError";
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/** The pinned asset for this platform, or null where Cloudflare publishes none we pin. */
|
|
61
|
+
export function assetFor(platform, arch) {
|
|
62
|
+
return CLOUDFLARED_PIN.assets[`${platform}-${arch}`] ?? null;
|
|
63
|
+
}
|
|
64
|
+
export function releaseUrl(asset, version = CLOUDFLARED_PIN.version) {
|
|
65
|
+
return `https://github.com/cloudflare/cloudflared/releases/download/${version}/${asset.name}`;
|
|
66
|
+
}
|
|
67
|
+
/** No cloudflared binary is this big; a response that is has gone wrong. */
|
|
68
|
+
const MAX_DOWNLOAD_BYTES = 200 * 1024 * 1024;
|
|
69
|
+
const DOWNLOAD_TIMEOUT_MS = 5 * 60_000;
|
|
70
|
+
const inFlight = new Map();
|
|
71
|
+
/** A cloudflared to run: the user's own on PATH, else AgEnD's verified copy (downloaded when needed). */
|
|
72
|
+
export async function ensureCloudflared(opts) {
|
|
73
|
+
throwIfCancelled(opts.signal);
|
|
74
|
+
const onPath = resolveBinary("cloudflared", opts.env ?? process.env);
|
|
75
|
+
if (onPath)
|
|
76
|
+
return { path: onPath, source: "path" };
|
|
77
|
+
const dir = join(opts.dataDir, "bin");
|
|
78
|
+
const running = inFlight.get(dir);
|
|
79
|
+
if (running)
|
|
80
|
+
return running;
|
|
81
|
+
const flight = installOrReuse(opts, dir).finally(() => inFlight.delete(dir));
|
|
82
|
+
inFlight.set(dir, flight);
|
|
83
|
+
return flight;
|
|
84
|
+
}
|
|
85
|
+
function throwIfCancelled(signal) {
|
|
86
|
+
if (signal?.aborted)
|
|
87
|
+
throw new CloudflaredInstallError("cancelled", "cancelled");
|
|
88
|
+
}
|
|
89
|
+
async function installOrReuse(opts, dir) {
|
|
90
|
+
const pin = opts.pin ?? CLOUDFLARED_PIN;
|
|
91
|
+
const asset = pin.assets[`${opts.platform ?? process.platform}-${opts.arch ?? process.arch}`];
|
|
92
|
+
if (!asset) {
|
|
93
|
+
throw new CloudflaredInstallError("unsupported-platform", `no pinned cloudflared for ${opts.platform ?? process.platform}/${opts.arch ?? process.arch}`);
|
|
94
|
+
}
|
|
95
|
+
const uid = opts.uid ?? process.getuid?.();
|
|
96
|
+
const target = join(dir, "cloudflared");
|
|
97
|
+
// A bin someone else could have written: its contents are not ours to trust.
|
|
98
|
+
if ((await privateDirectory(opts.dataDir, dir, uid)) === "was-open")
|
|
99
|
+
await discardInstall(target);
|
|
100
|
+
if (await installedAndIntact(target, pin.version, asset, uid))
|
|
101
|
+
return { path: target, source: "agend" };
|
|
102
|
+
throwIfCancelled(opts.signal);
|
|
103
|
+
await opts.onDownloading?.({ version: pin.version, asset: asset.name });
|
|
104
|
+
// A cancel that arrived while the notice was being posted stops it here: no fetch starts.
|
|
105
|
+
throwIfCancelled(opts.signal);
|
|
106
|
+
await download(asset, pin.version, dir, target, opts);
|
|
107
|
+
return { path: target, source: "downloaded" };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* `<dataDir>` and `<dataDir>/bin` must be real directories (not symlinks),
|
|
111
|
+
* owned by `uid`, and not writable by anyone else; `bin` must be closed to
|
|
112
|
+
* others entirely. Creates `bin` 0700. An open `bin` that is ours is closed
|
|
113
|
+
* ("was-open": what it holds may have been planted). Anything else refuses.
|
|
114
|
+
*/
|
|
115
|
+
async function privateDirectory(dataDir, dir, uid) {
|
|
116
|
+
const home = await lstat(dataDir).catch(() => null);
|
|
117
|
+
if (!home)
|
|
118
|
+
throw new CloudflaredInstallError("install-failed", `${dataDir} does not exist`);
|
|
119
|
+
// AGEND_HOME itself may be a symlink the user chose; what it points to must be theirs and closed to writes.
|
|
120
|
+
const homeReal = home.isSymbolicLink() ? await stat(dataDir).catch(() => null) : home;
|
|
121
|
+
if (!homeReal?.isDirectory() || (uid !== undefined && homeReal.uid !== uid) || (homeReal.mode & 0o022) !== 0) {
|
|
122
|
+
throw new CloudflaredInstallError("install-failed", `${dataDir} is writable by another user — refusing to install cloudflared there`);
|
|
123
|
+
}
|
|
124
|
+
let st = await lstat(dir).catch(() => null);
|
|
125
|
+
if (!st) {
|
|
126
|
+
await mkdir(dir, { mode: 0o700 }).catch(err => { if (err.code !== "EEXIST")
|
|
127
|
+
throw err; });
|
|
128
|
+
st = await lstat(dir);
|
|
129
|
+
}
|
|
130
|
+
if (st.isSymbolicLink() || !st.isDirectory()) {
|
|
131
|
+
throw new CloudflaredInstallError("install-failed", `${dir} is not a plain directory — refusing to install cloudflared there`);
|
|
132
|
+
}
|
|
133
|
+
if (uid !== undefined && st.uid !== uid) {
|
|
134
|
+
throw new CloudflaredInstallError("install-failed", `${dir} belongs to another user — refusing to install cloudflared there`);
|
|
135
|
+
}
|
|
136
|
+
if ((st.mode & 0o077) !== 0) {
|
|
137
|
+
await chmod(dir, 0o700);
|
|
138
|
+
return "was-open";
|
|
139
|
+
}
|
|
140
|
+
return "ok";
|
|
141
|
+
}
|
|
142
|
+
async function discardInstall(target) {
|
|
143
|
+
await rm(target, { force: true });
|
|
144
|
+
await rm(stampPath(target), { force: true });
|
|
145
|
+
}
|
|
146
|
+
/** A regular file (not a symlink), owned by `uid`, writable only by its owner. */
|
|
147
|
+
async function trustedFile(path, uid) {
|
|
148
|
+
const st = await lstat(path).catch(() => null);
|
|
149
|
+
return !!st && st.isFile() && (uid === undefined || st.uid === uid) && (st.mode & 0o022) === 0;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* The stamp written after a verified install:
|
|
153
|
+
* `<version> <pinned sha256 of the asset it came from> <sha256 of the installed binary>`.
|
|
154
|
+
*/
|
|
155
|
+
function stampPath(target) { return `${target}.sha256`; }
|
|
156
|
+
async function installedAndIntact(target, version, asset, uid) {
|
|
157
|
+
if (!(await trustedFile(target, uid)))
|
|
158
|
+
return false;
|
|
159
|
+
let actual;
|
|
160
|
+
try {
|
|
161
|
+
actual = await sha256File(target);
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
// A bare binary IS the asset: the compiled pin is the only authority.
|
|
167
|
+
if (asset.archive === "binary")
|
|
168
|
+
return actual === asset.sha256;
|
|
169
|
+
// Extracted from an archive: the stamp says which pinned archive it came from.
|
|
170
|
+
if (!(await trustedFile(stampPath(target), uid)))
|
|
171
|
+
return false;
|
|
172
|
+
let stamp;
|
|
173
|
+
try {
|
|
174
|
+
stamp = (await readFile(stampPath(target), "utf8")).trim();
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
const [stampedVersion, stampedAsset, stampedBinary] = stamp.split(/\s+/);
|
|
180
|
+
return stampedVersion === version && stampedAsset === asset.sha256 && stampedBinary === actual;
|
|
181
|
+
}
|
|
182
|
+
async function sha256File(path) {
|
|
183
|
+
const hash = createHash("sha256");
|
|
184
|
+
await new Promise((resolve, reject) => {
|
|
185
|
+
createReadStream(path).on("data", chunk => hash.update(chunk)).on("end", () => resolve()).on("error", reject);
|
|
186
|
+
});
|
|
187
|
+
return hash.digest("hex");
|
|
188
|
+
}
|
|
189
|
+
async function download(asset, version, dir, target, opts) {
|
|
190
|
+
const tag = randomBytes(6).toString("hex");
|
|
191
|
+
const part = join(dir, `.cloudflared.${tag}.part`);
|
|
192
|
+
const unpack = `${part}.d`;
|
|
193
|
+
const stampTmp = `${stampPath(target)}.${tag}`;
|
|
194
|
+
try {
|
|
195
|
+
const sha = await fetchToFile(releaseUrl(asset, version), part, opts);
|
|
196
|
+
if (sha !== asset.sha256) {
|
|
197
|
+
throw new CloudflaredInstallError("checksum-mismatch", `${asset.name}: SHA256 ${sha} does not match the pinned ${asset.sha256}`);
|
|
198
|
+
}
|
|
199
|
+
// What was received matched; what is on disk is what will run, so it must match too.
|
|
200
|
+
const written = await sha256File(part);
|
|
201
|
+
if (written !== asset.sha256) {
|
|
202
|
+
throw new CloudflaredInstallError("install-failed", `${part} does not hold the download it was given (SHA256 ${written})`);
|
|
203
|
+
}
|
|
204
|
+
throwIfCancelled(opts.signal);
|
|
205
|
+
let binary = part;
|
|
206
|
+
if (asset.archive === "tgz") {
|
|
207
|
+
await mkdir(unpack, { mode: 0o700 });
|
|
208
|
+
await (opts.extractTgz ?? extractTgzWithTar)(part, unpack);
|
|
209
|
+
binary = join(unpack, "cloudflared");
|
|
210
|
+
if (!(await lstat(binary).then(st => st.isFile(), () => false))) {
|
|
211
|
+
throw new CloudflaredInstallError("install-failed", `${asset.name} has no cloudflared inside`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
await chmod(binary, 0o755);
|
|
215
|
+
const installedHash = binary === part ? sha : await sha256File(binary);
|
|
216
|
+
await rename(binary, target);
|
|
217
|
+
await writeFile(stampTmp, `${version} ${asset.sha256} ${installedHash}\n`, { mode: 0o600, flag: "wx" });
|
|
218
|
+
await rename(stampTmp, stampPath(target));
|
|
219
|
+
}
|
|
220
|
+
catch (err) {
|
|
221
|
+
if (err instanceof CloudflaredInstallError)
|
|
222
|
+
throw err;
|
|
223
|
+
throw new CloudflaredInstallError("install-failed", err.message);
|
|
224
|
+
}
|
|
225
|
+
finally {
|
|
226
|
+
await rm(part, { force: true });
|
|
227
|
+
await rm(unpack, { recursive: true, force: true });
|
|
228
|
+
await rm(stampTmp, { force: true });
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Streams the response into `file` (created fresh, never through a link),
|
|
233
|
+
* hashing as it goes; returns the hex SHA256. Every way out — success, a
|
|
234
|
+
* disk error, a bad status, the size cap, a timeout, a cancel — settles the
|
|
235
|
+
* promise, ends the response body and releases what this call opened.
|
|
236
|
+
*/
|
|
237
|
+
async function fetchToFile(url, file, opts) {
|
|
238
|
+
const abort = new AbortController();
|
|
239
|
+
const timer = setTimeout(() => abort.abort(), opts.timeoutMs ?? DOWNLOAD_TIMEOUT_MS);
|
|
240
|
+
timer.unref?.();
|
|
241
|
+
const onCancel = () => abort.abort();
|
|
242
|
+
opts.signal?.addEventListener("abort", onCancel, { once: true });
|
|
243
|
+
// A listener added after the abort never fires: a cancel that already happened is honoured here.
|
|
244
|
+
if (opts.signal?.aborted) {
|
|
245
|
+
clearTimeout(timer);
|
|
246
|
+
opts.signal.removeEventListener("abort", onCancel);
|
|
247
|
+
throw new CloudflaredInstallError("cancelled", "cancelled");
|
|
248
|
+
}
|
|
249
|
+
const transport = opts.fetchImpl ? { fetch: opts.fetchImpl, close: async () => { } } : await defaultTransport(opts.env ?? process.env);
|
|
250
|
+
const failed = (err) => {
|
|
251
|
+
if (err instanceof CloudflaredInstallError)
|
|
252
|
+
return err;
|
|
253
|
+
if (opts.signal?.aborted)
|
|
254
|
+
return new CloudflaredInstallError("cancelled", "cancelled");
|
|
255
|
+
if (abort.signal.aborted)
|
|
256
|
+
return new CloudflaredInstallError("download-failed", "timed out");
|
|
257
|
+
return new CloudflaredInstallError("download-failed", err.message);
|
|
258
|
+
};
|
|
259
|
+
let res = null;
|
|
260
|
+
try {
|
|
261
|
+
try {
|
|
262
|
+
res = await transport.fetch(url, { signal: abort.signal, redirect: "follow" });
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
throw failed(err);
|
|
266
|
+
}
|
|
267
|
+
if (!res.ok || !res.body)
|
|
268
|
+
throw new CloudflaredInstallError("download-failed", `HTTP ${res.status}`);
|
|
269
|
+
const reader = res.body.getReader();
|
|
270
|
+
const hash = createHash("sha256");
|
|
271
|
+
let handle;
|
|
272
|
+
try {
|
|
273
|
+
handle = await open(file, "wx", 0o600);
|
|
274
|
+
}
|
|
275
|
+
catch (err) {
|
|
276
|
+
throw new CloudflaredInstallError("install-failed", `cannot write ${file}: ${err.message}`);
|
|
277
|
+
}
|
|
278
|
+
let bytes = 0;
|
|
279
|
+
try {
|
|
280
|
+
for (;;) {
|
|
281
|
+
let chunk;
|
|
282
|
+
try {
|
|
283
|
+
chunk = await reader.read();
|
|
284
|
+
}
|
|
285
|
+
catch (err) {
|
|
286
|
+
throw failed(err);
|
|
287
|
+
}
|
|
288
|
+
if (chunk.done)
|
|
289
|
+
break;
|
|
290
|
+
bytes += chunk.value.byteLength;
|
|
291
|
+
if (bytes > (opts.maxBytes ?? MAX_DOWNLOAD_BYTES))
|
|
292
|
+
throw new CloudflaredInstallError("download-failed", "the download is larger than any cloudflared");
|
|
293
|
+
hash.update(chunk.value);
|
|
294
|
+
await writeAll(handle, chunk.value, file);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
catch (err) {
|
|
298
|
+
await reader.cancel().catch(() => { });
|
|
299
|
+
throw err;
|
|
300
|
+
}
|
|
301
|
+
finally {
|
|
302
|
+
await handle.close().catch(() => { });
|
|
303
|
+
}
|
|
304
|
+
return hash.digest("hex");
|
|
305
|
+
}
|
|
306
|
+
catch (err) {
|
|
307
|
+
abort.abort();
|
|
308
|
+
// A response we stopped reading (bad status, size cap) is ended too, not left to the server.
|
|
309
|
+
await res?.body?.cancel().catch(() => { });
|
|
310
|
+
throw failed(err);
|
|
311
|
+
}
|
|
312
|
+
finally {
|
|
313
|
+
clearTimeout(timer);
|
|
314
|
+
opts.signal?.removeEventListener("abort", onCancel);
|
|
315
|
+
await transport.close().catch(() => { });
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* A write may put down fewer bytes than asked (a full disk, a file-size
|
|
320
|
+
* limit): the rest is written again, and a write that makes no progress fails.
|
|
321
|
+
*/
|
|
322
|
+
async function writeAll(handle, data, file) {
|
|
323
|
+
let offset = 0;
|
|
324
|
+
while (offset < data.byteLength) {
|
|
325
|
+
let bytesWritten;
|
|
326
|
+
try {
|
|
327
|
+
({ bytesWritten } = await handle.write(data, offset, data.byteLength - offset));
|
|
328
|
+
}
|
|
329
|
+
catch (err) {
|
|
330
|
+
throw new CloudflaredInstallError("install-failed", `cannot write ${file}: ${err.message}`);
|
|
331
|
+
}
|
|
332
|
+
if (bytesWritten <= 0)
|
|
333
|
+
throw new CloudflaredInstallError("install-failed", `cannot write ${file}: no progress`);
|
|
334
|
+
offset += bytesWritten;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
/** Global fetch, or undici with the environment's proxy when one is set (its agent closed after use). */
|
|
338
|
+
async function defaultTransport(env) {
|
|
339
|
+
const proxied = env.HTTPS_PROXY || env.https_proxy || env.HTTP_PROXY || env.http_proxy;
|
|
340
|
+
if (!proxied)
|
|
341
|
+
return { fetch: (url, init) => fetch(url, init), close: async () => { } };
|
|
342
|
+
const { EnvHttpProxyAgent, fetch: undiciFetch } = await import("undici");
|
|
343
|
+
const agent = new EnvHttpProxyAgent();
|
|
344
|
+
return {
|
|
345
|
+
fetch: (url, init) => undiciFetch(url, { ...init, dispatcher: agent }),
|
|
346
|
+
close: () => agent.close(),
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
/** The system tar, given only argv (no shell): Cloudflare's macOS .tgz holds the one binary. */
|
|
350
|
+
function extractTgzWithTar(archive, intoDir) {
|
|
351
|
+
return new Promise((resolve, reject) => {
|
|
352
|
+
const child = spawn("tar", ["-xzf", archive, "-C", intoDir, "cloudflared"], { stdio: ["ignore", "ignore", "pipe"], shell: false });
|
|
353
|
+
let stderr = "";
|
|
354
|
+
child.stderr?.on("data", chunk => { stderr += String(chunk).slice(0, 500); });
|
|
355
|
+
child.on("error", reject);
|
|
356
|
+
child.on("exit", code => code === 0 ? resolve() : reject(new Error(`tar exited ${code}: ${stderr.trim()}`)));
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=cloudflared-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflared-install.js","sourceRoot":"","sources":["../../src/tunnel/cloudflared-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export declare function validateQuickTunnelUrl(candidate: string): string | null
|
|
|
43
43
|
* splitting on them shortens a hostile token into an acceptable one.
|
|
44
44
|
*/
|
|
45
45
|
export declare function extractTunnelUrl(text: string): string | null;
|
|
46
|
+
export declare function resolveBinary(name: string, env: NodeJS.ProcessEnv): string | null;
|
|
46
47
|
/**
|
|
47
48
|
* How cloudflared reaches Cloudflare's edge.
|
|
48
49
|
*
|
|
@@ -151,7 +151,7 @@ function jsonLineUrl(line) {
|
|
|
151
151
|
}
|
|
152
152
|
/** Bounded: a child that never prints a URL must not grow our memory. */
|
|
153
153
|
const MAX_BUFFERED_OUTPUT = 64 * 1024;
|
|
154
|
-
function resolveBinary(name, env) {
|
|
154
|
+
export function resolveBinary(name, env) {
|
|
155
155
|
if (name.includes("/"))
|
|
156
156
|
return isAbsolute(name) ? name : null;
|
|
157
157
|
for (const dir of (env.PATH ?? "").split(delimiter)) {
|
|
@@ -182,7 +182,7 @@ export class CloudflaredProvider {
|
|
|
182
182
|
return {
|
|
183
183
|
ok: false,
|
|
184
184
|
errorKind: "binary-missing",
|
|
185
|
-
detail: `${this.binaryName} is not on PATH
|
|
185
|
+
detail: `${this.binaryName} is not on PATH (and AgEnD's own copy was not provided).`,
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
188
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../src/tunnel/cloudflared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../src/tunnel/cloudflared.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -338,15 +338,16 @@ export interface LoginConfig {
|
|
|
338
338
|
}
|
|
339
339
|
/**
|
|
340
340
|
* `web_terminal.tunnel:` — the escape hatch for finishing a /login from somewhere that cannot
|
|
341
|
-
* reach this machine (a phone away from the desk).
|
|
342
|
-
*
|
|
341
|
+
* reach this machine (a phone away from the desk). Offered by default (#1137): each login asks
|
|
342
|
+
* first, and only flows marked `tunnelOk` may use it.
|
|
343
343
|
*/
|
|
344
344
|
export interface WebTerminalTunnelConfig {
|
|
345
345
|
/** The only provider today: a Cloudflare Quick Tunnel. */
|
|
346
346
|
provider?: "cloudflared";
|
|
347
347
|
/**
|
|
348
348
|
* Whether /login may offer to open a temporary public HTTPS link to its terminal.
|
|
349
|
-
*
|
|
349
|
+
* Unset or true: offered, and each login's button press is the consent (#1137).
|
|
350
|
+
* false: the operator's kill switch — never offered, cloudflared never downloaded.
|
|
350
351
|
*/
|
|
351
352
|
allow_public?: boolean;
|
|
352
353
|
/** How cloudflared reaches Cloudflare. Default http2 (QUIC is blocked on many networks); auto lets cloudflared choose. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@songsid/agend",
|
|
3
|
-
"version": "2.1.10-beta.
|
|
3
|
+
"version": "2.1.10-beta.6",
|
|
4
4
|
"description": "Multi-agent fleet daemon — run any coding CLI (Claude, Gemini, Codex, OpenCode) from Telegram",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"pino": "^10.3.1",
|
|
66
66
|
"pino-pretty": "^13.1.3",
|
|
67
67
|
"smol-toml": "1.9.0",
|
|
68
|
+
"undici": "6.24.1",
|
|
68
69
|
"yaml": "^2.9.0",
|
|
69
70
|
"zod": "^4.3.6"
|
|
70
71
|
},
|