@pairlobby/local-server 0.24.0 → 0.27.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 +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/members.d.ts +52 -0
- package/dist/members.d.ts.map +1 -0
- package/dist/members.js +141 -0
- package/dist/members.js.map +1 -0
- package/dist/relay-main.js +30 -2
- package/dist/relay-main.js.map +1 -1
- package/dist/schema.d.ts +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +12 -0
- package/dist/schema.js.map +1 -1
- package/dist/server.d.ts +17 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +26 -10
- package/dist/server.js.map +1 -1
- package/dist/settings.d.ts +7 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +25 -7
- package/dist/settings.js.map +1 -1
- package/dist/sqlite-store.d.ts +4 -1
- package/dist/sqlite-store.d.ts.map +1 -1
- package/dist/sqlite-store.js +29 -1
- package/dist/sqlite-store.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# @pairlobby/local-server
|
|
2
2
|
|
|
3
|
-
Part of [PairLobby](https://github.com/PairLobby/app), built from `packages/local-server` at version 0.
|
|
3
|
+
Part of [PairLobby](https://github.com/PairLobby/app), built from `packages/local-server` at version 0.27.0. See that repository for documentation.
|
|
4
4
|
|
|
5
5
|
Licensed under the [Elastic License 2.0](LICENSE): you may use, copy, modify and distribute it, but may not offer it to others as a hosted or managed service.
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { MemberLookup, RelayMember } from '@pairlobby/server-core';
|
|
2
|
+
/** What a personal token starts with, so one is easy to tell from a team token or an account token. */
|
|
3
|
+
export declare const MEMBER_TOKEN_PREFIX = "plm_";
|
|
4
|
+
/** How often the relay looks at the file's modification time. */
|
|
5
|
+
export declare const MEMBERS_RELOAD_MS = 60000;
|
|
6
|
+
/** One line of the members file. */
|
|
7
|
+
export type MemberLine = {
|
|
8
|
+
handle: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
tokenSha256: string;
|
|
11
|
+
};
|
|
12
|
+
/** A members file the relay cannot use; the message names the line, never its content. */
|
|
13
|
+
export declare class MembersFileError extends Error {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
/** Lowercases and strips a leading `@`; null unless the result is a handle a member may have. */
|
|
17
|
+
export declare function memberHandle(value: string): string | null;
|
|
18
|
+
/** The members by token digest. Blank lines are skipped; a handle or a digest used twice is refused. */
|
|
19
|
+
export declare function parseMembers(text: string): Map<string, RelayMember>;
|
|
20
|
+
/** A fresh personal token. */
|
|
21
|
+
export declare function newMemberToken(): string;
|
|
22
|
+
export type IssuedMember = {
|
|
23
|
+
token: string;
|
|
24
|
+
line: MemberLine;
|
|
25
|
+
};
|
|
26
|
+
/** A token for `handle` and the line that admits it; the relay stores only the line. */
|
|
27
|
+
export declare function issueMemberToken(handle: string, name?: string): Promise<IssuedMember>;
|
|
28
|
+
export type MembersFileOptions = {
|
|
29
|
+
path: string;
|
|
30
|
+
/** One JSON line per reload outcome; never a handle list or a token. */
|
|
31
|
+
log?: (line: string) => void;
|
|
32
|
+
reloadMs?: number;
|
|
33
|
+
};
|
|
34
|
+
/** The members file as the relay sees it: read once at start, then again when its modification time or size changes. */
|
|
35
|
+
export declare class MembersFile {
|
|
36
|
+
private readonly options;
|
|
37
|
+
private members;
|
|
38
|
+
private stamp;
|
|
39
|
+
private timer;
|
|
40
|
+
constructor(options: MembersFileOptions);
|
|
41
|
+
readonly lookup: MemberLookup;
|
|
42
|
+
get size(): number;
|
|
43
|
+
/** Checks the file every `reloadMs` until `stop`. */
|
|
44
|
+
start(): void;
|
|
45
|
+
stop(): void;
|
|
46
|
+
/** Rereads the file when it changed, or always with `force`; a file it cannot use leaves the members as they were. */
|
|
47
|
+
reload(force?: boolean): void;
|
|
48
|
+
private read;
|
|
49
|
+
private currentStamp;
|
|
50
|
+
private log;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../src/members.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAEtE,uGAAuG;AACvG,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAKxC,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,CAAC;AAE9E,0FAA0F;AAC1F,qBAAa,gBAAiB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI9B;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wGAAwG;AACxG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAkCnE;AAED,8BAA8B;AAC9B,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,MAAM,MAAM,YAAY,GAAG;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC;AAE7D,wFAAwF;AACxF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ3F;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wHAAwH;AACxH,qBAAa,WAAW;IAKR,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAA+B;gBAEf,OAAO,EAAE,kBAAkB;IAKxD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAsD;IAEnF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qDAAqD;IACrD,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAOZ,sHAAsH;IACtH,MAAM,CAAC,KAAK,UAAQ,GAAG,IAAI;IAoB3B,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,GAAG;CAGd"}
|
package/dist/members.js
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
//! Personal tokens on a self-hosted relay. The members file holds one JSON line per
|
|
2
|
+
//! person, `{"handle":"damien","name":"Damien","tokenSha256":"..."}`, and never a token.
|
|
3
|
+
//! The relay rereads it when it changes, so adding or removing a line needs no restart,
|
|
4
|
+
//! and a broken file keeps the members it had.
|
|
5
|
+
import { randomBytes } from 'node:crypto';
|
|
6
|
+
import { readFileSync, statSync } from 'node:fs';
|
|
7
|
+
import { MemberHandle, hashCredential } from '@pairlobby/protocol';
|
|
8
|
+
/** What a personal token starts with, so one is easy to tell from a team token or an account token. */
|
|
9
|
+
export const MEMBER_TOKEN_PREFIX = 'plm_';
|
|
10
|
+
/** How often the relay looks at the file's modification time. */
|
|
11
|
+
export const MEMBERS_RELOAD_MS = 60_000;
|
|
12
|
+
/** Handles that would read as something else in a room, such as `@all`, or as the service. */
|
|
13
|
+
const RESERVED_HANDLES = new Set(['admin', 'all', 'everyone', 'guest', 'here', 'me', 'owner', 'pairlobby', 'root', 'system', 'team', 'claude', 'codex', 'qwen']);
|
|
14
|
+
/** A members file the relay cannot use; the message names the line, never its content. */
|
|
15
|
+
export class MembersFileError extends Error {
|
|
16
|
+
constructor(message) {
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = 'MembersFileError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Lowercases and strips a leading `@`; null unless the result is a handle a member may have. */
|
|
22
|
+
export function memberHandle(value) {
|
|
23
|
+
const handle = value.trim().replace(/^@/, '').toLowerCase();
|
|
24
|
+
return MemberHandle.safeParse(handle).success && !RESERVED_HANDLES.has(handle) ? handle : null;
|
|
25
|
+
}
|
|
26
|
+
/** The members by token digest. Blank lines are skipped; a handle or a digest used twice is refused. */
|
|
27
|
+
export function parseMembers(text) {
|
|
28
|
+
const members = new Map();
|
|
29
|
+
const handles = new Set();
|
|
30
|
+
const lines = text.split('\n');
|
|
31
|
+
for (const [index, raw] of lines.entries()) {
|
|
32
|
+
const line = raw.trim();
|
|
33
|
+
if (!line) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const where = `line ${index + 1} of the members file`;
|
|
37
|
+
let parsed;
|
|
38
|
+
try {
|
|
39
|
+
parsed = JSON.parse(line);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
throw new MembersFileError(`${where} is not JSON`);
|
|
43
|
+
}
|
|
44
|
+
const { handle, name, tokenSha256 } = (parsed ?? {});
|
|
45
|
+
const checked = typeof handle === 'string' ? memberHandle(handle) : null;
|
|
46
|
+
if (!checked || checked !== handle) {
|
|
47
|
+
throw new MembersFileError(`${where} needs a handle of 3 to 30 lowercase letters, digits, - and _, not a reserved one`);
|
|
48
|
+
}
|
|
49
|
+
if (typeof tokenSha256 !== 'string' || !/^[0-9a-f]{64}$/.test(tokenSha256)) {
|
|
50
|
+
throw new MembersFileError(`${where} needs tokenSha256, the token's SHA-256 in lowercase hex`);
|
|
51
|
+
}
|
|
52
|
+
if (name !== undefined && (typeof name !== 'string' || !name.trim() || name.length > 64 || /[\x00-\x1f\x7f]/.test(name))) {
|
|
53
|
+
throw new MembersFileError(`${where} has a name that is not plain text of at most 64 characters`);
|
|
54
|
+
}
|
|
55
|
+
if (handles.has(checked) || members.has(tokenSha256)) {
|
|
56
|
+
throw new MembersFileError(`${where} repeats a handle or a token already in the file`);
|
|
57
|
+
}
|
|
58
|
+
handles.add(checked);
|
|
59
|
+
members.set(tokenSha256, { handle: checked, ...(typeof name === 'string' ? { name: name.trim() } : {}) });
|
|
60
|
+
}
|
|
61
|
+
return members;
|
|
62
|
+
}
|
|
63
|
+
/** A fresh personal token. */
|
|
64
|
+
export function newMemberToken() {
|
|
65
|
+
return MEMBER_TOKEN_PREFIX + randomBytes(32).toString('base64url');
|
|
66
|
+
}
|
|
67
|
+
/** A token for `handle` and the line that admits it; the relay stores only the line. */
|
|
68
|
+
export async function issueMemberToken(handle, name) {
|
|
69
|
+
const checked = memberHandle(handle);
|
|
70
|
+
if (!checked) {
|
|
71
|
+
throw new MembersFileError(`"${handle}" is not a handle a member may have: 3 to 30 lowercase letters, digits, - and _, not a reserved one`);
|
|
72
|
+
}
|
|
73
|
+
const token = newMemberToken();
|
|
74
|
+
const trimmed = name?.trim();
|
|
75
|
+
return { token, line: { handle: checked, ...(trimmed ? { name: trimmed } : {}), tokenSha256: await hashCredential(token) } };
|
|
76
|
+
}
|
|
77
|
+
/** The members file as the relay sees it: read once at start, then again when its modification time or size changes. */
|
|
78
|
+
export class MembersFile {
|
|
79
|
+
options;
|
|
80
|
+
members;
|
|
81
|
+
stamp;
|
|
82
|
+
timer = null;
|
|
83
|
+
constructor(options) {
|
|
84
|
+
this.options = options;
|
|
85
|
+
this.members = parseMembers(this.read());
|
|
86
|
+
this.stamp = this.currentStamp();
|
|
87
|
+
}
|
|
88
|
+
lookup = async (digest) => this.members.get(digest) ?? null;
|
|
89
|
+
get size() {
|
|
90
|
+
return this.members.size;
|
|
91
|
+
}
|
|
92
|
+
/** Checks the file every `reloadMs` until `stop`. */
|
|
93
|
+
start() {
|
|
94
|
+
this.timer ??= setInterval(() => this.reload(), this.options.reloadMs ?? MEMBERS_RELOAD_MS);
|
|
95
|
+
this.timer.unref();
|
|
96
|
+
}
|
|
97
|
+
stop() {
|
|
98
|
+
if (this.timer) {
|
|
99
|
+
clearInterval(this.timer);
|
|
100
|
+
this.timer = null;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Rereads the file when it changed, or always with `force`; a file it cannot use leaves the members as they were. */
|
|
104
|
+
reload(force = false) {
|
|
105
|
+
let stamp;
|
|
106
|
+
try {
|
|
107
|
+
stamp = this.currentStamp();
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
this.log({ level: 'warn', event: 'members-unreadable', message: 'the members file cannot be read; keeping the members already loaded' });
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (!force && stamp === this.stamp) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
this.members = parseMembers(this.read());
|
|
118
|
+
this.stamp = stamp;
|
|
119
|
+
this.log({ level: 'info', event: 'members-reloaded', members: this.members.size });
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
this.log({ level: 'warn', event: 'members-invalid', message: `${error instanceof Error ? error.message : 'the members file is not valid'}; keeping the members already loaded` });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
read() {
|
|
126
|
+
try {
|
|
127
|
+
return readFileSync(this.options.path, 'utf8');
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
throw new MembersFileError(`the members file ${this.options.path} cannot be read`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
currentStamp() {
|
|
134
|
+
const { mtimeMs, size } = statSync(this.options.path);
|
|
135
|
+
return `${mtimeMs}:${size}`;
|
|
136
|
+
}
|
|
137
|
+
log(line) {
|
|
138
|
+
this.options.log?.(JSON.stringify({ ts: new Date().toISOString(), ...line }));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../src/members.ts"],"names":[],"mappings":"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"}
|
package/dist/relay-main.js
CHANGED
|
@@ -5,12 +5,15 @@
|
|
|
5
5
|
import { readFileSync } from 'node:fs';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
7
|
import { parseArgs } from 'node:util';
|
|
8
|
+
import { MembersFileError, issueMemberToken } from './members.js';
|
|
8
9
|
import { RelaySettingsError, relaySettings } from './settings.js';
|
|
9
10
|
const HELP = `pairlobby-relay: a PairLobby relay for a container or a service
|
|
10
11
|
|
|
11
12
|
pairlobby-relay run the relay with settings from PAIRLOBBY_* variables
|
|
12
13
|
pairlobby-relay check <url> check a deployed relay: health, invite address, create token,
|
|
13
14
|
then one test room through create, join, send, read and delete
|
|
15
|
+
pairlobby-relay member-token <handle> [--name <name>] [--json]
|
|
16
|
+
a personal token, shown once, and the line to add to the members file
|
|
14
17
|
pairlobby-relay --version
|
|
15
18
|
|
|
16
19
|
Settings (a flag wins over its variable)
|
|
@@ -23,6 +26,10 @@ Settings (a flag wins over its variable)
|
|
|
23
26
|
--backup <place> PAIRLOBBY_BACKUP s3://bucket/prefix or an absolute folder
|
|
24
27
|
--no-restore PAIRLOBBY_NO_RESTORE=1 start empty on an empty disk
|
|
25
28
|
PAIRLOBBY_CREATE_TOKEN(_FILE) token needed to create rooms
|
|
29
|
+
PAIRLOBBY_MEMBERS_FILE personal tokens, one JSON line per person;
|
|
30
|
+
reread on change and on SIGHUP
|
|
31
|
+
PAIRLOBBY_TEAM_TOKEN_LOGIN on (default) or off: whether the create token logs in
|
|
32
|
+
PAIRLOBBY_RECEIPT_MODE events, both (default) or watermark
|
|
26
33
|
See the guide for the rest: limits, allowed hosts, backup interval and S3 endpoint.
|
|
27
34
|
`;
|
|
28
35
|
function version() {
|
|
@@ -49,6 +56,19 @@ async function check(url, json) {
|
|
|
49
56
|
}
|
|
50
57
|
return steps.every((step) => step.ok) ? 0 : 1;
|
|
51
58
|
}
|
|
59
|
+
async function memberToken(handle, name, json) {
|
|
60
|
+
if (!handle) {
|
|
61
|
+
process.stderr.write('pairlobby-relay member-token needs the person\'s handle, such as damien\n');
|
|
62
|
+
return 2;
|
|
63
|
+
}
|
|
64
|
+
const { token, line } = await issueMemberToken(handle, name);
|
|
65
|
+
if (json) {
|
|
66
|
+
process.stdout.write(`${JSON.stringify({ handle: line.handle, token, line })}\n`);
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
process.stdout.write(`Token for @${line.handle}, shown once; give it to them for pairlobby login:\n\n ${token}\n\nAdd this line to the members file; the relay picks it up within a minute:\n\n ${JSON.stringify(line)}\n`);
|
|
70
|
+
return 0;
|
|
71
|
+
}
|
|
52
72
|
async function serve(flags, dataDir) {
|
|
53
73
|
const settings = relaySettings(flags, process.env);
|
|
54
74
|
if (!dataDir) {
|
|
@@ -66,14 +86,17 @@ async function serve(flags, dataDir) {
|
|
|
66
86
|
...(settings.publicUrl ? { publicUrl: settings.publicUrl } : {}),
|
|
67
87
|
...(settings.trustedProxyHeader ? { trustedProxyHeader: settings.trustedProxyHeader } : {}),
|
|
68
88
|
...(settings.createToken ? { createToken: settings.createToken } : {}),
|
|
89
|
+
...(settings.membersFile ? { members: { file: settings.membersFile, log: writeLine } } : {}),
|
|
90
|
+
...(settings.teamTokenLogin === false ? { teamTokenLogin: false } : {}),
|
|
69
91
|
allowedHosts: settings.allowedHosts,
|
|
70
92
|
limits: settings.limits,
|
|
71
93
|
roomLimits: settings.roomLimits,
|
|
72
94
|
discovery: settings.discovery,
|
|
73
95
|
...(settings.requestLog ? { requestLog: { mode: settings.requestLog, write: writeLine } } : {}),
|
|
96
|
+
...(settings.receiptMode ? { receiptMode: settings.receiptMode } : {}),
|
|
74
97
|
...(backup ? { backup } : {})
|
|
75
98
|
});
|
|
76
|
-
log({ level: 'info', event: 'start', version: version(), url: running.url, listening: `${running.host}:${running.port}`, dataFile: running.dataFile, createToken: Boolean(settings.createToken), loginMode: settings.discovery.loginMode, backup: backup?.target.description ?? null, restore: running.restore?.outcome ?? null });
|
|
99
|
+
log({ level: 'info', event: 'start', version: version(), url: running.url, listening: `${running.host}:${running.port}`, dataFile: running.dataFile, createToken: Boolean(settings.createToken), members: Boolean(settings.membersFile), loginMode: settings.discovery.loginMode, backup: backup?.target.description ?? null, restore: running.restore?.outcome ?? null });
|
|
77
100
|
if (!settings.createToken && !['127.0.0.1', '::1', 'localhost'].includes(host)) {
|
|
78
101
|
log({ level: 'warn', event: 'open-creation', message: 'anyone who can reach this relay can create rooms; set PAIRLOBBY_CREATE_TOKEN to require a token' });
|
|
79
102
|
}
|
|
@@ -84,6 +107,7 @@ async function serve(flags, dataDir) {
|
|
|
84
107
|
};
|
|
85
108
|
process.once('SIGINT', () => stop('SIGINT'));
|
|
86
109
|
process.once('SIGTERM', () => stop('SIGTERM'));
|
|
110
|
+
process.on('SIGHUP', () => running.reloadMembers());
|
|
87
111
|
});
|
|
88
112
|
log({ level: 'info', event: 'stop' });
|
|
89
113
|
return 0;
|
|
@@ -96,6 +120,7 @@ async function main(argv) {
|
|
|
96
120
|
help: { type: 'boolean', short: 'h' },
|
|
97
121
|
version: { type: 'boolean' },
|
|
98
122
|
json: { type: 'boolean' },
|
|
123
|
+
name: { type: 'string' },
|
|
99
124
|
'data-dir': { type: 'string' },
|
|
100
125
|
host: { type: 'string' },
|
|
101
126
|
port: { type: 'string' },
|
|
@@ -117,6 +142,9 @@ async function main(argv) {
|
|
|
117
142
|
if (positionals[0] === 'check') {
|
|
118
143
|
return check(positionals[1], values.json === true);
|
|
119
144
|
}
|
|
145
|
+
if (positionals[0] === 'member-token') {
|
|
146
|
+
return memberToken(positionals[1], values.name, values.json === true);
|
|
147
|
+
}
|
|
120
148
|
if (positionals.length > 0) {
|
|
121
149
|
process.stderr.write(`pairlobby-relay: unknown command "${positionals[0]}"\n\n${HELP}`);
|
|
122
150
|
return 2;
|
|
@@ -135,7 +163,7 @@ async function main(argv) {
|
|
|
135
163
|
main(process.argv.slice(2)).then((code) => {
|
|
136
164
|
process.exitCode = code;
|
|
137
165
|
}, (error) => {
|
|
138
|
-
const usage = error instanceof RelaySettingsError || error.code === 'ERR_PARSE_ARGS_UNKNOWN_OPTION';
|
|
166
|
+
const usage = error instanceof RelaySettingsError || error instanceof MembersFileError || error.code === 'ERR_PARSE_ARGS_UNKNOWN_OPTION';
|
|
139
167
|
log({ level: 'error', event: usage ? 'bad-settings' : 'failed', message: error instanceof Error ? error.message : String(error) });
|
|
140
168
|
process.exitCode = usage ? 2 : 1;
|
|
141
169
|
});
|
package/dist/relay-main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-main.js","sourceRoot":"","sources":["../src/relay-main.ts"],"names":[],"mappings":";AACA,0FAA0F;AAC1F,wFAAwF;AACxF,4DAA4D;AAE5D,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAKhE,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"relay-main.js","sourceRoot":"","sources":["../src/relay-main.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const SCHEMA_VERSION = 1;
|
|
2
|
-
export declare const SCHEMA = "\nCREATE TABLE IF NOT EXISTS meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS rooms (\n room_id TEXT PRIMARY KEY,\n earliest_seq INTEGER NOT NULL DEFAULT 1,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS rooms_by_auto_close ON rooms (json_extract(body, '$.autoCloseAt')) WHERE json_extract(body, '$.lifecycle') = 'open' AND json_extract(body, '$.autoCloseAt') IS NOT NULL;\n\nCREATE TABLE IF NOT EXISTS participants (\n participant_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n credential_hash TEXT NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS participants_by_room ON participants (room_id);\nCREATE UNIQUE INDEX IF NOT EXISTS participants_by_credential ON participants (room_id, credential_hash);\n\nCREATE TABLE IF NOT EXISTS events (\n room_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n body TEXT NOT NULL,\n PRIMARY KEY (room_id, seq)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS idempotency (\n room_id TEXT NOT NULL,\n key TEXT NOT NULL,\n request_digest TEXT NOT NULL,\n seq INTEGER NOT NULL,\n PRIMARY KEY (room_id, key)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS handovers (\n handover_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS handovers_by_room ON handovers (room_id);\n\nCREATE TABLE IF NOT EXISTS controls (\n room_id TEXT NOT NULL,\n target_participant_id TEXT NOT NULL,\n body TEXT NOT NULL,\n PRIMARY KEY (room_id, target_participant_id)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS invites (\n digest TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n state TEXT NOT NULL,\n bound_attempt_id TEXT,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS invites_by_room ON invites (room_id);\n\nCREATE TABLE IF NOT EXISTS message_requests (\n event_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n received_at INTEGER,\n response_event_id TEXT,\n requires_reply INTEGER NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS message_requests_pending ON message_requests(room_id,seq) WHERE requires_reply=1 AND response_event_id IS NULL;\nCREATE INDEX IF NOT EXISTS message_requests_group ON message_requests(room_id,json_extract(body,'$.conversationId'));\n\nCREATE TABLE IF NOT EXISTS files (\n file_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n size INTEGER NOT NULL,\n created_at INTEGER NOT NULL,\n event_id TEXT,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS files_by_room ON files (room_id, created_at);\n\nCREATE TABLE IF NOT EXISTS file_chunks (\n file_id TEXT NOT NULL,\n idx INTEGER NOT NULL,\n bytes BLOB NOT NULL,\n PRIMARY KEY (file_id, idx)\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS events_message_id ON events(room_id,json_extract(body,'$.eventId'));\nCREATE INDEX IF NOT EXISTS events_reply_to ON events(room_id,json_extract(body,'$.replyTo')) WHERE json_extract(body,'$.type')='message';\nCREATE INDEX IF NOT EXISTS events_receipt_to ON events(room_id,json_extract(body,'$.payload.eventId')) WHERE json_extract(body,'$.type')='message.received';\n";
|
|
2
|
+
export declare const SCHEMA = "\nCREATE TABLE IF NOT EXISTS meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS rooms (\n room_id TEXT PRIMARY KEY,\n earliest_seq INTEGER NOT NULL DEFAULT 1,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS rooms_by_auto_close ON rooms (json_extract(body, '$.autoCloseAt')) WHERE json_extract(body, '$.lifecycle') = 'open' AND json_extract(body, '$.autoCloseAt') IS NOT NULL;\n\nCREATE TABLE IF NOT EXISTS participants (\n participant_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n credential_hash TEXT NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS participants_by_room ON participants (room_id);\nCREATE UNIQUE INDEX IF NOT EXISTS participants_by_credential ON participants (room_id, credential_hash);\n\nCREATE TABLE IF NOT EXISTS events (\n room_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n body TEXT NOT NULL,\n PRIMARY KEY (room_id, seq)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS idempotency (\n room_id TEXT NOT NULL,\n key TEXT NOT NULL,\n request_digest TEXT NOT NULL,\n seq INTEGER NOT NULL,\n PRIMARY KEY (room_id, key)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS handovers (\n handover_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS handovers_by_room ON handovers (room_id);\n\nCREATE TABLE IF NOT EXISTS controls (\n room_id TEXT NOT NULL,\n target_participant_id TEXT NOT NULL,\n body TEXT NOT NULL,\n PRIMARY KEY (room_id, target_participant_id)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS invites (\n digest TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n state TEXT NOT NULL,\n bound_attempt_id TEXT,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS invites_by_room ON invites (room_id);\n\nCREATE TABLE IF NOT EXISTS message_requests (\n event_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n seq INTEGER NOT NULL,\n received_at INTEGER,\n response_event_id TEXT,\n requires_reply INTEGER NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS message_requests_pending ON message_requests(room_id,seq) WHERE requires_reply=1 AND response_event_id IS NULL;\nCREATE INDEX IF NOT EXISTS message_requests_group ON message_requests(room_id,json_extract(body,'$.conversationId'));\nCREATE INDEX IF NOT EXISTS message_requests_unreceived ON message_requests(room_id,seq) WHERE received_at IS NULL;\n\nCREATE TABLE IF NOT EXISTS files (\n file_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n size INTEGER NOT NULL,\n created_at INTEGER NOT NULL,\n event_id TEXT,\n body TEXT NOT NULL\n) STRICT;\nCREATE INDEX IF NOT EXISTS files_by_room ON files (room_id, created_at);\n\nCREATE TABLE IF NOT EXISTS file_chunks (\n file_id TEXT NOT NULL,\n idx INTEGER NOT NULL,\n bytes BLOB NOT NULL,\n PRIMARY KEY (file_id, idx)\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS events_message_id ON events(room_id,json_extract(body,'$.eventId'));\nCREATE INDEX IF NOT EXISTS events_reply_to ON events(room_id,json_extract(body,'$.replyTo')) WHERE json_extract(body,'$.type')='message';\nCREATE INDEX IF NOT EXISTS events_receipt_to ON events(room_id,json_extract(body,'$.payload.eventId')) WHERE json_extract(body,'$.type')='message.received';\nCREATE INDEX IF NOT EXISTS events_by_sender ON events(room_id,json_extract(body,'$.senderId'),seq) WHERE json_extract(body,'$.type')='message';\n\nCREATE TABLE IF NOT EXISTS listings (\n listing_id TEXT PRIMARY KEY,\n room_id TEXT NOT NULL,\n participant_id TEXT NOT NULL,\n owner TEXT NOT NULL,\n body TEXT NOT NULL\n) STRICT;\nCREATE UNIQUE INDEX IF NOT EXISTS listings_by_participant ON listings (room_id, participant_id);\nCREATE INDEX IF NOT EXISTS listings_by_owner ON listings (owner);\n";
|
|
3
3
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,MAAM,k9HAwGlB,CAAC"}
|
package/dist/schema.js
CHANGED
|
@@ -73,6 +73,7 @@ CREATE TABLE IF NOT EXISTS message_requests (
|
|
|
73
73
|
) STRICT;
|
|
74
74
|
CREATE INDEX IF NOT EXISTS message_requests_pending ON message_requests(room_id,seq) WHERE requires_reply=1 AND response_event_id IS NULL;
|
|
75
75
|
CREATE INDEX IF NOT EXISTS message_requests_group ON message_requests(room_id,json_extract(body,'$.conversationId'));
|
|
76
|
+
CREATE INDEX IF NOT EXISTS message_requests_unreceived ON message_requests(room_id,seq) WHERE received_at IS NULL;
|
|
76
77
|
|
|
77
78
|
CREATE TABLE IF NOT EXISTS files (
|
|
78
79
|
file_id TEXT PRIMARY KEY,
|
|
@@ -94,5 +95,16 @@ CREATE TABLE IF NOT EXISTS file_chunks (
|
|
|
94
95
|
CREATE INDEX IF NOT EXISTS events_message_id ON events(room_id,json_extract(body,'$.eventId'));
|
|
95
96
|
CREATE INDEX IF NOT EXISTS events_reply_to ON events(room_id,json_extract(body,'$.replyTo')) WHERE json_extract(body,'$.type')='message';
|
|
96
97
|
CREATE INDEX IF NOT EXISTS events_receipt_to ON events(room_id,json_extract(body,'$.payload.eventId')) WHERE json_extract(body,'$.type')='message.received';
|
|
98
|
+
CREATE INDEX IF NOT EXISTS events_by_sender ON events(room_id,json_extract(body,'$.senderId'),seq) WHERE json_extract(body,'$.type')='message';
|
|
99
|
+
|
|
100
|
+
CREATE TABLE IF NOT EXISTS listings (
|
|
101
|
+
listing_id TEXT PRIMARY KEY,
|
|
102
|
+
room_id TEXT NOT NULL,
|
|
103
|
+
participant_id TEXT NOT NULL,
|
|
104
|
+
owner TEXT NOT NULL,
|
|
105
|
+
body TEXT NOT NULL
|
|
106
|
+
) STRICT;
|
|
107
|
+
CREATE UNIQUE INDEX IF NOT EXISTS listings_by_participant ON listings (room_id, participant_id);
|
|
108
|
+
CREATE INDEX IF NOT EXISTS listings_by_owner ON listings (owner);
|
|
97
109
|
`;
|
|
98
110
|
//# sourceMappingURL=schema.js.map
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,2BAA2B;AAE3B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,2BAA2B;AAE3B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGrB,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AdmissionLimits } from '@pairlobby/server-core';
|
|
2
|
-
import type { RoomPolicy } from '@pairlobby/protocol';
|
|
2
|
+
import type { ReceiptMode, RoomPolicy } from '@pairlobby/protocol';
|
|
3
3
|
import type { BackupScheduleOptions, RestoreResult } from './backup.js';
|
|
4
4
|
import type { RequestLogOptions } from './request-log.js';
|
|
5
5
|
import type { RelayDiscovery } from './settings.js';
|
|
@@ -23,6 +23,17 @@ export interface ServeOptions {
|
|
|
23
23
|
version?: string;
|
|
24
24
|
/** When set, creating a room needs this token; joining with an invite never does. Read it from the environment, never a command line. */
|
|
25
25
|
createToken?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Personal tokens: the members file, reread when it changes. Each token creates rooms like the
|
|
28
|
+
* create token, logs in as its member, and names that member on the rooms they create and join.
|
|
29
|
+
*/
|
|
30
|
+
members?: {
|
|
31
|
+
file: string;
|
|
32
|
+
log?: (line: string) => void;
|
|
33
|
+
reloadMs?: number;
|
|
34
|
+
};
|
|
35
|
+
/** False when the create token no longer logs people in, beside personal tokens. */
|
|
36
|
+
teamTokenLogin?: boolean;
|
|
26
37
|
/**
|
|
27
38
|
* The header a load balancer in front of this relay puts the caller's address in, such as
|
|
28
39
|
* `x-forwarded-for`. Only set it when every request comes through that proxy: a caller
|
|
@@ -35,9 +46,11 @@ export interface ServeOptions {
|
|
|
35
46
|
roomLimits?: Partial<RoomPolicy>;
|
|
36
47
|
/**
|
|
37
48
|
* Serve `GET /.well-known/pairlobby.json`, and with `loginMode: 'token'` (which needs
|
|
38
|
-
* `createToken`) the
|
|
49
|
+
* `createToken` or `members`) the token check `GET /api/online/account`. Absent serves neither.
|
|
39
50
|
*/
|
|
40
51
|
discovery?: RelayDiscovery;
|
|
52
|
+
/** How plain receipts are kept: `both` (default) until every client in use reads watermarks, then `watermark`. */
|
|
53
|
+
receiptMode?: ReceiptMode;
|
|
41
54
|
/** One JSON line per request for a log collector; absent logs nothing. */
|
|
42
55
|
requestLog?: RequestLogOptions;
|
|
43
56
|
/** Copies the database while it runs and once more on close; on a disk with no database, the newest copy is restored first unless `restore` is false. */
|
|
@@ -56,6 +69,8 @@ export interface RunningServer {
|
|
|
56
69
|
dataFile: string;
|
|
57
70
|
/** What happened to the backup on start, when backups are on. */
|
|
58
71
|
restore?: RestoreResult;
|
|
72
|
+
/** Rereads the members file now, as on `SIGHUP`; nothing when there is none. */
|
|
73
|
+
reloadMembers(): void;
|
|
59
74
|
close(): Promise<void>;
|
|
60
75
|
}
|
|
61
76
|
/** The port a relay listens on unless told otherwise, and the one other devices try when searching a tailnet. */
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,eAAe,EAAsE,MAAM,wBAAwB,CAAC;AAEjI,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAKjE,OAAO,KAAK,EAAiB,qBAAqB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAIlD,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;IAC5B,iHAAiH;IACjH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wGAAwG;IACxG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yIAAyI;IACzI,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC1E,oFAAoF;IACpF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iIAAiI;IACjI,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,4GAA4G;IAC5G,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,kHAAkH;IAClH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,yJAAyJ;IACzJ,MAAM,CAAC,EAAE,qBAAqB,GAAG;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,mGAAmG;IACnG,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,+FAA+F;IAC/F,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gFAAgF;IAChF,aAAa,IAAI,IAAI,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AA2BD,iHAAiH;AACjH,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAQ/E;AAqID,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhF"}
|
package/dist/server.js
CHANGED
|
@@ -10,6 +10,7 @@ import { ABSOLUTE_MAX_FILE_BYTES, DEFAULT_ROOM_POLICY } from '@pairlobby/protoco
|
|
|
10
10
|
import { advertiseRelay, isLocalNetworkAddress, isLoopbackAddress, isTailscaleAddress } from './network.js';
|
|
11
11
|
import { REQUEST_ID_HEADER, requestIdFor, requestLogLine, shouldLog } from './request-log.js';
|
|
12
12
|
import { restoreLatest, startBackups } from './backup.js';
|
|
13
|
+
import { MembersFile } from './members.js';
|
|
13
14
|
import { SqliteRoomStore } from './sqlite-store.js';
|
|
14
15
|
/** Non-file endpoints retain the smaller bound; the file-upload route may use the explicit file ceiling. */
|
|
15
16
|
const DEFAULT_MAX_REQUEST_BYTES = 32 * 1024 * 1024;
|
|
@@ -20,16 +21,18 @@ function requestBodyLimit(incoming) {
|
|
|
20
21
|
return incoming.method === 'POST' && /^\/v1\/rooms\/[^/]+\/files$/.test(path ?? '') ? ABSOLUTE_MAX_FILE_BYTES : DEFAULT_MAX_REQUEST_BYTES;
|
|
21
22
|
}
|
|
22
23
|
/** The discovery document: `relays` empty means "this origin", and `features` are only what this relay really has. */
|
|
23
|
-
function discoveryDocument(settings, publicUrl, files) {
|
|
24
|
+
function discoveryDocument(settings, publicUrl, files, members) {
|
|
24
25
|
return {
|
|
25
26
|
version: 1,
|
|
26
27
|
...(settings.name ? { name: settings.name } : {}),
|
|
27
|
-
login: settings.loginMode === 'token' ? { mode: 'token', ...(settings.loginHelp ? { tokenHelp: settings.loginHelp } : {}), verify: '/api/online/account' } : { mode: 'none' },
|
|
28
|
+
login: settings.loginMode === 'token' ? { mode: 'token', ...(settings.loginHelp ? { tokenHelp: settings.loginHelp } : {}), verify: '/api/online/account', ...(members ? { members: true } : {}) } : { mode: 'none' },
|
|
28
29
|
relays: publicUrl ? [publicUrl] : [],
|
|
29
30
|
features: ['message-stages', ...(files ? ['files'] : [])],
|
|
30
31
|
...(settings.supportUrl ? { support: settings.supportUrl } : {})
|
|
31
32
|
};
|
|
32
33
|
}
|
|
34
|
+
/** How often the relay deletes listings whose room or agent is gone; readers skip them already. */
|
|
35
|
+
const DIRECTORY_SWEEP_MS = 60 * 60_000;
|
|
33
36
|
/** The port a relay listens on unless told otherwise, and the one other devices try when searching a tailnet. */
|
|
34
37
|
export const DEFAULT_PORT = 8790;
|
|
35
38
|
export async function startServer(options) {
|
|
@@ -47,7 +50,7 @@ function listen(options, restore) {
|
|
|
47
50
|
const store = new SqliteRoomStore(options.dataFile);
|
|
48
51
|
// Every write goes through this one process, so it can wake the reads waiting on a room.
|
|
49
52
|
const changes = new ChangeNotifier();
|
|
50
|
-
const service = new RoomService(new NotifyingStore(store, changes), undefined, undefined, { ...DEFAULT_ROOM_POLICY, ...options.roomLimits });
|
|
53
|
+
const service = new RoomService(new NotifyingStore(store, changes), undefined, undefined, { ...DEFAULT_ROOM_POLICY, ...options.roomLimits }, options.receiptMode ? { receiptMode: options.receiptMode } : {});
|
|
51
54
|
// Loopback is not authentication: a page in the user's browser can reach it too.
|
|
52
55
|
// Host is pinned to defeat DNS rebinding, and an unexpected Origin is refused.
|
|
53
56
|
// A server listening on every interface also answers to this machine's own
|
|
@@ -71,19 +74,28 @@ function listen(options, restore) {
|
|
|
71
74
|
const peerIsLocal = (_request, context) => isLocalNetworkAddress(context.peerAddress ?? '');
|
|
72
75
|
const localRooms = async (name) => store.localJoinRooms(name);
|
|
73
76
|
const exempt = (_request, context) => !behindProxy && isLoopbackAddress(context.peerAddress ?? '');
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
throw new Error('token-mode login needs a create token: it is the team token people log in with');
|
|
77
|
+
if (options.discovery?.loginMode === 'token' && !options.createToken && !options.members) {
|
|
78
|
+
throw new Error('token-mode login needs a create token or a members file: they are the tokens people log in with');
|
|
77
79
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
if (options.members && options.discovery?.loginMode !== 'token') {
|
|
81
|
+
throw new Error('a members file needs token-mode login: it is how people log in with their own tokens');
|
|
82
|
+
}
|
|
83
|
+
const members = options.members ? new MembersFile({ path: options.members.file, ...(options.members.log ? { log: options.members.log } : {}), ...(options.members.reloadMs ? { reloadMs: options.members.reloadMs } : {}) }) : null;
|
|
84
|
+
const admission = createAdmission({ ...(options.createToken ? { createToken: options.createToken } : {}), ...(members ? { members: members.lookup } : {}), ...(options.teamTokenLogin === false ? { teamTokenLogin: false } : {}), limiter: memoryRateLimiter(), ...(options.limits ? { limits: options.limits } : {}), ...(options.trustedProxyHeader ? { trustedProxyHeader: options.trustedProxyHeader } : {}), exempt });
|
|
85
|
+
const discovery = options.discovery ? discoveryDocument(options.discovery, options.publicUrl, store.files !== undefined, members !== null) : undefined;
|
|
86
|
+
// The room address a login leads to: the advertised one, else the address the caller used.
|
|
87
|
+
const accountCheck = options.discovery?.loginMode === 'token' ? (request, member) => {
|
|
88
|
+
const account = { email: null, name: options.discovery?.name ?? null, server: options.publicUrl ?? new URL(request.url).origin };
|
|
89
|
+
return member ? { ...account, userId: `member:${member.handle}`, handle: member.handle } : { ...account, userId: 'team', handle: null };
|
|
90
|
+
} : undefined;
|
|
81
91
|
// One store behind one process: one queue keeps two writes from choosing the same next event sequence.
|
|
82
92
|
const executor = queueExecutor();
|
|
83
93
|
// One timer for the whole relay, aimed at the earliest auto-close deadline; every write plans it again.
|
|
84
94
|
const scheduler = timerScheduler(() => void relay.tick('auto-close'));
|
|
85
|
-
const relay = createRelay({ service, executor, scheduler, behindProxy, allowedOrigins: options.allowedOrigins ?? [], allowedHosts: acceptHost, serverInfo, changes, inviteProbe, peerIsLocal, localRooms, admission, ...(discovery ? { discovery: () => discovery } : {}), ...(accountCheck ? { accountCheck } : {}) });
|
|
95
|
+
const relay = createRelay({ service, executor, scheduler, behindProxy, allowedOrigins: options.allowedOrigins ?? [], allowedHosts: acceptHost, serverInfo, changes, inviteProbe, peerIsLocal, localRooms, admission, directory: store.directory, ...(discovery ? { discovery: () => discovery } : {}), ...(accountCheck ? { accountCheck } : {}) });
|
|
86
96
|
void relay.tick('auto-close');
|
|
97
|
+
const sweep = members ? setInterval(() => void relay.tick('directory-sweep').catch(() => { }), DIRECTORY_SWEEP_MS) : undefined;
|
|
98
|
+
sweep?.unref();
|
|
87
99
|
const health = JSON.stringify({ service: 'pairlobby-relay', ready: true, ...(options.version ? { version: options.version } : {}) });
|
|
88
100
|
const server = createHttpServer((incoming, outgoing) => {
|
|
89
101
|
// Answered before the Host check and the write queue: a load balancer probes by address, and a busy relay is still alive.
|
|
@@ -115,6 +127,7 @@ function listen(options, restore) {
|
|
|
115
127
|
stopAdvertising = advertiseRelay(boundPort);
|
|
116
128
|
}
|
|
117
129
|
backups = options.backup ? startBackups({ ...options.backup, source: store, dataFile: options.dataFile }) : null;
|
|
130
|
+
members?.start();
|
|
118
131
|
resolve({
|
|
119
132
|
url: options.publicUrl ?? `http://${wildcard ? '127.0.0.1' : host}:${boundPort}`,
|
|
120
133
|
shareUrls: shareUrls(host, boundPort, options.publicUrl, tailscaleOnly),
|
|
@@ -123,7 +136,10 @@ function listen(options, restore) {
|
|
|
123
136
|
port: boundPort,
|
|
124
137
|
dataFile: options.dataFile,
|
|
125
138
|
...(restore ? { restore } : {}),
|
|
139
|
+
reloadMembers: () => members?.reload(true),
|
|
126
140
|
close: () => {
|
|
141
|
+
members?.stop();
|
|
142
|
+
clearInterval(sweep);
|
|
127
143
|
scheduler.stop();
|
|
128
144
|
changes.close();
|
|
129
145
|
stopAdvertising();
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RoomPolicy } from '@pairlobby/protocol';
|
|
1
|
+
import type { ReceiptMode, RoomPolicy } from '@pairlobby/protocol';
|
|
2
2
|
import type { AdmissionLimits } from '@pairlobby/server-core';
|
|
3
3
|
import type { RequestLogMode } from './request-log.js';
|
|
4
4
|
/** A setting the relay cannot start with; the message names the flag or variable that holds it. */
|
|
@@ -21,12 +21,18 @@ export type RelaySettings = {
|
|
|
21
21
|
publicUrl?: string;
|
|
22
22
|
trustedProxyHeader?: string;
|
|
23
23
|
createToken?: string;
|
|
24
|
+
/** The members file: one JSON line per person who logs in with their own token. */
|
|
25
|
+
membersFile?: string;
|
|
26
|
+
/** False when the create token no longer logs people in, so every login names a member. */
|
|
27
|
+
teamTokenLogin?: boolean;
|
|
24
28
|
/** Exact Host values to accept beyond the relay's own, such as an internal DNS name. */
|
|
25
29
|
allowedHosts: string[];
|
|
26
30
|
limits: Partial<AdmissionLimits>;
|
|
27
31
|
/** Caps every new room gets; unset ones keep the built-in defaults. */
|
|
28
32
|
roomLimits: Partial<RoomLimits>;
|
|
29
33
|
requestLog?: RequestLogMode;
|
|
34
|
+
/** How plain receipts are kept; unset keeps the relay's default, `both`. */
|
|
35
|
+
receiptMode?: ReceiptMode;
|
|
30
36
|
backup?: RelayBackupSettings;
|
|
31
37
|
/** What `GET /.well-known/pairlobby.json` says, and whether the relay offers token-mode login. */
|
|
32
38
|
discovery: RelayDiscovery;
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAErD,mGAAmG;AACnG,qBAAa,kBAAmB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI9B;AAED,MAAM,MAAM,UAAU,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC;AAEpK,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACjC,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,kGAAkG;IAClG,SAAS,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,uHAAuH;AACvH,MAAM,MAAM,cAAc,GAAG;IAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAEnH,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC;AAEjH,MAAM,MAAM,cAAc,GAAG;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAE3G,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,cAAc,GAAG,sBAAsB,CAAC,CAAC;AAEhL,KAAK,MAAM,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AA0BhD,qEAAqE;AACrE,eAAO,MAAM,eAAe,UAAkf,CAAC;AAW/gB,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAA+D,GAAG,MAAM,CAW7H;AAoCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,GAAG,aAAa,CAgE7F;AAyED,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAQxE"}
|
package/dist/settings.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//! PAIRLOBBY_* variables; a flag wins over its variable. Nothing here opens a database,
|
|
4
4
|
//! so a command can check its settings without loading the relay.
|
|
5
5
|
import { readFileSync, statSync } from 'node:fs';
|
|
6
|
-
import { ABSOLUTE_MAX_FILE_BYTES } from '@pairlobby/protocol';
|
|
6
|
+
import { ABSOLUTE_MAX_FILE_BYTES, RECEIPT_MODES } from '@pairlobby/protocol';
|
|
7
7
|
/** A setting the relay cannot start with; the message names the flag or variable that holds it. */
|
|
8
8
|
export class RelaySettingsError extends Error {
|
|
9
9
|
constructor(message) {
|
|
@@ -28,9 +28,9 @@ const LIMIT_VARIABLES = {
|
|
|
28
28
|
redeemPerMinuteGlobal: 'PAIRLOBBY_LIMIT_REDEEM_PER_MIN_GLOBAL',
|
|
29
29
|
accountCheckPerMinutePerAddress: 'PAIRLOBBY_LIMIT_ACCOUNT_CHECK_PER_MIN_IP'
|
|
30
30
|
};
|
|
31
|
-
const DISCOVERY_VARIABLES = ['PAIRLOBBY_DISCOVERY_NAME', 'PAIRLOBBY_LOGIN_MODE', 'PAIRLOBBY_LOGIN_HELP', 'PAIRLOBBY_SUPPORT_URL'];
|
|
31
|
+
const DISCOVERY_VARIABLES = ['PAIRLOBBY_DISCOVERY_NAME', 'PAIRLOBBY_LOGIN_MODE', 'PAIRLOBBY_LOGIN_HELP', 'PAIRLOBBY_SUPPORT_URL', 'PAIRLOBBY_MEMBERS_FILE', 'PAIRLOBBY_TEAM_TOKEN_LOGIN'];
|
|
32
32
|
/** Every variable `serve` reads, for help text and documentation. */
|
|
33
|
-
export const RELAY_VARIABLES = ['PAIRLOBBY_HOST', 'PAIRLOBBY_PORT', 'PAIRLOBBY_DATA_DIR', 'PAIRLOBBY_PUBLIC_URL', 'PAIRLOBBY_TRUSTED_PROXY_HEADER', 'PAIRLOBBY_ALLOWED_HOSTS', 'PAIRLOBBY_CREATE_TOKEN', 'PAIRLOBBY_CREATE_TOKEN_FILE', 'PAIRLOBBY_REQUEST_LOG', 'PAIRLOBBY_BACKUP', 'PAIRLOBBY_BACKUP_INTERVAL', 'PAIRLOBBY_BACKUP_KEEP', 'PAIRLOBBY_BACKUP_S3_ENDPOINT', 'PAIRLOBBY_NO_RESTORE', ...DISCOVERY_VARIABLES, ...Object.values(LIMIT_VARIABLES), ...ROOM_LIMIT_VARIABLES.map(({ variable }) => variable)];
|
|
33
|
+
export const RELAY_VARIABLES = ['PAIRLOBBY_HOST', 'PAIRLOBBY_PORT', 'PAIRLOBBY_DATA_DIR', 'PAIRLOBBY_PUBLIC_URL', 'PAIRLOBBY_TRUSTED_PROXY_HEADER', 'PAIRLOBBY_ALLOWED_HOSTS', 'PAIRLOBBY_CREATE_TOKEN', 'PAIRLOBBY_CREATE_TOKEN_FILE', 'PAIRLOBBY_REQUEST_LOG', 'PAIRLOBBY_RECEIPT_MODE', 'PAIRLOBBY_BACKUP', 'PAIRLOBBY_BACKUP_INTERVAL', 'PAIRLOBBY_BACKUP_KEEP', 'PAIRLOBBY_BACKUP_S3_ENDPOINT', 'PAIRLOBBY_NO_RESTORE', ...DISCOVERY_VARIABLES, ...Object.values(LIMIT_VARIABLES), ...ROOM_LIMIT_VARIABLES.map(({ variable }) => variable)];
|
|
34
34
|
function described({ flag, variable }) {
|
|
35
35
|
return flag ? `--${flag} (${variable})` : variable;
|
|
36
36
|
}
|
|
@@ -116,9 +116,21 @@ export function relaySettings(flags, environment) {
|
|
|
116
116
|
if (requestLog !== undefined && !['all', 'writes', 'off'].includes(requestLog)) {
|
|
117
117
|
throw new RelaySettingsError(`${described({ flag: 'request-log', variable: 'PAIRLOBBY_REQUEST_LOG' })} must be all, writes or off, not "${requestLog}"`);
|
|
118
118
|
}
|
|
119
|
+
const receiptMode = environment['PAIRLOBBY_RECEIPT_MODE']?.trim() || undefined;
|
|
120
|
+
if (receiptMode !== undefined && !RECEIPT_MODES.includes(receiptMode)) {
|
|
121
|
+
throw new RelaySettingsError(`PAIRLOBBY_RECEIPT_MODE must be events, both or watermark, not "${receiptMode}"`);
|
|
122
|
+
}
|
|
119
123
|
const token = createToken(environment);
|
|
120
124
|
const backup = backupSettings(flags, environment);
|
|
121
|
-
const
|
|
125
|
+
const membersFile = environment['PAIRLOBBY_MEMBERS_FILE']?.trim() || undefined;
|
|
126
|
+
const discovery = discoverySettings(environment, token !== undefined, membersFile !== undefined);
|
|
127
|
+
const teamTokenLogin = environment['PAIRLOBBY_TEAM_TOKEN_LOGIN']?.trim().toLowerCase() || undefined;
|
|
128
|
+
if (teamTokenLogin !== undefined && teamTokenLogin !== 'on' && teamTokenLogin !== 'off') {
|
|
129
|
+
throw new RelaySettingsError(`PAIRLOBBY_TEAM_TOKEN_LOGIN must be on or off, not "${teamTokenLogin}"`);
|
|
130
|
+
}
|
|
131
|
+
if (teamTokenLogin === 'off' && !membersFile) {
|
|
132
|
+
throw new RelaySettingsError('PAIRLOBBY_TEAM_TOKEN_LOGIN=off leaves nobody able to log in; set PAIRLOBBY_MEMBERS_FILE as well');
|
|
133
|
+
}
|
|
122
134
|
return {
|
|
123
135
|
...(host ? { host } : {}),
|
|
124
136
|
// 0 lets the system choose a free port.
|
|
@@ -126,10 +138,13 @@ export function relaySettings(flags, environment) {
|
|
|
126
138
|
...(publicUrl ? { publicUrl: parsePublicUrl(publicUrl) } : {}),
|
|
127
139
|
...(proxyHeader ? { trustedProxyHeader: proxyHeader } : {}),
|
|
128
140
|
...(token ? { createToken: token } : {}),
|
|
141
|
+
...(membersFile ? { membersFile } : {}),
|
|
142
|
+
...(teamTokenLogin === 'off' ? { teamTokenLogin: false } : {}),
|
|
129
143
|
allowedHosts,
|
|
130
144
|
limits,
|
|
131
145
|
roomLimits,
|
|
132
146
|
...(requestLog && requestLog !== 'off' ? { requestLog: requestLog } : {}),
|
|
147
|
+
...(receiptMode ? { receiptMode: receiptMode } : {}),
|
|
133
148
|
...(backup ? { backup } : {}),
|
|
134
149
|
discovery
|
|
135
150
|
};
|
|
@@ -141,13 +156,16 @@ function plainText(value, variable, maximum) {
|
|
|
141
156
|
}
|
|
142
157
|
return value;
|
|
143
158
|
}
|
|
144
|
-
function discoverySettings(environment, hasCreateToken) {
|
|
159
|
+
function discoverySettings(environment, hasCreateToken, hasMembers) {
|
|
145
160
|
const mode = environment['PAIRLOBBY_LOGIN_MODE']?.trim() || 'none';
|
|
146
161
|
if (mode !== 'token' && mode !== 'none') {
|
|
147
162
|
throw new RelaySettingsError(`PAIRLOBBY_LOGIN_MODE must be token or none, not "${mode}"`);
|
|
148
163
|
}
|
|
149
|
-
if (mode === 'token' && !hasCreateToken) {
|
|
150
|
-
throw new RelaySettingsError('PAIRLOBBY_LOGIN_MODE=token logs people in with the create token; set PAIRLOBBY_CREATE_TOKEN or
|
|
164
|
+
if (mode === 'token' && !hasCreateToken && !hasMembers) {
|
|
165
|
+
throw new RelaySettingsError('PAIRLOBBY_LOGIN_MODE=token logs people in with the create token or their own tokens; set PAIRLOBBY_CREATE_TOKEN, PAIRLOBBY_CREATE_TOKEN_FILE or PAIRLOBBY_MEMBERS_FILE');
|
|
166
|
+
}
|
|
167
|
+
if (hasMembers && mode !== 'token') {
|
|
168
|
+
throw new RelaySettingsError('PAIRLOBBY_MEMBERS_FILE gives people their own login; set PAIRLOBBY_LOGIN_MODE=token as well');
|
|
151
169
|
}
|
|
152
170
|
const name = environment['PAIRLOBBY_DISCOVERY_NAME']?.trim();
|
|
153
171
|
const help = environment['PAIRLOBBY_LOGIN_HELP']?.trim();
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/sqlite-store.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HandoverRecord, InviteRecord, LocalRoom, MessageRequest, ParticipantRecord, RequestPage, RoomEvent, RoomRecord } from '@pairlobby/protocol';
|
|
2
2
|
import type { Mutation, RoomView } from '@pairlobby/room-core';
|
|
3
|
-
import type { EventPage, FileStore, IdempotencyRecord, RoomStore } from '@pairlobby/server-core';
|
|
3
|
+
import type { DirectoryStore, EventPage, FileStore, IdempotencyRecord, RoomStore } from '@pairlobby/server-core';
|
|
4
4
|
type IdempotencyKey = {
|
|
5
5
|
key: string;
|
|
6
6
|
requestDigest: string;
|
|
@@ -8,6 +8,8 @@ type IdempotencyKey = {
|
|
|
8
8
|
export declare class SqliteRoomStore implements RoomStore {
|
|
9
9
|
private readonly db;
|
|
10
10
|
readonly files: FileStore;
|
|
11
|
+
/** The agent directory, in the same database as the rooms its listings point into. */
|
|
12
|
+
readonly directory: DirectoryStore;
|
|
11
13
|
constructor(location: string);
|
|
12
14
|
close(): void;
|
|
13
15
|
/** Rows this store has changed since it opened, so a backup can tell nothing happened. */
|
|
@@ -41,6 +43,7 @@ export declare class SqliteRoomStore implements RoomStore {
|
|
|
41
43
|
private checkTurnRevision;
|
|
42
44
|
updateTurns(room: RoomRecord, requests: MessageRequest[], expectedRevision: number): Promise<void>;
|
|
43
45
|
messageRequests(roomId: string, after: number, limit: number, recipientId?: string): Promise<RequestPage>;
|
|
46
|
+
unreceivedRequests(roomId: string, recipientId: string, after: number, limit: number): Promise<RequestPage>;
|
|
44
47
|
private writeRequest;
|
|
45
48
|
setLifecycle(roomId: string, lifecycle: RoomRecord['lifecycle']): Promise<void>;
|
|
46
49
|
/** Physical cleanup. Access was already denied by the lifecycle change. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAa,cAAc,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"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"}
|
package/dist/sqlite-store.js
CHANGED
|
@@ -47,6 +47,28 @@ export class SqliteRoomStore {
|
|
|
47
47
|
this.db.prepare('DELETE FROM files WHERE room_id = ? AND event_id IS NULL AND created_at < ?').run(roomId, before);
|
|
48
48
|
}),
|
|
49
49
|
};
|
|
50
|
+
/** The agent directory, in the same database as the rooms its listings point into. */
|
|
51
|
+
directory = {
|
|
52
|
+
putListing: async (listing) => {
|
|
53
|
+
this.db.prepare('INSERT INTO listings (listing_id, room_id, participant_id, owner, body) VALUES (?, ?, ?, ?, ?) ON CONFLICT (listing_id) DO UPDATE SET owner = excluded.owner, body = excluded.body').run(listing.listingId, listing.roomId, listing.participantId, listing.owner, JSON.stringify(listing));
|
|
54
|
+
},
|
|
55
|
+
listing: async (listingId) => {
|
|
56
|
+
const row = this.db.prepare('SELECT body FROM listings WHERE listing_id = ?').get(listingId);
|
|
57
|
+
return row ? JSON.parse(row.body) : null;
|
|
58
|
+
},
|
|
59
|
+
listingFor: async (roomId, participantId) => {
|
|
60
|
+
const row = this.db.prepare('SELECT body FROM listings WHERE room_id = ? AND participant_id = ?').get(roomId, participantId);
|
|
61
|
+
return row ? JSON.parse(row.body) : null;
|
|
62
|
+
},
|
|
63
|
+
deleteListing: async (listingId) => {
|
|
64
|
+
this.db.prepare('DELETE FROM listings WHERE listing_id = ?').run(listingId);
|
|
65
|
+
},
|
|
66
|
+
listings: async (after, limit) => this.db.prepare('SELECT body FROM listings WHERE listing_id > ? ORDER BY listing_id LIMIT ?').all(after, limit).map((row) => JSON.parse(row.body)),
|
|
67
|
+
lastMessageAt: async (roomId, participantId) => {
|
|
68
|
+
const row = this.db.prepare("SELECT json_extract(body, '$.at') AS at FROM events WHERE room_id = ? AND json_extract(body, '$.senderId') = ? AND json_extract(body, '$.type') = 'message' ORDER BY seq DESC LIMIT 1").get(roomId, participantId);
|
|
69
|
+
return row ? Number(row.at) : null;
|
|
70
|
+
},
|
|
71
|
+
};
|
|
50
72
|
constructor(location) {
|
|
51
73
|
this.db = new DatabaseSync(location);
|
|
52
74
|
this.db.exec('PRAGMA journal_mode = WAL');
|
|
@@ -271,6 +293,12 @@ export class SqliteRoomStore {
|
|
|
271
293
|
.all(roomId, after, recipientId ?? null, recipientId ?? null, limit + 1);
|
|
272
294
|
return { requests: rows.slice(0, limit).map((row) => JSON.parse(row.body)), hasMore: rows.length > limit };
|
|
273
295
|
}
|
|
296
|
+
async unreceivedRequests(roomId, recipientId, after, limit) {
|
|
297
|
+
const rows = this.db
|
|
298
|
+
.prepare("SELECT body FROM message_requests WHERE room_id=? AND seq>? AND received_at IS NULL AND json_extract(body,'$.to')=? ORDER BY seq LIMIT ?")
|
|
299
|
+
.all(roomId, after, recipientId, limit + 1);
|
|
300
|
+
return { requests: rows.slice(0, limit).map((row) => JSON.parse(row.body)), hasMore: rows.length > limit };
|
|
301
|
+
}
|
|
274
302
|
writeRequest(request) {
|
|
275
303
|
// Keep concurrent receipt/progress writes from erasing an accepted reply.
|
|
276
304
|
const old = this.db.prepare('SELECT body FROM message_requests WHERE event_id=?').get(request.eventId);
|
|
@@ -294,7 +322,7 @@ export class SqliteRoomStore {
|
|
|
294
322
|
async deleteRoom(roomId) {
|
|
295
323
|
this.transaction(() => {
|
|
296
324
|
this.db.prepare('DELETE FROM file_chunks WHERE file_id IN (SELECT file_id FROM files WHERE room_id = ?)').run(roomId);
|
|
297
|
-
for (const table of ['files', 'message_requests', 'events', 'idempotency', 'handovers', 'controls', 'invites', 'participants']) {
|
|
325
|
+
for (const table of ['files', 'message_requests', 'events', 'idempotency', 'handovers', 'controls', 'invites', 'participants', 'listings']) {
|
|
298
326
|
this.db.prepare(`DELETE FROM ${table} WHERE room_id = ?`).run(roomId);
|
|
299
327
|
}
|
|
300
328
|
});
|
package/dist/sqlite-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pairlobby/local-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "PairLobby local-server: part of the PairLobby room protocol and relay",
|
|
5
5
|
"license": "Elastic-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@pairlobby/protocol": "0.
|
|
41
|
-
"@pairlobby/room-core": "0.
|
|
42
|
-
"@pairlobby/server-core": "0.
|
|
40
|
+
"@pairlobby/protocol": "0.27.0",
|
|
41
|
+
"@pairlobby/room-core": "0.27.0",
|
|
42
|
+
"@pairlobby/server-core": "0.27.0",
|
|
43
43
|
"multicast-dns": "7.2.5"
|
|
44
44
|
}
|
|
45
45
|
}
|