@pedit/serve 0.8.4 → 0.8.5

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 CHANGED
@@ -85,10 +85,10 @@ below. Mount it with `app.route(path, routes)`.
85
85
  | --- | --- |
86
86
  | `upgradeWebSocket` | From the adapter, created on the parent app (`createNodeWebSocket({ app })`). |
87
87
  | `root` | The directory whose files may be served; realpath'd at startup, must exist. |
88
- | `origins` | The exact origins of your pages. Also used for the `Host` check. |
88
+ | `origins` | The exact origins of your pages (also used for the `Host` check), or a function `(origin, host) => boolean`; see [origins as a function](#origins-as-a-function). |
89
89
  | `app` | A label another process sees if it asks pedit for a file this app holds. |
90
90
  | `resolve(id, c)` | Maps an id to `{ path, role: 'edit' \| 'read' }` under `root`, or `null` for 404. Throw an `HTTPException` for anything else. |
91
- | `bin` | Absolute path to pedit. Default: `pedit` on the PATH. |
91
+ | `bin` | Absolute path to pedit, or `() => Promise<string>` that gives it, called each time a child starts (a pedit installed while the app runs is used by the next child; one already running keeps its binary). The answer gets the checks of a string `bin`, and a failure is a `NoPeditError`: `503` and an `error` event. Default: `pedit` on the PATH. |
92
92
  | `idleMs` | Stop the child this long after its last page left. Default 60 s. A shared file is never stopped for idleness. |
93
93
  | `graceMs` | How long a child may take to exit after its input closed, before SIGTERM. Default 5 s. On Windows it is then given up on, never killed. |
94
94
  | `allowRemote` | Accept peers that are not on loopback. Default `false`. |
@@ -130,6 +130,28 @@ child.
130
130
 
131
131
  For the room events, `id` is the one the routes last served that path under, or `null`.
132
132
 
133
+ ### Origins as a function
134
+
135
+ When the page origins are not known up front (a forwarded host such as `https://<name>.<domain>`), pass
136
+ a function instead of a list. It gets the request's `Origin` and its `Host` (lowercased) and returns
137
+ whether that page may open a room:
138
+
139
+ ```ts
140
+ origins: (origin, host) => /^[a-z0-9-]+\.example\.dev$/.test(host) && origin === `https://${host}`,
141
+ ```
142
+
143
+ Check both values. A wildcard domain can hold other people's pages, so accepting an origin alone would
144
+ let one of them open your rooms; the example accepts a page's own origin on its own host only.
145
+
146
+ The function must also pin the hosts it accepts, as the pattern above does. It is the only defence
147
+ against DNS rebinding: after a rebind the browser sends `Origin` equal to `scheme://Host`, so a check
148
+ that just echoes the Host back (`origin === \`http://${host}\``) accepts the rebound page.
149
+
150
+ With a function, both `POST /:id/session` and the `GET /:id/doc` upgrade need an `Origin` header
151
+ (`Sec-Fetch-Site: same-origin` does not stand in) and pass only when the function returns `true`.
152
+ There is no separate `Host` check: the function is it. A function that throws refuses the request
153
+ (403). The loopback check still applies. The type is exported as `OriginCheck` from `@pedit/serve/hono`.
154
+
133
155
  ## `@pedit/serve/client`
134
156
 
135
157
  ### `connect(base, id, options?)`
@@ -171,7 +193,7 @@ The layer below the routes, for an app that is not on Hono or wants its own tran
171
193
  ### `ServedFiles`
172
194
 
173
195
  `new ServedFiles({ bin, app, idleMs?, graceMs?, onEvent? })` (`ServedFilesOptions`; `bin` must be an
174
- absolute path). `acquire(path)` starts a child for the file or reuses the one running, and resolves a
196
+ absolute path, or a function that gives one when a child is about to start). `acquire(path)` starts a child for the file or reuses the one running, and resolves a
175
197
  `ServedFile`; `close()` ends every child. Its `onEvent` gets a `ServeEvent`, the same events as the
176
198
  routes but by `path` only: this layer knows paths, not ids, and reports every child.
177
199
 
@@ -187,7 +209,8 @@ routes but by `path` only: this layer knows paths, not ids, and reports every ch
187
209
  ### `resolvePedit(options?)`, `MIN_PEDIT_VERSION`, `peditVersionOk(output)`
188
210
 
189
211
  `resolvePedit({ bin?, install? })` finds pedit, checks the binary and its version, and resolves
190
- `{ bin, version, installed? }`. With `install: true` it downloads pedit when none is usable; see
212
+ `{ bin, version, installed? }`. With `install: true` it downloads pedit when none is usable, with
213
+ `install: 'never'` it also looks at the per-user copy but never downloads; see
191
214
  [installing pedit for the user](#installing-pedit-for-the-user). `peditVersionOk(output)` tells
192
215
  whether a `pedit --version` output is at least `MIN_PEDIT_VERSION` (development builds pass and are
193
216
  left to the feature checks).
@@ -304,11 +327,33 @@ never touched.
304
327
  - Updates are not automatic. Watch the `update_available` event; the per-user copy is an
305
328
  install-script-style copy, so `pedit self-update` (run as that user) updates it in place.
306
329
 
330
+ ### Asking the user first
331
+
332
+ `install` has three modes: absent or `false` looks at the PATH only; `'never'` looks at the PATH and then
333
+ the per-user copy, with the same checks, and never downloads; `true` also downloads when none is usable.
334
+ An explicit `bin` wins in every mode. To tell the user what will be downloaded before it happens, give
335
+ the routes a function, and install only after the user agrees:
336
+
337
+ ```js
338
+ const routes = peditRoutes({
339
+ /* ... */
340
+ bin: async () => (await resolvePedit({ install: 'never' })).bin,
341
+ })
342
+
343
+ // In the handler behind your "Install pedit" button, after the user agreed:
344
+ await resolvePedit({ install: true })
345
+ ```
346
+
347
+ The function is called when a child is about to start, so the next child uses the pedit that was just
348
+ installed, without making the routes again. Until then, starting a file fails with `NoPeditError`
349
+ (`503` and an `error` event), as with a missing `bin`. The function should settle in bounded time,
350
+ since an acquire waits for it (the `'never'` example is bounded by the 5 s `--version` timeout).
351
+
307
352
  ## Security model
308
353
 
309
354
  - One hook, `resolve`, decides which ids exist and their role. Every other request is refused by default.
310
355
  - Files must be under `root` (realpath checked); ids are `[A-Za-z0-9_-]` only, up to 128 characters.
311
- - Host and Origin must match `origins`, and peers must be on loopback unless `allowRemote` is set.
356
+ - Host and Origin must match `origins` (or pass its function), and peers must be on loopback unless `allowRemote` is set.
312
357
  - A session token is single use and expires in 60 s; it travels in the WebSocket URL, so log no `token`.
313
358
  - A `read` role is enforced by pedit itself, not just by the page: updates from a reader close the socket.
314
359
  - The browser never sees a path, a pid or a socket name.
package/dist/hono.d.ts CHANGED
@@ -2,21 +2,37 @@ import { type Context, type Env, Hono } from 'hono';
2
2
  import type { UpgradeWebSocket } from 'hono/ws';
3
3
  import type { CommentRange, CommentThread, Peer, Role, Shared, ShareOptions, ShareResult, ShareStatus, StartedThread } from './types.ts';
4
4
  export type { Role };
5
+ /**
6
+ * Decides from the request's `Origin` and `Host` (lowercased) whether a page may open a room.
7
+ * It is the only defence against DNS rebinding, so it must pin the hosts it accepts.
8
+ */
9
+ export type OriginCheck = (origin: string, host: string) => boolean;
5
10
  export interface PeditOptions<E extends Env = Env> {
6
11
  /** From the adapter, created on the PARENT app (`createNodeWebSocket({ app })`). */
7
12
  upgradeWebSocket: UpgradeWebSocket;
8
13
  /** realpath'd at startup; must exist. */
9
14
  root: string;
10
- /** Exact origins of the integrator's pages; also used for the Host check. */
11
- origins: string[];
15
+ /**
16
+ * Exact origins of the integrator's pages; also used for the Host check. Or a function for pages
17
+ * whose origins are not known up front: it gets the `Origin` and the `Host` and decides, so an
18
+ * app can accept a page's own origin on its own host only. Pin the hosts it accepts (for example
19
+ * `/^[a-z0-9-]+\.example\.dev$/.test(host) && origin === \`https://${host}\``): echoing the Host
20
+ * back with `http://` accepts a DNS-rebound page, whose Origin equals its Host. Both routes then need an `Origin`
21
+ * (`Sec-Fetch-Site` does not stand in) and there is no other Host check. A throw refuses.
22
+ */
23
+ origins: string[] | OriginCheck;
12
24
  app: string;
13
25
  /** Map an id to a file under `root`. null is 404; throw an HTTPException for anything else. */
14
26
  resolve: (id: string, c: Context<E>) => Promise<{
15
27
  path: string;
16
28
  role: Role;
17
29
  } | null>;
18
- /** Absolute path to pedit; default: `pedit` on the PATH. Config only. */
19
- bin?: string;
30
+ /**
31
+ * Absolute path to pedit; default: `pedit` on the PATH. Or a function that gives it, called when
32
+ * a child is about to start, so a pedit installed while the app runs is used by the next one.
33
+ * Config only.
34
+ */
35
+ bin?: string | (() => Promise<string>);
20
36
  idleMs?: number;
21
37
  /** How long a child may take to exit after its input closed (default 5 s) before SIGTERM; on Windows it is given up on, never killed. */
22
38
  graceMs?: number;
package/dist/hono.js CHANGED
@@ -4,7 +4,7 @@ import { stat } from 'node:fs/promises';
4
4
  import { isAbsolute, sep } from 'node:path';
5
5
  import { Hono } from 'hono';
6
6
  import { HTTPException } from 'hono/http-exception';
7
- import { HeldError } from "./errors.js";
7
+ import { HeldError, NoPeditError } from "./errors.js";
8
8
  import { nativeRealpath, nativeRealpathSync } from "./paths.js";
9
9
  import { resolvePedit } from "./resolve.js";
10
10
  import { ServedFiles } from "./served.js";
@@ -31,11 +31,15 @@ function validate(options) {
31
31
  throw new TypeError('resolve is required');
32
32
  if (!options.app)
33
33
  throw new TypeError('app must not be empty');
34
- if (!Array.isArray(options.origins) || options.origins.length === 0) {
35
- throw new TypeError('origins must list at least one origin');
36
- }
37
34
  const hosts = new Set();
38
- for (const o of options.origins) {
35
+ const list = options.origins;
36
+ let check;
37
+ if (typeof list === 'function')
38
+ check = list;
39
+ else if (!Array.isArray(list) || list.length === 0) {
40
+ throw new TypeError('origins must list at least one origin, or be a function');
41
+ }
42
+ for (const o of check ? [] : list) {
39
43
  let url;
40
44
  try {
41
45
  url = new URL(o);
@@ -57,7 +61,7 @@ function validate(options) {
57
61
  catch {
58
62
  throw new TypeError('root must be an existing directory');
59
63
  }
60
- return { root, hosts, origins: new Set(options.origins) };
64
+ return { root, hosts, origins: new Set(check ? [] : list), check };
61
65
  }
62
66
  /**
63
67
  * Component-wise: `root-private/x` is not under `root`. Both are native realpaths, so a prefix test
@@ -68,8 +72,37 @@ export function inside(root, path) {
68
72
  const prefix = root.endsWith(sep) ? root : root + sep;
69
73
  return path.length > prefix.length && path.startsWith(prefix);
70
74
  }
75
+ /** A bin function whose answer gets the checks of a string `bin`, and whose failure is a NoPeditError. */
76
+ function checkedBin(given) {
77
+ return async () => {
78
+ let path;
79
+ try {
80
+ path = await given();
81
+ }
82
+ catch (e) {
83
+ if (e instanceof NoPeditError)
84
+ throw e;
85
+ throw new NoPeditError(`pedit was not found: ${e instanceof Error ? e.message : String(e)}`);
86
+ }
87
+ if (typeof path !== 'string' || path === '') {
88
+ throw new NoPeditError('the bin function did not give a path');
89
+ }
90
+ return (await resolvePedit({ bin: path })).bin;
91
+ };
92
+ }
71
93
  export function peditRoutes(options) {
72
- const { root, hosts, origins } = validate(options);
94
+ const { root, hosts, origins, check } = validate(options);
95
+ /** With a function: an Origin is required and the function decides; a throw refuses. */
96
+ const checked = (c, origin) => {
97
+ if (origin === undefined)
98
+ return false;
99
+ try {
100
+ return check?.(origin, (c.req.header('host') ?? '').toLowerCase()) === true;
101
+ }
102
+ catch {
103
+ return false;
104
+ }
105
+ };
73
106
  const idByPath = new Map();
74
107
  const emit = (event) => {
75
108
  try {
@@ -80,7 +113,10 @@ export function peditRoutes(options) {
80
113
  let filesP;
81
114
  // Resolved on first use, so a missing binary is a 503 and an event, not a crash at startup.
82
115
  const getFiles = () => {
83
- filesP ??= resolvePedit({ bin: options.bin }).then(({ bin }) => new ServedFiles({
116
+ const { bin: given } = options;
117
+ filesP ??= (typeof given === 'function'
118
+ ? Promise.resolve({ bin: checkedBin(given) })
119
+ : resolvePedit({ bin: given })).then(({ bin }) => new ServedFiles({
84
120
  bin,
85
121
  app: options.app,
86
122
  idleMs: options.idleMs,
@@ -177,7 +213,7 @@ export function peditRoutes(options) {
177
213
  const id = c.req.param('id');
178
214
  if (!id || !ID.test(id))
179
215
  return c.notFound();
180
- if (!hosts.has((c.req.header('host') ?? '').toLowerCase()))
216
+ if (!check && !hosts.has((c.req.header('host') ?? '').toLowerCase()))
181
217
  return c.notFound();
182
218
  if (!options.allowRemote && !isLoopback(peerAddress(c)))
183
219
  return json(c, 403, 'forbidden');
@@ -189,7 +225,10 @@ export function peditRoutes(options) {
189
225
  const id = c.req.param('id');
190
226
  const origin = c.req.header('origin');
191
227
  const sameOrigin = c.req.header('sec-fetch-site') === 'same-origin';
192
- if (!(origin !== undefined && origins.has(origin)) && !sameOrigin) {
228
+ const ok = check
229
+ ? checked(c, origin)
230
+ : (origin !== undefined && origins.has(origin)) || sameOrigin;
231
+ if (!ok) {
193
232
  return json(c, 403, 'forbidden');
194
233
  }
195
234
  const who = createHash('sha256')
@@ -239,8 +278,9 @@ export function peditRoutes(options) {
239
278
  const origin = c.req.header('origin');
240
279
  if (c.req.header('upgrade')?.toLowerCase() !== 'websocket')
241
280
  return c.notFound();
242
- if (origin === undefined || !origins.has(origin))
281
+ if (check ? !checked(c, origin) : origin === undefined || !origins.has(origin)) {
243
282
  return json(c, 403, 'forbidden');
283
+ }
244
284
  // Get and delete before any await: a raced second upgrade finds nothing.
245
285
  const token = c.req.query('token') ?? '';
246
286
  const grant = tokens.get(token);
package/dist/hono.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hono.js","sourceRoot":"","sources":["../src/hono.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hono.js","sourceRoot":"","sources":["../src/hono.ts"],"names":[],"mappings":"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"}
package/dist/resolve.d.ts CHANGED
@@ -27,10 +27,13 @@ export declare function candidateNames(win?: boolean, pathext?: string | undefin
27
27
  * and only if that is missing or too old is the latest release downloaded there, after the checks
28
28
  * install.sh makes. A pedit outside that directory is never touched. `installed` says what was
29
29
  * downloaded, and whether the build provenance was checked (`verified`) or only the checksum.
30
+ *
31
+ * With `install: 'never'` the PATH and then the per-user copy are looked at, with the same checks,
32
+ * and nothing is downloaded: for an app that asks the user before it installs.
30
33
  */
31
34
  export declare function resolvePedit(options?: {
32
35
  bin?: string;
33
- install?: boolean;
36
+ install?: boolean | 'never';
34
37
  installTest?: InstallTestOptions;
35
38
  }): Promise<{
36
39
  bin: string;
package/dist/resolve.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { execFile } from 'node:child_process';
2
2
  import { constants } from 'node:fs';
3
- import { access, stat } from 'node:fs/promises';
3
+ import { access, lstat, stat } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { delimiter, isAbsolute, join } from 'node:path';
6
6
  import { NoPeditError } from "./errors.js";
@@ -130,16 +130,21 @@ async function inspect(given) {
130
130
  * and only if that is missing or too old is the latest release downloaded there, after the checks
131
131
  * install.sh makes. A pedit outside that directory is never touched. `installed` says what was
132
132
  * downloaded, and whether the build provenance was checked (`verified`) or only the checksum.
133
+ *
134
+ * With `install: 'never'` the PATH and then the per-user copy are looked at, with the same checks,
135
+ * and nothing is downloaded: for an app that asks the user before it installs.
133
136
  */
134
137
  export async function resolvePedit(options = {}) {
135
138
  if (!options.install || options.bin !== undefined)
136
139
  return inspect(options.bin ?? (await findOnPath()));
140
+ let pathError;
137
141
  try {
138
142
  return await inspect(await findOnPath());
139
143
  }
140
144
  catch (e) {
141
145
  if (!(e instanceof NoPeditError))
142
146
  throw e;
147
+ pathError = e;
143
148
  }
144
149
  const own = stateBin();
145
150
  try {
@@ -148,6 +153,11 @@ export async function resolvePedit(options = {}) {
148
153
  catch (e) {
149
154
  if (!(e instanceof NoPeditError))
150
155
  throw e;
156
+ // A missing per-user copy: the PATH's reason is the better one. A present one reports its own.
157
+ if (options.install === 'never')
158
+ throw (await lstat(own).then(() => true, () => false))
159
+ ? e
160
+ : pathError;
151
161
  }
152
162
  let installed;
153
163
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
package/dist/served.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import { type Bridge } from './bridge.ts';
2
2
  import type { CommentRange, Role, ServeEvent, ShareOptions, ShareResult, ShareStatus, StartedThread } from './types.ts';
3
3
  export interface ServedFilesOptions {
4
- bin: string;
4
+ /**
5
+ * Absolute path to pedit, or a function that gives it, called each time a child is about to start
6
+ * (a child already running keeps its binary).
7
+ */
8
+ bin: string | (() => Promise<string>);
5
9
  /** Shown by another pedit's refusal. */
6
10
  app: string;
7
11
  /** Stop the child this long after the last client left. Default 60 s. */
package/dist/served.js CHANGED
@@ -80,7 +80,7 @@ export class ServedFiles {
80
80
  #closed = false;
81
81
  #win;
82
82
  constructor(options) {
83
- if (!isAbsolute(options.bin))
83
+ if (typeof options.bin === 'string' && !isAbsolute(options.bin))
84
84
  throw new TypeError('bin must be an absolute path');
85
85
  if (!options.app)
86
86
  throw new TypeError('app is required');
@@ -113,15 +113,56 @@ export class ServedFiles {
113
113
  await entry.exited;
114
114
  continue;
115
115
  }
116
- if (!entry) {
117
- if (this.#byPath.size >= MAX_FILES)
118
- throw new LimitError('too many served files');
119
- entry = this.#start(real, ino);
120
- }
116
+ entry ??= await this.#startLater(real, ino);
117
+ if (!entry)
118
+ continue;
121
119
  await entry.ready;
122
120
  return entry.handle;
123
121
  }
124
122
  }
123
+ /** Starts that are waiting for `options.bin`, by real path and by `ino:<inode>`: one per file. */
124
+ #starting = new Map();
125
+ async #binPath() {
126
+ const given = this.#options.bin;
127
+ const bin = typeof given === 'string' ? given : await given();
128
+ if (!isAbsolute(bin))
129
+ throw new TypeError('bin must be an absolute path');
130
+ return bin;
131
+ }
132
+ /**
133
+ * Starts a child with the binary `options.bin` gives now. Undefined means look again: another
134
+ * acquire was starting this file (or a link to it), or the state changed while the function ran.
135
+ * Only one start per file waits for the function; the decision and the insertion that follow it
136
+ * run in one synchronous block.
137
+ */
138
+ async #startLater(real, ino) {
139
+ const inoKey = `ino:${ino}`;
140
+ const busy = this.#starting.get(real) ?? (ino === '' ? undefined : this.#starting.get(inoKey));
141
+ if (busy) {
142
+ await busy.catch(() => { });
143
+ return undefined;
144
+ }
145
+ if (this.#byPath.size >= MAX_FILES)
146
+ throw new LimitError('too many served files');
147
+ const resolving = this.#binPath();
148
+ const keys = ino === '' ? [real] : [real, inoKey];
149
+ for (const k of keys)
150
+ this.#starting.set(k, resolving);
151
+ let bin;
152
+ try {
153
+ bin = await resolving;
154
+ }
155
+ finally {
156
+ for (const k of keys)
157
+ this.#starting.delete(k);
158
+ }
159
+ if (this.#closed || this.#byPath.has(real) || (ino !== '' && this.#byIno.has(ino))) {
160
+ return undefined;
161
+ }
162
+ if (this.#byPath.size >= MAX_FILES)
163
+ throw new LimitError('too many served files');
164
+ return this.#start(real, ino, bin);
165
+ }
125
166
  /**
126
167
  * The entry that already serves this file under another name. An inode alias counts only while
127
168
  * the other path still has that inode: an atomic save gives the served path a new one and splits
@@ -131,7 +172,11 @@ export class ServedFiles {
131
172
  const alias = ino === '' ? undefined : this.#byIno.get(ino);
132
173
  if (alias === undefined || alias.path === real)
133
174
  return undefined;
134
- return (await inodeOf(alias.path).catch(() => '')) === ino ? alias : undefined;
175
+ if ((await inodeOf(alias.path).catch(() => '')) === ino)
176
+ return alias;
177
+ if (this.#byIno.get(ino) === alias)
178
+ this.#byIno.delete(ino); // stale: it was saved over
179
+ return undefined;
135
180
  }
136
181
  #reindex(entry, ino) {
137
182
  if (this.#byIno.get(entry.ino) === entry)
@@ -160,8 +205,8 @@ export class ServedFiles {
160
205
  }
161
206
  catch { }
162
207
  }
163
- #start(path, ino) {
164
- const child = spawn(this.#options.bin, [
208
+ #start(path, ino, bin) {
209
+ const child = spawn(bin, [
165
210
  'serve',
166
211
  '--stdio',
167
212
  '--root',
@@ -1 +1 @@
1
- {"version":3,"file":"served.js","sourceRoot":"","sources":["../src/served.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"served.js","sourceRoot":"","sources":["../src/served.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pedit/serve",
3
- "version": "0.8.4",
3
+ "version": "0.8.5",
4
4
  "description": "Run pedit serve for a local app: the file's Yjs document over the child's stdin and stdout, with Hono routes and a browser client",
5
5
  "keywords": [
6
6
  "pedit",