terminay 4.2.1 → 4.3.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/LICENSE +21 -0
- package/README.md +161 -0
- package/dist/advertise.d.ts +9 -0
- package/dist/advertise.js +10 -0
- package/dist/advertise.js.map +1 -0
- package/dist/args.d.ts +4 -1
- package/dist/args.js +53 -2
- package/dist/args.js.map +1 -1
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.js +21 -0
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/lifecycle.d.ts +1 -0
- package/dist/commands/lifecycle.js +8 -0
- package/dist/commands/lifecycle.js.map +1 -1
- package/dist/commands/upgrade.js +21 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/layout.d.ts +2 -0
- package/dist/layout.js.map +1 -1
- package/dist/unit.d.ts +10 -0
- package/dist/unit.js +29 -0
- package/dist/unit.js.map +1 -1
- package/package.json +2 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mark Wylde
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Terminay CLI
|
|
2
|
+
|
|
3
|
+
The command-line interface to [Terminay](https://terminay.com), a local-first
|
|
4
|
+
terminal workspace for software projects.
|
|
5
|
+
|
|
6
|
+
Today it installs and controls **Terminay Server** on a Linux host, under the
|
|
7
|
+
`daemon` command group. One command takes a clean machine to a running,
|
|
8
|
+
pairable server:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
sudo npx terminay daemon install
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Then pair a device with it:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
sudo npx terminay daemon qr-code
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
That shows a scannable code, waits for the device that scans it, and asks you
|
|
21
|
+
to approve it after comparing the match code shown on both sides.
|
|
22
|
+
|
|
23
|
+
## Requirements
|
|
24
|
+
|
|
25
|
+
64-bit GNU/Linux on x64 or arm64, with systemd, and a Debian 12-compatible
|
|
26
|
+
userspace (glibc 2.36 or newer). The CLI refuses to run `daemon` commands
|
|
27
|
+
anywhere else, naming the requirement rather than failing part-way through.
|
|
28
|
+
|
|
29
|
+
The CLI itself needs Node 20 or newer. The server does not need Node at all:
|
|
30
|
+
each release archive carries its own pinned Node runtime, the native PTY addon,
|
|
31
|
+
and the workspace UI it serves, so the target needs neither Node nor a compiler
|
|
32
|
+
to run the server.
|
|
33
|
+
|
|
34
|
+
## Commands
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
terminay daemon install [ref] Resolve, verify, install, start
|
|
38
|
+
terminay daemon upgrade [ref] Follow the installed channel
|
|
39
|
+
terminay daemon uninstall Remove the service; keep the data root
|
|
40
|
+
terminay daemon start | stop
|
|
41
|
+
terminay daemon status Unit state, version, channel, exposure
|
|
42
|
+
terminay daemon qr-code Pairing code and approval, in one terminal
|
|
43
|
+
terminay daemon approvals List devices waiting for approval
|
|
44
|
+
terminay daemon approve <id>
|
|
45
|
+
terminay daemon deny <id>
|
|
46
|
+
terminay daemon reset-identity Rotate the host key; revoke every device
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`terminay daemon pairing-url` is an alias for `qr-code`. Run `terminay --help`
|
|
50
|
+
for the full flag list.
|
|
51
|
+
|
|
52
|
+
## Choosing what to install
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
sudo npx terminay daemon install # the newest tagged release
|
|
56
|
+
sudo npx terminay daemon install v4.2.1 # a specific release
|
|
57
|
+
sudo npx terminay daemon install main # the rolling main channel
|
|
58
|
+
sudo npx terminay daemon install my-branch # built from source on the target
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
A branch or commit has no published archive, so the CLI builds one on the
|
|
62
|
+
machine. It checks for `git`, `python3`, `make`, and a C++ compiler before
|
|
63
|
+
downloading anything.
|
|
64
|
+
|
|
65
|
+
`upgrade` with no reference re-resolves whatever channel the machine is already
|
|
66
|
+
on, so a host tracking `main` never silently moves onto the tag stream.
|
|
67
|
+
|
|
68
|
+
## Verification
|
|
69
|
+
|
|
70
|
+
Every downloaded archive is checked against its published SHA-256 and then
|
|
71
|
+
against its Ed25519 signature, using a public key committed to this package's
|
|
72
|
+
source. There is no flag and no environment variable that skips it: the
|
|
73
|
+
boundary crossed is "release pipeline → your machine", and that key is the only
|
|
74
|
+
thing that makes the download trustworthy.
|
|
75
|
+
|
|
76
|
+
This package is published from CI with
|
|
77
|
+
[npm provenance](https://docs.npmjs.com/generating-provenance-statements), so
|
|
78
|
+
you can verify which commit and workflow built the version you installed.
|
|
79
|
+
|
|
80
|
+
## Install scope and the run-as account
|
|
81
|
+
|
|
82
|
+
With a terminal attached, `install` asks two questions.
|
|
83
|
+
|
|
84
|
+
The first is whether to install a system-wide service or one owned by your
|
|
85
|
+
login. The second is which account the server and its terminals run as — **that
|
|
86
|
+
choice decides whose files, keys, and agents a paired device can reach**. A
|
|
87
|
+
dedicated `terminay` system account is the default.
|
|
88
|
+
|
|
89
|
+
Answer both up front with `--system` or `--user` and `--run-as <user>`, which is
|
|
90
|
+
also required when there is no terminal to ask on.
|
|
91
|
+
|
|
92
|
+
## Reaching the server
|
|
93
|
+
|
|
94
|
+
Exposure defaults to `hosted,direct`, and the direct origin is derived from the
|
|
95
|
+
machine's primary address. That is right for a host with a routable address and
|
|
96
|
+
wrong for one behind NAT or with a DNS name, so the derived value is printed at
|
|
97
|
+
install and can be overridden:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
sudo npx terminay daemon install --direct-origin https://box.example.com:8443
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
`--expose off|hosted|direct|hosted,direct` and `--port` control the rest. For a
|
|
104
|
+
server reachable only at a forwarded address — a container, or a box behind a
|
|
105
|
+
port forward — see [Trying it in a local container](#trying-it-in-a-local-container).
|
|
106
|
+
|
|
107
|
+
## Trying it in a local container
|
|
108
|
+
|
|
109
|
+
A server in a container on your own machine is not reachable from a client on
|
|
110
|
+
that machine by default. Every address the server can see about itself is one
|
|
111
|
+
the client cannot route to — on macOS and Windows the container runs inside a
|
|
112
|
+
virtual machine, and `--network host` does not change that, because the host is
|
|
113
|
+
the VM. Signalling succeeds and the connection then never forms.
|
|
114
|
+
|
|
115
|
+
`--advertise-address` names an address the client can reach, and offers it as an
|
|
116
|
+
additional connection candidate:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
docker run -d --name terminay \
|
|
120
|
+
--privileged --tmpfs /run --tmpfs /run/lock \
|
|
121
|
+
--cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw \
|
|
122
|
+
-p 51000-51003:51000-51003/udp \
|
|
123
|
+
node:24-bookworm \
|
|
124
|
+
/bin/sh -c 'apt-get update -qq && apt-get install -y -qq systemd dbus && exec /lib/systemd/systemd'
|
|
125
|
+
|
|
126
|
+
docker exec -it terminay bash
|
|
127
|
+
npx terminay daemon install --system --run-as root \
|
|
128
|
+
--advertise-address 127.0.0.1:51000
|
|
129
|
+
npx terminay daemon qr-code
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Four consecutive UDP ports are published rather than one, because the WebRTC
|
|
133
|
+
runtime gives each candidate its own socket from the range it is pinned to.
|
|
134
|
+
|
|
135
|
+
This is for a server reachable only at a forwarded address. It is not a general
|
|
136
|
+
answer to NAT — it works because someone forwarded a port.
|
|
137
|
+
|
|
138
|
+
## Where things live
|
|
139
|
+
|
|
140
|
+
| | System scope | User scope |
|
|
141
|
+
| --- | --- | --- |
|
|
142
|
+
| Versions | `/opt/terminay/versions/<version>` | `~/.local/share/terminay/versions/<version>` |
|
|
143
|
+
| Active version | `/opt/terminay/current` | `~/.local/share/terminay/current` |
|
|
144
|
+
| Configuration | `/etc/terminay/server.env` | `~/.config/terminay/server.env` |
|
|
145
|
+
| Data root | `/var/lib/terminay` | `~/.local/share/terminay/data` |
|
|
146
|
+
|
|
147
|
+
Installed versions are immutable once verified. `current` is a symlink replaced
|
|
148
|
+
atomically, so an upgrade that does not come up healthy puts the previous
|
|
149
|
+
version back. `uninstall` keeps the data root — which holds the host key and
|
|
150
|
+
your paired device records — unless you pass `--purge`.
|
|
151
|
+
|
|
152
|
+
## Links
|
|
153
|
+
|
|
154
|
+
- [Installation guide](https://terminay.com/docs/installation)
|
|
155
|
+
- [Standalone server runbook](https://github.com/markwylde/terminay/blob/main/docs/operations/standalone-server.md)
|
|
156
|
+
- [Release, install, and update policy](https://github.com/markwylde/terminay/blob/main/docs/operations/release-update-policy.md)
|
|
157
|
+
- [Source and issues](https://github.com/markwylde/terminay)
|
|
158
|
+
|
|
159
|
+
## License
|
|
160
|
+
|
|
161
|
+
MIT
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many consecutive UDP ports an advertised address reserves.
|
|
3
|
+
*
|
|
4
|
+
* The WebRTC runtime gives every candidate its own socket from the pinned
|
|
5
|
+
* range, so this is a budget as well as a promise: it is small enough to
|
|
6
|
+
* publish in one `-p` range, and large enough for the advertised address plus a
|
|
7
|
+
* couple of the server's own. It must match the span the server uses.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ADVERTISED_PORT_SPAN = 4;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many consecutive UDP ports an advertised address reserves.
|
|
3
|
+
*
|
|
4
|
+
* The WebRTC runtime gives every candidate its own socket from the pinned
|
|
5
|
+
* range, so this is a budget as well as a promise: it is small enough to
|
|
6
|
+
* publish in one `-p` range, and large enough for the advertised address plus a
|
|
7
|
+
* couple of the server's own. It must match the span the server uses.
|
|
8
|
+
*/
|
|
9
|
+
export const ADVERTISED_PORT_SPAN = 4;
|
|
10
|
+
//# sourceMappingURL=advertise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advertise.js","sourceRoot":"","sources":["../src/advertise.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC"}
|
package/dist/args.d.ts
CHANGED
|
@@ -14,6 +14,9 @@ export interface DaemonOptions {
|
|
|
14
14
|
readonly runAs?: string;
|
|
15
15
|
readonly port?: number;
|
|
16
16
|
readonly directOrigin?: string;
|
|
17
|
+
/** An address and UDP port to offer as an additional ICE candidate. Empty
|
|
18
|
+
* string clears a previously configured one. */
|
|
19
|
+
readonly advertiseAddress?: string;
|
|
17
20
|
readonly hostedDomain?: string;
|
|
18
21
|
readonly expose?: string;
|
|
19
22
|
readonly projectRoot?: string;
|
|
@@ -34,4 +37,4 @@ export interface ParsedCommandLine {
|
|
|
34
37
|
export declare class UsageError extends Error {
|
|
35
38
|
}
|
|
36
39
|
export declare function parseCommandLine(argv: readonly string[]): ParsedCommandLine;
|
|
37
|
-
export declare const HELP_TEXT = "terminay \u2014 install and control a headless Terminay Server\n\nUsage:\n npx terminay daemon <command> [arguments] [flags]\n\nCommands:\n install [ref] Install and start the server. `ref` is a tag such as\n v4.1.1, `main` for the rolling channel, or a branch or\n commit to build from source. Defaults to the latest tag.\n upgrade [ref] Upgrade, following the installed channel by default.\n uninstall Stop and remove the service and installed versions.\n start | stop Start or stop the service.\n status Report unit state, version, channel, and exposure.\n qr-code Show a scannable pairing code and approve the device\n that scans it. Alias: pairing-url.\n approvals List pending device approvals.\n approve <id> Approve a pending device.\n deny <id> Deny a pending device.\n reset-identity Rotate the host key and revoke every paired device.\n\nFlags:\n --system, --user Install scope. Prompted when a terminal is attached.\n --run-as <user> Account the server and its terminals run as.\n --port <port> Port the server listens on.\n --direct-origin <o> Origin devices reach directly, such as\n https://box.example.com:8443.\n --hosted-domain <d> Hosted signalling domain.\n --expose <modes> off, hosted, direct, or hosted,direct.\n --project-root <p> Directory the server opens projects from.\n --allow-downgrade Permit upgrade to an older version.\n --purge Also remove the data root on uninstall.\n --yes Skip confirmation prompts.\n --no-wait Print pairing URLs and exit without waiting.\n --mode <m> Render the hosted or direct pairing URL.\n --help Show this help.\n";
|
|
40
|
+
export declare const HELP_TEXT = "terminay \u2014 install and control a headless Terminay Server\n\nUsage:\n npx terminay daemon <command> [arguments] [flags]\n\nCommands:\n install [ref] Install and start the server. `ref` is a tag such as\n v4.1.1, `main` for the rolling channel, or a branch or\n commit to build from source. Defaults to the latest tag.\n upgrade [ref] Upgrade, following the installed channel by default.\n uninstall Stop and remove the service and installed versions.\n start | stop Start or stop the service.\n status Report unit state, version, channel, and exposure.\n qr-code Show a scannable pairing code and approve the device\n that scans it. Alias: pairing-url.\n approvals List pending device approvals.\n approve <id> Approve a pending device.\n deny <id> Deny a pending device.\n reset-identity Rotate the host key and revoke every paired device.\n\nFlags:\n --system, --user Install scope. Prompted when a terminal is attached.\n --run-as <user> Account the server and its terminals run as.\n --port <port> Port the server listens on.\n --direct-origin <o> Origin devices reach directly, such as\n https://box.example.com:8443.\n --advertise-address <addr:port>\n An address and UDP port to offer as an extra connection\n candidate, for a server reachable only at a forwarded\n address \u2014 a container, or behind a port forward. That\n port and the three above it must be forwarded to this\n machine. Pass an empty value to remove one set earlier.\n --hosted-domain <d> Hosted signalling domain.\n --expose <modes> off, hosted, direct, or hosted,direct.\n --project-root <p> Directory the server opens projects from.\n --allow-downgrade Permit upgrade to an older version.\n --purge Also remove the data root on uninstall.\n --yes Skip confirmation prompts.\n --no-wait Print pairing URLs and exit without waiting.\n --mode <m> Render the hosted or direct pairing URL.\n --help Show this help.\n";
|
package/dist/args.js
CHANGED
|
@@ -27,11 +27,14 @@ const VALUE_FLAGS = Object.freeze([
|
|
|
27
27
|
'--run-as',
|
|
28
28
|
'--port',
|
|
29
29
|
'--direct-origin',
|
|
30
|
+
'--advertise-address',
|
|
30
31
|
'--hosted-domain',
|
|
31
32
|
'--expose',
|
|
32
33
|
'--project-root',
|
|
33
34
|
'--mode',
|
|
34
35
|
]);
|
|
36
|
+
/** Flags whose empty value means "remove what was configured before". */
|
|
37
|
+
const CLEARABLE_FLAGS = Object.freeze(['--advertise-address']);
|
|
35
38
|
const BOOLEAN_FLAGS = Object.freeze([
|
|
36
39
|
'--system',
|
|
37
40
|
'--user',
|
|
@@ -52,11 +55,19 @@ const ACCEPTED = Object.freeze({
|
|
|
52
55
|
'--run-as',
|
|
53
56
|
'--port',
|
|
54
57
|
'--direct-origin',
|
|
58
|
+
'--advertise-address',
|
|
55
59
|
'--hosted-domain',
|
|
56
60
|
'--expose',
|
|
57
61
|
'--project-root',
|
|
58
62
|
],
|
|
59
|
-
upgrade: [
|
|
63
|
+
upgrade: [
|
|
64
|
+
'--system',
|
|
65
|
+
'--user',
|
|
66
|
+
'--allow-downgrade',
|
|
67
|
+
// How a server is reached can change without changing its version,
|
|
68
|
+
// and an upgrade is the moment an operator is already editing it.
|
|
69
|
+
'--advertise-address',
|
|
70
|
+
],
|
|
60
71
|
uninstall: ['--system', '--user', '--purge', '--yes'],
|
|
61
72
|
start: ['--system', '--user'],
|
|
62
73
|
stop: ['--system', '--user'],
|
|
@@ -83,6 +94,32 @@ function parsePort(raw) {
|
|
|
83
94
|
fail('--port must be a whole number between 1 and 65535');
|
|
84
95
|
return port;
|
|
85
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Validate `<host>:<port>` before anything is written.
|
|
99
|
+
*
|
|
100
|
+
* Literal addresses only: an ICE candidate is where a peer sends connectivity
|
|
101
|
+
* checks, and a hostname resolves on the peer's machine rather than naming the
|
|
102
|
+
* address an operator forwarded. Empty passes through as the clearing form.
|
|
103
|
+
*/
|
|
104
|
+
function parseAdvertiseAddress(raw) {
|
|
105
|
+
if (raw === '')
|
|
106
|
+
return raw;
|
|
107
|
+
const bracketed = /^\[([0-9A-Fa-f:.]+)\]:(\d{1,5})$/u.exec(raw.trim());
|
|
108
|
+
const plain = /^([0-9]{1,3}(?:\.[0-9]{1,3}){3}):(\d{1,5})$/u.exec(raw.trim());
|
|
109
|
+
const match = bracketed ?? plain;
|
|
110
|
+
if (match === null) {
|
|
111
|
+
fail(`--advertise-address must be a literal address and port, such as 127.0.0.1:51000 or [::1]:51000 (got ${raw}). An ICE candidate is a destination for the other side's connectivity checks, so a hostname cannot stand in for it.`);
|
|
112
|
+
}
|
|
113
|
+
const port = Number(match[2]);
|
|
114
|
+
if (port < 1 || port > 65535) {
|
|
115
|
+
fail('--advertise-address port must be between 1 and 65535');
|
|
116
|
+
}
|
|
117
|
+
if (bracketed === null &&
|
|
118
|
+
match[1].split('.').some((octet) => Number(octet) > 255)) {
|
|
119
|
+
fail(`--advertise-address is not a valid IPv4 address: ${match[1]}`);
|
|
120
|
+
}
|
|
121
|
+
return raw.trim();
|
|
122
|
+
}
|
|
86
123
|
function parseMode(raw) {
|
|
87
124
|
if (raw !== 'hosted' && raw !== 'direct')
|
|
88
125
|
fail('--mode must be hosted or direct');
|
|
@@ -139,8 +176,11 @@ export function parseCommandLine(argv) {
|
|
|
139
176
|
value = next;
|
|
140
177
|
index += 1;
|
|
141
178
|
}
|
|
142
|
-
|
|
179
|
+
// An empty value is a usage error everywhere except the advertised
|
|
180
|
+
// address, where it is how an operator removes one they set earlier.
|
|
181
|
+
if (value.length === 0 && !CLEARABLE_FLAGS.includes(name)) {
|
|
143
182
|
fail(`${name} requires a value`);
|
|
183
|
+
}
|
|
144
184
|
if (values.has(name))
|
|
145
185
|
fail(`${name} was given more than once`);
|
|
146
186
|
values.set(name, value);
|
|
@@ -188,6 +228,11 @@ export function parseCommandLine(argv) {
|
|
|
188
228
|
? { runAs: values.get('--run-as') }
|
|
189
229
|
: {}),
|
|
190
230
|
...(port === undefined ? {} : { port: parsePort(port) }),
|
|
231
|
+
...(values.has('--advertise-address')
|
|
232
|
+
? {
|
|
233
|
+
advertiseAddress: parseAdvertiseAddress(values.get('--advertise-address')),
|
|
234
|
+
}
|
|
235
|
+
: {}),
|
|
191
236
|
...(values.has('--direct-origin')
|
|
192
237
|
? { directOrigin: values.get('--direct-origin') }
|
|
193
238
|
: {}),
|
|
@@ -239,6 +284,12 @@ Flags:
|
|
|
239
284
|
--port <port> Port the server listens on.
|
|
240
285
|
--direct-origin <o> Origin devices reach directly, such as
|
|
241
286
|
https://box.example.com:8443.
|
|
287
|
+
--advertise-address <addr:port>
|
|
288
|
+
An address and UDP port to offer as an extra connection
|
|
289
|
+
candidate, for a server reachable only at a forwarded
|
|
290
|
+
address — a container, or behind a port forward. That
|
|
291
|
+
port and the three above it must be forwarded to this
|
|
292
|
+
machine. Pass an empty value to remove one set earlier.
|
|
242
293
|
--hosted-domain <d> Hosted signalling domain.
|
|
243
294
|
--expose <modes> off, hosted, direct, or hosted,direct.
|
|
244
295
|
--project-root <p> Directory the server opens projects from.
|
package/dist/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export interface InstallResult {
|
|
|
43
43
|
readonly channel: string;
|
|
44
44
|
readonly revision: string;
|
|
45
45
|
readonly directOrigin?: string;
|
|
46
|
+
readonly advertiseAddress?: string;
|
|
46
47
|
readonly ready: boolean;
|
|
47
48
|
}
|
|
48
49
|
export declare function runInstall(ref: string | undefined, options: DaemonOptions, dependencies?: InstallDependencies): Promise<InstallResult>;
|
package/dist/commands/install.js
CHANGED
|
@@ -3,6 +3,7 @@ import { homedir, hostname } from 'node:os';
|
|
|
3
3
|
import { dirname } from 'node:path';
|
|
4
4
|
import { assertRootForSystemScope, prepareDataRoot, selectRunAs, selectScope, } from '../account.js';
|
|
5
5
|
import { defaultDirectOrigin } from '../address.js';
|
|
6
|
+
import { ADVERTISED_PORT_SPAN } from '../advertise.js';
|
|
6
7
|
import { discardDownloads, downloadAsset, downloadBytes, downloadText, } from '../download.js';
|
|
7
8
|
import { waitForReady } from '../health.js';
|
|
8
9
|
import { activate, installArchive, installedVersions, retain, } from '../install.js';
|
|
@@ -120,6 +121,10 @@ export async function runInstall(ref, options, dependencies = {}) {
|
|
|
120
121
|
const directOrigin = wantsDirect
|
|
121
122
|
? (options.directOrigin ?? (await defaultDirectOrigin(port)))
|
|
122
123
|
: options.directOrigin;
|
|
124
|
+
// An empty value clears; undefined means the operator said nothing.
|
|
125
|
+
const advertised = options.advertiseAddress === undefined
|
|
126
|
+
? undefined
|
|
127
|
+
: options.advertiseAddress;
|
|
123
128
|
if (wantsDirect && directOrigin === undefined) {
|
|
124
129
|
throw new Error('direct exposure needs an origin devices can reach, and this machine has no routable address to derive one from. Pass --direct-origin https://<host>:<port>.');
|
|
125
130
|
}
|
|
@@ -136,6 +141,7 @@ export async function runInstall(ref, options, dependencies = {}) {
|
|
|
136
141
|
expose,
|
|
137
142
|
hostedDomain: options.hostedDomain ?? DEFAULT_HOSTED_DOMAIN,
|
|
138
143
|
...(directOrigin === undefined ? {} : { directOrigin }),
|
|
144
|
+
...(advertised === undefined ? {} : { advertiseAddress: advertised }),
|
|
139
145
|
uiBundle: `${layout.currentLink}/ui`,
|
|
140
146
|
}), { mode: 0o640 });
|
|
141
147
|
// Readable only by the account the service runs as.
|
|
@@ -173,6 +179,9 @@ export async function runInstall(ref, options, dependencies = {}) {
|
|
|
173
179
|
expose,
|
|
174
180
|
hostedDomain: options.hostedDomain ?? DEFAULT_HOSTED_DOMAIN,
|
|
175
181
|
...(directOrigin === undefined ? {} : { directOrigin }),
|
|
182
|
+
...(advertised === undefined || advertised === ''
|
|
183
|
+
? {}
|
|
184
|
+
: { advertiseAddress: advertised }),
|
|
176
185
|
installedAt: new Date().toISOString(),
|
|
177
186
|
};
|
|
178
187
|
await writeInstallRecord(layout, record);
|
|
@@ -189,6 +198,15 @@ export async function runInstall(ref, options, dependencies = {}) {
|
|
|
189
198
|
write(` channel ${resolved.channel}`);
|
|
190
199
|
write(` data root ${dataRoot}`);
|
|
191
200
|
write(` exposure ${expose}`);
|
|
201
|
+
if (advertised !== undefined && advertised !== '') {
|
|
202
|
+
const first = Number(advertised.slice(advertised.lastIndexOf(':') + 1));
|
|
203
|
+
const last = first + ADVERTISED_PORT_SPAN - 1;
|
|
204
|
+
write(` advertised ${advertised}`);
|
|
205
|
+
write('');
|
|
206
|
+
write(`UDP ports ${first}-${last} must reach this machine for that address to work.`);
|
|
207
|
+
write('Forwarding them is the one step this command cannot take for you — in');
|
|
208
|
+
write(`Docker, publish them with -p ${first}-${last}:${first}-${last}/udp.`);
|
|
209
|
+
}
|
|
192
210
|
if (directOrigin !== undefined) {
|
|
193
211
|
write(` direct URL ${directOrigin}`);
|
|
194
212
|
write('');
|
|
@@ -207,6 +225,9 @@ export async function runInstall(ref, options, dependencies = {}) {
|
|
|
207
225
|
channel: resolved.channel,
|
|
208
226
|
revision: installed.manifest.revision,
|
|
209
227
|
...(directOrigin === undefined ? {} : { directOrigin }),
|
|
228
|
+
...(advertised === undefined || advertised === ''
|
|
229
|
+
? {}
|
|
230
|
+
: { advertiseAddress: advertised }),
|
|
210
231
|
ready,
|
|
211
232
|
});
|
|
212
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACN,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,WAAW,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,5 +19,6 @@ export interface StatusReport {
|
|
|
19
19
|
readonly ready: boolean;
|
|
20
20
|
readonly exposure: readonly string[] | 'off';
|
|
21
21
|
readonly activeVersion?: string;
|
|
22
|
+
readonly advertiseAddress?: string;
|
|
22
23
|
}
|
|
23
24
|
export declare function runStatus(context: CommandContext): Promise<StatusReport>;
|
|
@@ -54,6 +54,9 @@ export async function runStatus(context) {
|
|
|
54
54
|
ready: snapshot?.ready === true,
|
|
55
55
|
exposure,
|
|
56
56
|
...(active === undefined ? {} : { activeVersion: active }),
|
|
57
|
+
...(context.record.advertiseAddress === undefined
|
|
58
|
+
? {}
|
|
59
|
+
: { advertiseAddress: context.record.advertiseAddress }),
|
|
57
60
|
});
|
|
58
61
|
context.write(`unit ${report.unit}${report.enabled ? ' (enabled)' : ' (not enabled)'}`);
|
|
59
62
|
context.write(`version ${report.version}`);
|
|
@@ -61,6 +64,11 @@ export async function runStatus(context) {
|
|
|
61
64
|
context.write(`revision ${report.revision.slice(0, 12)}`);
|
|
62
65
|
context.write(`ready ${report.ready ? 'yes' : 'no'}`);
|
|
63
66
|
context.write(`exposure ${report.exposure === 'off' ? 'off' : report.exposure.join(', ') || 'off'}`);
|
|
67
|
+
// Service configuration an operator needs when a connection fails, and it
|
|
68
|
+
// names no workspace, path, account, or device.
|
|
69
|
+
if (report.advertiseAddress !== undefined) {
|
|
70
|
+
context.write(`advertised ${report.advertiseAddress}`);
|
|
71
|
+
}
|
|
64
72
|
return report;
|
|
65
73
|
}
|
|
66
74
|
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/commands/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzE;;;;;;;;GAQG;AAEH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAuB;IACrD,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CACZ,mBAAmB,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,YAAY,CACzE,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CAAC,KAAK,CACZ,kEAAkE,CAClE,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACpD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/commands/lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
1
2
|
import { discardDownloads, downloadAsset, downloadBytes, downloadText, } from '../download.js';
|
|
2
3
|
import { waitForReady } from '../health.js';
|
|
3
4
|
import { activate, activeVersion, installArchive, retain } from '../install.js';
|
|
@@ -5,6 +6,7 @@ import { stagedName, writeInstallRecord } from '../layout.js';
|
|
|
5
6
|
import { hostArchitecture } from '../platform.js';
|
|
6
7
|
import { resolveRef } from '../resolve.js';
|
|
7
8
|
import { buildFromSource } from '../source.js';
|
|
9
|
+
import { withEnvironmentValue } from '../unit.js';
|
|
8
10
|
import { verifyArchive } from '../verify.js';
|
|
9
11
|
export class UpgradeError extends Error {
|
|
10
12
|
}
|
|
@@ -151,8 +153,26 @@ export async function runUpgrade(ref, options, context, dependencies = {}) {
|
|
|
151
153
|
write(await systemd.journal(20));
|
|
152
154
|
throw new UpgradeError(`the upgrade to ${installed.manifest.version} did not become ready, so ${record.version} was restored and ${recovered ? 'is running again' : 'was started, but has not reported ready either'}.`);
|
|
153
155
|
}
|
|
156
|
+
// An advertised address given here changes how the server is reached, which
|
|
157
|
+
// lives in the environment file rather than in the version that was staged.
|
|
158
|
+
// Absent, the recorded value carries forward with the rest of the record.
|
|
159
|
+
if (options.advertiseAddress !== undefined) {
|
|
160
|
+
const existing = await readFile(layout.environmentFile, 'utf8').catch(() => '');
|
|
161
|
+
await writeFile(layout.environmentFile, withEnvironmentValue(existing, 'TERMINAY_WEBRTC_ADVERTISE_ADDRESS', options.advertiseAddress === '' ? undefined : options.advertiseAddress), { mode: 0o640 });
|
|
162
|
+
}
|
|
163
|
+
// Cleared means the key is absent, not present and undefined, so the record
|
|
164
|
+
// is rebuilt without it rather than assigned over.
|
|
165
|
+
const { advertiseAddress: recorded, ...withoutAdvertised } = record;
|
|
166
|
+
const advertisedFields = options.advertiseAddress === undefined
|
|
167
|
+
? recorded === undefined
|
|
168
|
+
? {}
|
|
169
|
+
: { advertiseAddress: recorded }
|
|
170
|
+
: options.advertiseAddress === ''
|
|
171
|
+
? {}
|
|
172
|
+
: { advertiseAddress: options.advertiseAddress };
|
|
154
173
|
await writeInstallRecord(layout, {
|
|
155
|
-
...
|
|
174
|
+
...withoutAdvertised,
|
|
175
|
+
...advertisedFields,
|
|
156
176
|
channel: resolved.channel,
|
|
157
177
|
version: installed.manifest.version,
|
|
158
178
|
revision: installed.manifest.revision,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/layout.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ export interface InstallRecord {
|
|
|
38
38
|
readonly expose: string;
|
|
39
39
|
readonly hostedDomain: string;
|
|
40
40
|
readonly directOrigin?: string;
|
|
41
|
+
/** An address and UDP port offered as an additional ICE candidate. */
|
|
42
|
+
readonly advertiseAddress?: string;
|
|
41
43
|
readonly installedAt: string;
|
|
42
44
|
}
|
|
43
45
|
export declare function parseInstallRecord(value: unknown): InstallRecord;
|
package/dist/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,yBAAyB,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAa7C,MAAM,UAAU,aAAa,CAC5B,KAAmB,EACnB,OAAe,OAAO,EAAE;IAExB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,KAAK;YACL,MAAM;YACN,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;YAC3C,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;YACxC,eAAe,EAAE,0BAA0B;YAC3C,eAAe,EAAE,mBAAmB;YACpC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC;SAChD,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK;QACL,MAAM;QACN,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;QAC3C,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;QACxC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC1D,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,sBAAsB,EAAE,SAAS,CAAC;KACvD,CAAC,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/unit.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface ServiceConfiguration {
|
|
|
21
21
|
readonly expose: string;
|
|
22
22
|
readonly hostedDomain: string;
|
|
23
23
|
readonly directOrigin?: string;
|
|
24
|
+
readonly advertiseAddress?: string;
|
|
24
25
|
readonly uiBundle: string;
|
|
25
26
|
}
|
|
26
27
|
export declare function renderEnvironmentFile(configuration: ServiceConfiguration): string;
|
|
@@ -29,6 +30,15 @@ export declare function renderEnvironmentFile(configuration: ServiceConfiguratio
|
|
|
29
30
|
* not being asked to change — the server id above all.
|
|
30
31
|
*/
|
|
31
32
|
export declare function parseEnvironmentFile(contents: string): Readonly<Record<string, string>>;
|
|
33
|
+
/**
|
|
34
|
+
* Set or remove one variable in an existing environment file, leaving every
|
|
35
|
+
* other line as it was.
|
|
36
|
+
*
|
|
37
|
+
* The file is documented as editable, so an upgrade that only needs to change
|
|
38
|
+
* one value edits that value rather than regenerating the file and discarding
|
|
39
|
+
* whatever the operator put there.
|
|
40
|
+
*/
|
|
41
|
+
export declare function withEnvironmentValue(contents: string, key: string, value: string | undefined): string;
|
|
32
42
|
export interface UnitConfiguration {
|
|
33
43
|
readonly layout: InstallLayout;
|
|
34
44
|
readonly runAs: string;
|
package/dist/unit.js
CHANGED
|
@@ -16,6 +16,13 @@ export function renderEnvironmentFile(configuration) {
|
|
|
16
16
|
...(configuration.directOrigin === undefined
|
|
17
17
|
? []
|
|
18
18
|
: [`TERMINAY_DIRECT_ORIGIN=${configuration.directOrigin}`]),
|
|
19
|
+
// Written even when empty: an empty variable is how a cleared address
|
|
20
|
+
// reaches the server, and it reads as unset there.
|
|
21
|
+
...(configuration.advertiseAddress === undefined
|
|
22
|
+
? []
|
|
23
|
+
: [
|
|
24
|
+
`TERMINAY_WEBRTC_ADVERTISE_ADDRESS=${configuration.advertiseAddress}`,
|
|
25
|
+
]),
|
|
19
26
|
'TERMINAY_AGENT_INTEGRATION=enabled',
|
|
20
27
|
'TERMINAY_AI_PROVIDERS=disabled',
|
|
21
28
|
'TERMINAY_LOG_SINK=journal',
|
|
@@ -40,6 +47,28 @@ export function parseEnvironmentFile(contents) {
|
|
|
40
47
|
}
|
|
41
48
|
return Object.freeze(values);
|
|
42
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Set or remove one variable in an existing environment file, leaving every
|
|
52
|
+
* other line as it was.
|
|
53
|
+
*
|
|
54
|
+
* The file is documented as editable, so an upgrade that only needs to change
|
|
55
|
+
* one value edits that value rather than regenerating the file and discarding
|
|
56
|
+
* whatever the operator put there.
|
|
57
|
+
*/
|
|
58
|
+
export function withEnvironmentValue(contents, key, value) {
|
|
59
|
+
const lines = contents.split('\n');
|
|
60
|
+
const kept = lines.filter((line) => !line.trimStart().startsWith(`${key}=`));
|
|
61
|
+
if (value === undefined) {
|
|
62
|
+
return kept.join('\n');
|
|
63
|
+
}
|
|
64
|
+
// Appended before the trailing blank the file ends with, so the result keeps
|
|
65
|
+
// exactly one terminating newline.
|
|
66
|
+
const trailing = kept.length > 0 && kept[kept.length - 1] === '' ? kept.pop() : undefined;
|
|
67
|
+
kept.push(`${key}=${value}`);
|
|
68
|
+
if (trailing !== undefined)
|
|
69
|
+
kept.push(trailing);
|
|
70
|
+
return kept.join('\n');
|
|
71
|
+
}
|
|
43
72
|
export function renderUnit(configuration) {
|
|
44
73
|
const { layout } = configuration;
|
|
45
74
|
// System scope names the account explicitly; a user unit already runs as
|
package/dist/unit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit.js","sourceRoot":"","sources":["../src/unit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unit.js","sourceRoot":"","sources":["../src/unit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "terminay",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Installs and controls a headless Terminay Server on Linux.",
|
|
5
|
+
"description": "The Terminay command-line interface. Installs and controls a headless Terminay Server on Linux.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|