nterminal 1.2.10 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # NTerminal
2
2
 
3
- <img src="https://cdn.jsdelivr.net/npm/nterminal@1.2.4/public/icons/app-icon-1024.png?v=readme-1.2.10" alt="NTerminal app icon" width="96" height="96">
3
+ <img src="https://cdn.jsdelivr.net/npm/nterminal@1.2.12/public/icons/app-icon-1024.png?v=readme-1.2.12" alt="NTerminal app icon" width="96" height="96">
4
4
 
5
5
  NTerminal turns your own machines into one secure browser workspace for real shells, Codex, Claude, files, and long-running terminal sessions.
6
6
 
7
- <img src="https://cdn.jsdelivr.net/npm/nterminal@1.2.4/assets/screenshot/scr.png?v=readme-1.2.10" alt="NTerminal workspace with split terminal panes" width="100%">
7
+ <img src="https://cdn.jsdelivr.net/npm/nterminal@1.2.12/assets/screenshot/scr.png?v=readme-1.2.12" alt="NTerminal workspace with split terminal panes" width="100%">
8
8
 
9
9
  NTerminal is a single-owner web terminal for machines you control. It is not a hosted shell product, not a SaaS app, and not a multi-user IDE.
10
10
 
@@ -29,7 +29,7 @@ npm install -g nterminal
29
29
  nterminal onboarding
30
30
  ```
31
31
 
32
- Choose `main`. Onboarding installs dependencies, writes `.env`, creates secrets, sets your password and TOTP, and can build/start the service.
32
+ Choose `main`. Onboarding writes `.env`, creates secrets, sets your password and TOTP, and can start the service.
33
33
 
34
34
  To add another machine, install NTerminal there and run the same command:
35
35
 
@@ -124,7 +124,13 @@ Package installs keep runtime config and state under `~/.nterminal` so package u
124
124
  - Native build tools required by `node-pty`.
125
125
  - Optional `tmux` for PTY persistence across Node restarts.
126
126
 
127
- If PTY creation fails after install, rebuild the native module:
127
+ If PTY creation fails after a package install, rebuild the native module inside the global package:
128
+
129
+ ```bash
130
+ npm explore -g nterminal -- npm rebuild node-pty --build-from-source
131
+ ```
132
+
133
+ For source checkouts, run:
128
134
 
129
135
  ```bash
130
136
  npm rebuild node-pty --build-from-source
@@ -152,7 +158,7 @@ npm test
152
158
  npm run build
153
159
  ```
154
160
 
155
- For production-style local operation, `npm run ctl -- <command>` wraps `scripts/nterminalctl` and manages the built server, PID file, logs, health checks, and restarts.
161
+ For production-style local operation from a source checkout, `npm run ctl -- <command>` wraps `scripts/nterminalctl` and manages the built server, PID file, logs, health checks, and restarts.
156
162
 
157
163
  ## Documentation
158
164
 
@@ -170,7 +176,6 @@ For production-style local operation, `npm run ctl -- <command>` wraps `scripts/
170
176
  - No recovery of live PTYs after an OS reboot.
171
177
  - No Node-restart PTY persistence on hosts without `tmux`.
172
178
  - No VS Code extension host, debugger, task runner, or Git UI.
173
- - No package-manager distribution is published yet.
174
179
 
175
180
  ## Publication Notes
176
181
 
@@ -185,7 +190,7 @@ Keep local runtime files out of source control:
185
190
  - `test-results/`
186
191
  - `playwright-report/`
187
192
 
188
- The package metadata is prepared for npm publication. The source code is licensed under GPL-3.0-only.
193
+ The npm package is constrained by `package.json` `files` and `npm run pack:check`. The source code is licensed under GPL-3.0-only.
189
194
 
190
195
  ## Acknowledgements
191
196
 
package/SECURITY.md ADDED
@@ -0,0 +1,66 @@
1
+ # Security Policy
2
+
3
+ ## Supported Use
4
+
5
+ NTerminal is supported as a single-owner personal web terminal for localhost, private machines, private VPNs, SSH tunnels, or HTTPS reverse proxies with a real access boundary.
6
+
7
+ NTerminal is not currently supported as:
8
+
9
+ - a public internet shell service
10
+ - a hosted multi-user product
11
+ - a shared team terminal
12
+ - a replacement for SSO, OAuth, RBAC, or hardened bastion access
13
+
14
+ If you expose NTerminal outside localhost or a private network, put it behind HTTPS and a separate access-control layer before relying on it.
15
+
16
+ ## Reporting Vulnerabilities
17
+
18
+ Do not post exploit details, host access details, secrets, or proof-of-compromise material in a public issue.
19
+
20
+ Preferred reporting path:
21
+
22
+ 1. Use GitHub private vulnerability reporting if it is enabled for the repository.
23
+ 2. If private reporting is not enabled, open a minimal public issue asking for a private contact path. Do not include sensitive details in that issue.
24
+
25
+ Please include:
26
+
27
+ - affected version or commit
28
+ - deployment shape, such as localhost, VPN, or reverse proxy
29
+ - reproduction steps
30
+ - expected impact
31
+ - whether real host shell access, session cookies, stored state, or PTY lifecycle is involved
32
+
33
+ ## Security Boundary
34
+
35
+ NTerminal opens a real shell on the host account running the server. A vulnerability can therefore affect the host machine, not only the browser UI.
36
+
37
+ The intended defense-in-depth layers are:
38
+
39
+ - bind to `127.0.0.1` by default
40
+ - keep remote access behind VPN, SSH tunnel, or reverse proxy access control
41
+ - use HTTPS with `NTERMINAL_COOKIE_SECURE=true` when remote
42
+ - set precise `NTERMINAL_ALLOWED_ORIGINS`
43
+ - require TOTP two-factor at login (set up during first-run after the password)
44
+ - single active session: a new login or re-auth revokes the previous session
45
+ - sessions are bound to the client IP; a session presented from a different,
46
+ non-whitelisted IP is rejected and must re-authenticate
47
+ - trusted devices may re-authenticate with a TOTP code only (no password) for 30 days
48
+ - trusted networks (exact IPs or CIDRs) skip the re-auth prompt
49
+ - keep `.env`, `.nterminal/`, logs, and state files out of source control
50
+
51
+ ### Session IP binding behind a proxy
52
+
53
+ Session IP binding needs the real client IP. Behind a reverse proxy, set
54
+ `NTERMINAL_TRUST_PROXY` so NTerminal reads `X-Forwarded-For`. Only enable this when a
55
+ proxy you control sits in front of NTerminal — if the server is directly reachable,
56
+ a client can spoof `X-Forwarded-For` and defeat IP binding.
57
+
58
+ ## Out Of Scope For Current Reports
59
+
60
+ The following are known product limitations unless they bypass the documented boundary:
61
+
62
+ - no multi-user roles
63
+ - no public internet hardening
64
+ - no terminal recovery after an OS reboot
65
+ - no Node-restart PTY persistence on hosts without `tmux`
66
+ - no container isolation for spawned shells
package/bin/nterminal.js CHANGED
@@ -58,7 +58,7 @@ function scriptEntrypoint(name) {
58
58
  function runScript(name, runArgs) {
59
59
  const entrypoint = scriptEntrypoint(name);
60
60
  if (!entrypoint) {
61
- console.error(`error: ${name} entrypoint not found; run npm run build first`);
61
+ console.error(`error: ${name} entrypoint not found; reinstall the package or run npm run build from a source checkout`);
62
62
  process.exit(1);
63
63
  }
64
64
  if (entrypoint.type === 'node') {
@@ -98,8 +98,8 @@ Commands:
98
98
  start Start the built server.
99
99
  stop Stop the managed server.
100
100
  restart Restart the managed server.
101
- build Build the app.
102
- deploy npm install/ci, typecheck, build, then restart.
101
+ build Build source checkouts. Package installs use bundled dist.
102
+ deploy Build source checkouts when needed, then restart.
103
103
  clean --force Remove local runtime state.
104
104
  logs [N] Show recent logs.
105
105
  logs -f [N] Follow logs.
@@ -90,7 +90,7 @@ export function writeEnvFile(envPath, updates) {
90
90
  }
91
91
  export function formatPrompt(question, fallback) {
92
92
  const suffix = fallback ? ` [${fallback}] (Enter = default)` : '';
93
- return `${question}${suffix}: `;
93
+ return `> ${question}${suffix}: `;
94
94
  }
95
95
  export function formatStepHeader(current, total, title) {
96
96
  const safeTotal = Math.max(1, Math.floor(total));
@@ -99,6 +99,76 @@ export function formatStepHeader(current, total, title) {
99
99
  const filled = Math.max(1, Math.min(width, Math.round((safeCurrent / safeTotal) * width)));
100
100
  return `[${safeCurrent}/${safeTotal}] ${'#'.repeat(filled)}${'-'.repeat(width - filled)} ${title}`;
101
101
  }
102
+ export function formatProgressBar(current, total, width = 24) {
103
+ const safeTotal = Math.max(1, Math.floor(total));
104
+ const safeCurrent = Math.min(safeTotal, Math.max(1, Math.floor(current)));
105
+ const safeWidth = Math.max(8, Math.floor(width));
106
+ const filled = Math.max(1, Math.min(safeWidth, Math.round((safeCurrent / safeTotal) * safeWidth)));
107
+ return `[${'='.repeat(filled)}${'-'.repeat(safeWidth - filled)}]`;
108
+ }
109
+ export function formatWizardPanel(section, current, total, title, detail, width = 78, color = false) {
110
+ const panelWidth = Math.max(44, Math.floor(width));
111
+ const innerWidth = panelWidth - 4;
112
+ const safeTotal = Math.max(1, Math.floor(total));
113
+ const safeCurrent = Math.min(safeTotal, Math.max(1, Math.floor(current)));
114
+ const percent = Math.round((safeCurrent / safeTotal) * 100);
115
+ const progressWidth = Math.max(8, Math.min(24, innerWidth - 6));
116
+ const detailLines = wrapPanelText(detail ?? '', innerWidth).map((line) => colorImportantPanelLine(line, color));
117
+ const lines = [
118
+ `${colorText(section, '36', color)} - ${colorText(`Step ${safeCurrent} of ${safeTotal}`, '1', color)}`,
119
+ colorText(title, '1', color),
120
+ `${colorText(formatProgressBar(safeCurrent, safeTotal, progressWidth), '32', color)} ${colorText(`${percent}%`, '1', color)}`,
121
+ ...detailLines
122
+ ];
123
+ const label = ' NTerminal Onboarding ';
124
+ const top = `┌─${label}${'─'.repeat(Math.max(0, panelWidth - label.length - 3))}┐`;
125
+ const bottom = `└${'─'.repeat(panelWidth - 2)}┘`;
126
+ return [top, ...lines.map((line) => `│ ${padVisible(line, innerWidth)} │`), bottom].join('\n');
127
+ }
128
+ function colorImportantPanelLine(line, enabled) {
129
+ if (/\b(required|must|password|2FA|token|firewall|HTTPS|public domain|proxy)\b/i.test(line)) {
130
+ return colorText(line, '33', enabled);
131
+ }
132
+ return line;
133
+ }
134
+ function colorText(text, code, enabled) {
135
+ return enabled ? `\x1b[${code}m${text}\x1b[0m` : text;
136
+ }
137
+ function padVisible(text, width) {
138
+ const visible = stripAnsi(text).length;
139
+ return `${text}${' '.repeat(Math.max(0, width - visible))}`;
140
+ }
141
+ function wrapPanelText(text, width) {
142
+ const trimmed = text.trim();
143
+ if (!trimmed)
144
+ return [];
145
+ const lines = [];
146
+ let current = '';
147
+ for (const word of trimmed.split(/\s+/)) {
148
+ if (word.length > width) {
149
+ if (current) {
150
+ lines.push(current);
151
+ current = '';
152
+ }
153
+ for (let idx = 0; idx < word.length; idx += width) {
154
+ lines.push(word.slice(idx, idx + width));
155
+ }
156
+ continue;
157
+ }
158
+ const next = current ? `${current} ${word}` : word;
159
+ if (next.length > width) {
160
+ lines.push(current);
161
+ current = word;
162
+ }
163
+ else {
164
+ current = next;
165
+ }
166
+ }
167
+ if (current) {
168
+ lines.push(current);
169
+ }
170
+ return lines;
171
+ }
102
172
  /** Replace targeted keys in an existing .env, preserving comments, blanks, and unrelated keys. Appends new keys. */
103
173
  export function mergeEnv(existing, updates) {
104
174
  const applied = new Set();
@@ -266,6 +336,7 @@ function serverModuleUrl(modulePath) {
266
336
  async function pickFromList(prompt, options, initialIndex = 0) {
267
337
  const stdout = process.stdout;
268
338
  let index = Math.max(0, Math.min(initialIndex, options.length - 1));
339
+ const color = shouldUseColor();
269
340
  const lines = options.length + 1;
270
341
  let rendered = false;
271
342
  const render = () => {
@@ -273,11 +344,13 @@ async function pickFromList(prompt, options, initialIndex = 0) {
273
344
  // Move the cursor back to the prompt line so we can rewrite the block.
274
345
  readline.moveCursor(stdout, 0, -lines);
275
346
  }
276
- stdout.write(`? ${prompt} (↑/↓ then Enter)\n`);
347
+ readline.clearLine(stdout, 0);
348
+ stdout.write(`? ${prompt} ${colorText('(↑/↓ then Enter)', '2', color)}\n`);
277
349
  for (const [i, opt] of options.entries()) {
278
- const marker = i === index ? '›' : ' ';
279
- const label = i === index ? `${opt.label}` : opt.label;
280
- stdout.write(`${marker} ${label}\n`);
350
+ readline.clearLine(stdout, 0);
351
+ const marker = i === index ? colorText('›', '36', color) : ' ';
352
+ const label = i === index ? colorText(opt.label, '1', color) : opt.label;
353
+ stdout.write(`${marker} ${label}\n`);
281
354
  }
282
355
  rendered = true;
283
356
  };
@@ -376,11 +449,13 @@ function existingEnvValue(key) {
376
449
  }
377
450
  return parseEnvValue(readFileSync(ENV_PATH, 'utf8'), key);
378
451
  }
379
- function printStep(current, total, title, detail) {
380
- console.log(`\n${formatStepHeader(current, total, title)}`);
381
- if (detail) {
382
- console.log(` ${detail}`);
383
- }
452
+ function printStep(section, current, total, title, detail) {
453
+ const columns = typeof process.stdout.columns === 'number' && process.stdout.columns > 0 ? process.stdout.columns : 80;
454
+ const width = Math.max(44, Math.min(78, columns - 2));
455
+ console.log(`\n${formatWizardPanel(section, current, total, title, detail, width, shouldUseColor())}`);
456
+ }
457
+ function shouldUseColor() {
458
+ return Boolean(process.stdout.isTTY && process.env.NO_COLOR === undefined && process.env.NTERMINAL_COLOR !== '0');
384
459
  }
385
460
  async function askUrl(p, question, fallback, defaultProtocol = 'https') {
386
461
  for (;;) {
@@ -468,7 +543,7 @@ function runDeploy() {
468
543
  }
469
544
  function printResolvedBindHost(resolved, detectedNote) {
470
545
  const note = resolved.origin === 'env' ? 'preserved from .env' : detectedNote;
471
- console.log(`Bind host: ${resolved.value} \x1b[2m(${note})\x1b[0m`);
546
+ console.log(`Bind host: ${resolved.value} ${colorText(`(${note})`, '2', shouldUseColor())}`);
472
547
  }
473
548
  function printResolvedBindPort(resolved) {
474
549
  const note = resolved.origin === 'env'
@@ -476,13 +551,14 @@ function printResolvedBindPort(resolved) {
476
551
  : resolved.origin === 'default'
477
552
  ? 'default 3107 is free'
478
553
  : 'default 3107 was busy; picked an ephemeral port';
479
- console.log(`Port: ${resolved.value} \x1b[2m(${note})\x1b[0m`);
554
+ console.log(`Port: ${resolved.value} ${colorText(`(${note})`, '2', shouldUseColor())}`);
480
555
  }
481
556
  async function onboardMain(p) {
482
557
  const totalSteps = 7;
483
558
  let currentStep = 0;
484
- const step = (title, detail) => printStep(++currentStep, totalSteps, title, detail);
485
- console.log('\n=== Main server setup ===');
559
+ const section = 'Main server setup';
560
+ const step = (title, detail) => printStep(section, ++currentStep, totalSteps, title, detail);
561
+ console.log(`\n=== ${section} ===`);
486
562
  // Main MUST bind to 127.0.0.1 — the nginx reverse proxy set up in
487
563
  // `setupNginxProxy` below hard-codes 127.0.0.1 as its upstream, and
488
564
  // binding wider would let clients bypass TLS by hitting the server's
@@ -613,7 +689,7 @@ async function onboardMain(p) {
613
689
  // already up from an earlier session.
614
690
  if (proxyResult.httpsReady) {
615
691
  step('Finish', 'Public HTTPS is verified.');
616
- printSummaryBox('\x1b[32m✓\x1b[0m Main is ready', [
692
+ printSummaryBox(`${colorText('✓', '32', shouldUseColor())} Main is ready`, [
617
693
  { label: 'Public URL', value: publicUrl },
618
694
  { label: 'Internal', value: `${host.value}:${port.value}` }
619
695
  ], [
@@ -631,14 +707,15 @@ async function onboardMain(p) {
631
707
  // deploy succeeded but httpsReady is false — proxy or cert step was
632
708
  // skipped or failed verification.
633
709
  step('Finish', 'NTerminal is running locally; finish proxy/TLS before using the public URL.');
634
- console.log(`\n\x1b[33m⚠\x1b[0m NTerminal itself is running on 127.0.0.1:${port.value}, but the public URL is not verified yet — the reverse-proxy or TLS step above was skipped or did not pass its check.`);
710
+ console.log(`\n${colorText('⚠', '33', shouldUseColor())} NTerminal itself is running on 127.0.0.1:${port.value}, but the public URL is not verified yet — the reverse-proxy or TLS step above was skipped or did not pass its check.`);
635
711
  console.log(`Finish the remaining commands shown above, then re-run \`npm run onboarding\` to re-verify ${publicUrl}.`);
636
712
  }
637
713
  async function onboardSecondary(p) {
638
714
  const totalSteps = 7;
639
715
  let currentStep = 0;
640
- const step = (title, detail) => printStep(++currentStep, totalSteps, title, detail);
641
- console.log('\n=== Secondary (agent) server setup ===');
716
+ const section = 'Secondary server setup';
717
+ const step = (title, detail) => printStep(section, ++currentStep, totalSteps, title, detail);
718
+ console.log(`\n=== ${section} ===`);
642
719
  // Secondary listens on all interfaces by default so the main can reach it
643
720
  // across hosts. Existing .env value wins — same preservation rule as main.
644
721
  step('Bind local agent', 'The main server must be able to reach this host and port.');
@@ -679,8 +756,9 @@ async function onboardSecondary(p) {
679
756
  }
680
757
  step('Register with main', 'Optional, but registration lets the main sidebar show this server immediately.');
681
758
  const wantRegister = await p.confirm('\nRegister this server with a main now?', true);
759
+ let registeredWithMain = false;
682
760
  if (wantRegister) {
683
- await registerWithMain(p, { name, selfUrl, agentToken });
761
+ registeredWithMain = await registerWithMain(p, { name, selfUrl, agentToken });
684
762
  }
685
763
  else {
686
764
  console.log('Skipped registration. Add it later from the main sidebar (URL + the agent token in this .env).');
@@ -693,19 +771,27 @@ async function onboardSecondary(p) {
693
771
  process.exitCode = 1;
694
772
  return;
695
773
  }
696
- step('Finish', wantRegister ? 'Registered secondary is ready.' : 'Secondary is ready for manual registration.');
697
- printSummaryBox(`\x1b[32m✓\x1b[0m Secondary "${name}" is ready`, [
774
+ step('Finish', registeredWithMain ? 'Registered secondary is ready.' : 'Secondary is ready for manual registration.');
775
+ printSummaryBox(`${colorText('✓', '32', shouldUseColor())} Secondary "${name}" is ready`, [
698
776
  { label: 'Reachable at', value: selfUrl },
699
777
  { label: 'Bind', value: `${host.value}:${port.value}` },
700
- { label: 'Registered', value: wantRegister ? 'yes (logged into the main)' : 'no — paste the agent token in the main sidebar later' }
701
- ], wantRegister
778
+ {
779
+ label: 'Registered',
780
+ value: registeredWithMain
781
+ ? 'yes (logged into the main)'
782
+ : wantRegister
783
+ ? 'no — registration did not complete'
784
+ : 'no — paste the agent token in the main sidebar later'
785
+ }
786
+ ], registeredWithMain
702
787
  ? [
703
788
  'On the main, the Servers list should now show this agent',
704
789
  'Re-login on the main in your browser (CLI login revoked any active session)'
705
790
  ]
706
791
  : [
707
792
  `In the main sidebar, add a server with URL ${selfUrl}`,
708
- 'Paste the agent token from this server\'s .env'
793
+ 'Paste the agent token from this server\'s .env',
794
+ ...(wantRegister ? ['Or fix the registration error above and re-run onboarding on this secondary'] : [])
709
795
  ]);
710
796
  }
711
797
  async function registerWithMain(p, agent) {
@@ -719,7 +805,7 @@ async function registerWithMain(p, agent) {
719
805
  const status = (await res.json());
720
806
  if (!status.passwordSet) {
721
807
  console.log('That main has no password set yet. Onboard the MAIN first, then re-run this on the secondary.');
722
- return;
808
+ return false;
723
809
  }
724
810
  break;
725
811
  }
@@ -751,6 +837,7 @@ async function registerWithMain(p, agent) {
751
837
  }
752
838
  }
753
839
  const payload = buildAgentRegisterPayload(agent.name, agent.selfUrl, agent.agentToken);
840
+ let registered = false;
754
841
  try {
755
842
  // Remove any existing agent pointing at the same URL to avoid duplicates.
756
843
  try {
@@ -783,9 +870,13 @@ async function registerWithMain(p, agent) {
783
870
  console.log(`Registration failed (${body.error ?? regRes.status}).`);
784
871
  }
785
872
  else {
873
+ registered = true;
786
874
  console.log(`Registered with main as "${payload.name}".`);
787
875
  }
788
876
  }
877
+ catch (error) {
878
+ console.log(`Registration error: ${errorText(error)}.`);
879
+ }
789
880
  finally {
790
881
  // Always clean up the CLI session + the trusted-device record it created on the main,
791
882
  // even if registration threw.
@@ -797,6 +888,7 @@ async function registerWithMain(p, agent) {
797
888
  }
798
889
  console.log('\nNote: logging into the main from this CLI revoked any active browser session on the main');
799
890
  console.log(' (single active session policy). Re-login in your browser.');
891
+ return registered;
800
892
  }
801
893
  function collectCookies(headers) {
802
894
  // Node fetch exposes combined set-cookie via getSetCookie()
@@ -824,18 +916,20 @@ function printTopology() {
824
916
  // the operator is installing — first-time users often don't know whether
825
917
  // they want main or secondary, and a name + one-line description fits in
826
918
  // the picker but doesn't show how the pieces connect.
919
+ const color = shouldUseColor();
920
+ const dim = (text) => colorText(text, '2', color);
827
921
  const lines = [
828
- '\x1b[2m browser\x1b[0m',
829
- "\x1b[2m │ https\x1b[0m",
830
- '\x1b[2m ▼\x1b[0m',
922
+ dim(' browser'),
923
+ dim(' │ https'),
924
+ dim(' '),
831
925
  ' ┌───────────┐',
832
- ' │ main │\x1b[2m ← password + TOTP, fronts everything\x1b[0m',
926
+ ` │ main │${dim(' ← password + TOTP, fronts everything')}`,
833
927
  ' └─────┬─────┘',
834
- "\x1b[2m │ agent token over LAN/VPN\x1b[0m",
835
- "\x1b[2m ▼\x1b[0m",
928
+ dim(' │ agent token over LAN/VPN'),
929
+ dim(' ▼'),
836
930
  ' ┌───────────┐',
837
- ' │ secondary │\x1b[2m ← additional shell hosts, registered with the main\x1b[0m',
838
- ' └───────────┘\x1b[2m (zero or more; optional)\x1b[0m'
931
+ ` │ secondary │${dim(' ← additional shell hosts, registered with the main')}`,
932
+ ` └───────────┘${dim(' (zero or more; optional)')}`
839
933
  ];
840
934
  console.log('Topology:');
841
935
  for (const line of lines) {
@@ -845,9 +939,10 @@ function printTopology() {
845
939
  }
846
940
  async function chooseRole() {
847
941
  if (process.stdin.isTTY) {
942
+ const color = shouldUseColor();
848
943
  return pickFromList('Install as', [
849
- { label: 'main — orchestrates secondaries; password + 2FA gate', value: 'main' },
850
- { label: 'secondary — agent that registers with a main', value: 'secondary' }
944
+ { label: `main ${colorText('— orchestrates secondaries; password + 2FA gate', '2', color)}`, value: 'main' },
945
+ { label: `secondary ${colorText('— agent that registers with a main', '2', color)}`, value: 'secondary' }
851
946
  ]);
852
947
  }
853
948
  // Non-TTY (piped/automation): keep a one-line text prompt so scripted runs
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../scripts/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../scripts/onboarding.ts"],"names":[],"mappings":"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"}
@@ -202,6 +202,52 @@ export function trySymlink(target, link) {
202
202
  throw err;
203
203
  }
204
204
  }
205
+ export function nginxDumpLoadsPath(dump, filePath) {
206
+ const marker = `# configuration file ${filePath}:`;
207
+ return dump.split(/\r?\n/).some((line) => line.trim() === marker);
208
+ }
209
+ export function nginxDumpIncludesGlob(dump, glob) {
210
+ const escaped = escapeRegExp(glob);
211
+ const includePattern = new RegExp(String.raw `^include\s+${escaped}\s*;$`, 'i');
212
+ return dump
213
+ .split(/\r?\n/)
214
+ .map((line) => line.trim())
215
+ .filter((line) => line && !line.startsWith('#'))
216
+ .some((line) => includePattern.test(line));
217
+ }
218
+ export function findNginxServerNameFiles(dump, domain) {
219
+ const target = domain.toLowerCase();
220
+ const files = new Set();
221
+ let currentFile = '(unknown file)';
222
+ for (const line of dump.split(/\r?\n/)) {
223
+ const marker = line.match(/^# configuration file (.+):\s*$/);
224
+ if (marker) {
225
+ currentFile = marker[1].trim();
226
+ continue;
227
+ }
228
+ const serverName = line.match(/\bserver_name\s+([^;]+);/i);
229
+ if (!serverName) {
230
+ continue;
231
+ }
232
+ const names = serverName[1]
233
+ .split(/\s+/)
234
+ .map((name) => name.trim().toLowerCase())
235
+ .filter(Boolean);
236
+ if (names.includes(target)) {
237
+ files.add(currentFile);
238
+ }
239
+ }
240
+ return [...files];
241
+ }
242
+ export function certbotRegistrationArgs(email) {
243
+ const trimmed = email.trim();
244
+ return trimmed
245
+ ? ['--email', trimmed, '--no-eff-email']
246
+ : ['--register-unsafely-without-email'];
247
+ }
248
+ function escapeRegExp(value) {
249
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
250
+ }
205
251
  // True when `sudo` would not prompt for a password right now — either the
206
252
  // process is already root, or the operator has a cached sudo timestamp, or
207
253
  // they have NOPASSWD configured for these commands. Lets us skip the
@@ -236,6 +282,12 @@ export function sudoRun(args) {
236
282
  }
237
283
  }
238
284
  }
285
+ function sudoRunCapture(args) {
286
+ const result = spawnSync('sudo', args, { stdio: ['ignore', 'pipe', 'pipe'] });
287
+ const stdout = result.stdout?.toString() ?? '';
288
+ const stderr = result.stderr?.toString() ?? '';
289
+ return { ok: result.status === 0, output: `${stdout}${stderr}` };
290
+ }
239
291
  // Place `content` at `targetPath` as root in one shot: stage to a per-process
240
292
  // tmp file (writable by us), then `sudo install -m 644` it into place. install(1)
241
293
  // is atomic-rename-equivalent and sets perms in one syscall, which is cleaner
@@ -629,9 +681,6 @@ async function ensureSymlinked(configPath, linkPath, prompter, sudoMode) {
629
681
  });
630
682
  }
631
683
  async function ensureNginxServingDomain(layout, domain, port, prompter, sudoMode) {
632
- // Try reload ourselves first; the test step happens implicitly inside the
633
- // reload (an invalid config keeps the old workers running, which the curl
634
- // verification below would catch).
635
684
  const reloadAttempt = tryRun(layout.binary, ['-s', 'reload']);
636
685
  if (reloadAttempt.kind === 'failed' && !reloadAttempt.permission) {
637
686
  console.log(`\n\x1b[33m⚠\x1b[0m nginx reload failed (not a permission issue):\n${reloadAttempt.output}`);
@@ -648,18 +697,17 @@ async function ensureNginxServingDomain(layout, domain, port, prompter, sudoMode
648
697
  const reload = sudoRun([layout.binary, '-s', 'reload']);
649
698
  if (!reload.ok) {
650
699
  console.log('sudo reload failed; falling back to manual instructions.');
651
- // fall through to waitForOperator
652
- }
653
- else {
654
- const verified = await verifyProxyServing(domain, port);
655
- if (verified.ok) {
656
- console.log(`\x1b[32m✓\x1b[0m nginx reloaded and proxying ${domain} to NTerminal`);
657
- return true;
658
- }
659
- console.log(`\x1b[33m⚠\x1b[0m proxy verification still failing: ${verified.reason}`);
660
- // fall through so the operator gets the wait loop with the reason
661
700
  }
662
701
  }
702
+ const verified = await verifyProxyServing(domain, port);
703
+ if (verified.ok) {
704
+ console.log(`\x1b[32m✓\x1b[0m nginx reloaded and proxying ${domain} to NTerminal`);
705
+ return true;
706
+ }
707
+ console.log(`\x1b[33m⚠\x1b[0m proxy verification still failing: ${verified.reason}`);
708
+ if (sudoMode !== 'manual' && (await tryRepairNginxRoute(layout, domain, port, sudoMode))) {
709
+ return true;
710
+ }
663
711
  // Whether we managed the reload or not, verify via curl-with-Host that
664
712
  // the new block is actually serving. This is the only check that proves
665
713
  // the config loaded; nginx -t alone just validates syntax.
@@ -675,6 +723,66 @@ async function ensureNginxServingDomain(layout, domain, port, prompter, sudoMode
675
723
  prompter
676
724
  });
677
725
  }
726
+ async function tryRepairNginxRoute(layout, domain, port, sudoMode) {
727
+ const dump = captureNginxConfigDump(layout, sudoMode);
728
+ if (!dump) {
729
+ return false;
730
+ }
731
+ const activeConfigPath = layout.enabledDir
732
+ ? path.join(layout.enabledDir, `${domain}.conf`)
733
+ : path.join(layout.confDir, `${domain}.conf`);
734
+ const serverNameFiles = findNginxServerNameFiles(dump, domain);
735
+ if (serverNameFiles.length > 0) {
736
+ const loadedWhere = serverNameFiles.map((file) => ` - ${file}`).join('\n');
737
+ console.log(`\x1b[33m⚠\x1b[0m nginx -T already shows server_name ${domain} in:\n${loadedWhere}\n` +
738
+ 'NTerminal will not auto-edit existing vhosts. If one of these is an old/default site, disable it or remove the duplicate server_name, then reload nginx.');
739
+ return false;
740
+ }
741
+ if (nginxDumpLoadsPath(dump, activeConfigPath)) {
742
+ return false;
743
+ }
744
+ const fallbackPath = nginxDumpIncludesGlob(dump, '/etc/nginx/conf.d/*.conf')
745
+ ? path.join('/etc/nginx/conf.d', `${domain}.conf`)
746
+ : null;
747
+ if (!fallbackPath || fallbackPath === activeConfigPath || existsSync(fallbackPath)) {
748
+ return false;
749
+ }
750
+ console.log(`\nnginx reloaded, but ${activeConfigPath} is not part of the active nginx config. ` +
751
+ `Writing an active fallback at ${fallbackPath}…`);
752
+ const written = sudoWriteFile(fallbackPath, generateNginxConfig(domain, port));
753
+ if (!written.ok || !existsSync(fallbackPath)) {
754
+ console.log('fallback nginx config write failed.');
755
+ return false;
756
+ }
757
+ const testResult = sudoRun([layout.binary, '-t']);
758
+ if (!testResult.ok) {
759
+ console.log(`\x1b[33m⚠\x1b[0m fallback config was written, but \`sudo ${layout.binary} -t\` failed.`);
760
+ return false;
761
+ }
762
+ const reload = sudoRun([layout.binary, '-s', 'reload']);
763
+ if (!reload.ok) {
764
+ console.log('fallback config was written, but nginx reload failed.');
765
+ return false;
766
+ }
767
+ const verified = await verifyProxyServing(domain, port);
768
+ if (verified.ok) {
769
+ console.log(`\x1b[32m✓\x1b[0m nginx fallback config loaded and proxying ${domain} to NTerminal`);
770
+ return true;
771
+ }
772
+ console.log(`\x1b[33m⚠\x1b[0m fallback config loaded, but proxy verification still failed: ${verified.reason}`);
773
+ return false;
774
+ }
775
+ function captureNginxConfigDump(layout, sudoMode) {
776
+ const direct = tryRun(layout.binary, ['-T']);
777
+ if (direct.kind === 'ok') {
778
+ return direct.output;
779
+ }
780
+ if (!direct.permission || sudoMode === 'manual') {
781
+ return null;
782
+ }
783
+ const sudo = sudoRunCapture([layout.binary, '-T']);
784
+ return sudo.ok ? sudo.output : null;
785
+ }
678
786
  async function ensureHttpsWorks(domain, prompter, sudoMode) {
679
787
  // Quick check first — maybe an earlier onboarding run already issued the
680
788
  // cert and we just need to confirm.
@@ -706,42 +814,33 @@ async function ensureHttpsWorks(domain, prompter, sudoMode) {
706
814
  }
707
815
  }
708
816
  if (sudoMode !== 'manual' && whichBinary('certbot')) {
709
- // Gather the email up-front via our own prompter and pass it as a flag
710
- // so certbot runs fully non-interactive. The previous "let certbot
711
- // prompt directly" approach hit a TTY-mode conflict with readline that
712
- // hid the input + ate Enter keeping certbot non-interactive sidesteps
713
- // that entirely and is also faster for the operator (no waiting for
714
- // certbot to print its prompt).
817
+ // Ask once via our own prompter and pass explicit registration flags so
818
+ // certbot runs fully non-interactive. Blank input continues without an
819
+ // email; Certbot supports that via --register-unsafely-without-email, but
820
+ // it means the operator will not receive expiry / revocation warnings.
715
821
  const email = await askCertbotEmail(prompter);
716
- if (!email) {
717
- console.log('Skipping auto-certbot (no email). Falling back to manual instructions.');
822
+ const certArgs = [
823
+ 'certbot',
824
+ '--nginx',
825
+ '-d',
826
+ domain,
827
+ ...certbotRegistrationArgs(email),
828
+ '--agree-tos',
829
+ '--non-interactive',
830
+ '--keep-until-expiring' // skip the "renew?" prompt if a valid cert is already in place
831
+ ];
832
+ console.log(`\nIssuing TLS cert via \`sudo ${certArgs.join(' ')}\`…`);
833
+ const cert = sudoRun(certArgs);
834
+ if (cert.ok) {
835
+ const verified = await verifyHttpsReachable(domain);
836
+ if (verified.ok) {
837
+ console.log(`\x1b[32m✓\x1b[0m https://${domain} is up`);
838
+ return true;
839
+ }
840
+ console.log(`\x1b[33m⚠\x1b[0m certbot exited 0 but HTTPS verify failed: ${verified.reason}`);
718
841
  }
719
842
  else {
720
- const certArgs = [
721
- 'certbot',
722
- '--nginx',
723
- '-d',
724
- domain,
725
- '--email',
726
- email,
727
- '--agree-tos',
728
- '--no-eff-email',
729
- '--non-interactive',
730
- '--keep-until-expiring' // skip the "renew?" prompt if a valid cert is already in place
731
- ];
732
- console.log(`\nIssuing TLS cert via \`sudo ${certArgs.join(' ')}\`…`);
733
- const cert = sudoRun(certArgs);
734
- if (cert.ok) {
735
- const verified = await verifyHttpsReachable(domain);
736
- if (verified.ok) {
737
- console.log(`\x1b[32m✓\x1b[0m https://${domain} is up`);
738
- return true;
739
- }
740
- console.log(`\x1b[33m⚠\x1b[0m certbot exited 0 but HTTPS verify failed: ${verified.reason}`);
741
- }
742
- else {
743
- console.log('certbot run failed; falling back to manual instructions.');
744
- }
843
+ console.log('certbot run failed; falling back to manual instructions.');
745
844
  }
746
845
  }
747
846
  return waitForOperator({
@@ -752,7 +851,8 @@ async function ensureHttpsWorks(domain, prompter, sudoMode) {
752
851
  'server block (with the cert) plus an http→https redirect. It also installs a ' +
753
852
  'systemd timer that auto-renews the cert before it expires.',
754
853
  commands: [
755
- `sudo certbot --nginx -d ${domain}`,
854
+ `sudo certbot --nginx -d ${domain} --register-unsafely-without-email --agree-tos`,
855
+ `# Or with expiry/revocation notices: sudo certbot --nginx -d ${domain} --email you@example.com --agree-tos --no-eff-email`,
756
856
  `# If certbot isn't installed:`,
757
857
  `# Debian/Ubuntu: sudo apt install certbot python3-certbot-nginx`,
758
858
  `# RHEL/Fedora: sudo dnf install certbot python3-certbot-nginx`
@@ -761,35 +861,21 @@ async function ensureHttpsWorks(domain, prompter, sudoMode) {
761
861
  prompter
762
862
  });
763
863
  }
764
- // Ask the operator for a Let's Encrypt account email and loop on invalid
765
- // input. Returns an empty string when the operator gives up — caller treats
766
- // that as "skip auto-certbot, fall back to manual". The default suggestion
767
- // comes from `git config user.email` when set, so a usual server's already-
768
- // configured identity becomes a one-Enter answer.
864
+ // Ask the operator for an optional Let's Encrypt account email and loop on
865
+ // invalid input. Blank means "continue without email" rather than bailing out.
769
866
  async function askCertbotEmail(prompter) {
770
- const suggestion = readGitEmail() ?? '';
771
867
  for (;;) {
772
- const raw = (await prompter.ask('Email for Let’s Encrypt cert (renewal + expiry warnings; blank to skip auto-certbot)', suggestion)).trim();
868
+ const raw = (await prompter.ask('Email for Let’s Encrypt cert (optional; Enter = continue without email)')).trim();
773
869
  if (!raw) {
774
870
  return '';
775
871
  }
776
872
  if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(raw)) {
777
- console.log('That does not look like an email. Try again, or leave blank to skip.');
873
+ console.log('That does not look like an email. Try again, or press Enter to continue without email.');
778
874
  continue;
779
875
  }
780
876
  return raw;
781
877
  }
782
878
  }
783
- function readGitEmail() {
784
- const result = spawnSync('git', ['config', '--get', 'user.email'], {
785
- stdio: ['ignore', 'pipe', 'ignore']
786
- });
787
- if (result.status !== 0) {
788
- return undefined;
789
- }
790
- const value = result.stdout.toString().trim();
791
- return value || undefined;
792
- }
793
879
  // Check the host firewall and open ports 80/443 when needed. We treat this
794
880
  // as best-effort: returns silently when we can't detect a firewall config
795
881
  // we know how to drive (raw iptables, nftables, none) — certbot's challenge
@@ -1 +1 @@
1
- {"version":3,"file":"proxySetup.js","sourceRoot":"","sources":["../../scripts/proxySetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxySetup.js","sourceRoot":"","sources":["../../scripts/proxySetup.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ Onboarding writes `.env` for you.
39
39
  | --- | --- | --- |
40
40
  | `NTERMINAL_HOST` | `127.0.0.1` | Bind host. Keep the main server local unless a separate access boundary is in front. |
41
41
  | `NTERMINAL_PORT` | `3107` | HTTP server port. |
42
- | `NTERMINAL_WORKSPACE_ROOT` | launch directory | Startup directory for new terminal tabs. |
42
+ | `NTERMINAL_WORKSPACE_ROOT` | home directory | Startup directory for new terminal tabs. |
43
43
  | `NTERMINAL_SHELL` | `$SHELL`, then `/bin/bash` | Shell path for new PTYs. |
44
44
  | `NTERMINAL_STATE_PATH` | `.nterminal/state.json` | Local state file for password and layout data. |
45
45
  | `NTERMINAL_SESSION_SECRET` | required | Server secret for password hashing and session cookies. |
@@ -35,7 +35,7 @@ The main setup flow:
35
35
  2. Requires a public `https://<domain>` URL for the proxy setup path. Raw IPs, `http://`, `localhost`, and `.local` URLs are rejected in that path.
36
36
  3. Writes `.env`, including a generated `NTERMINAL_SESSION_SECRET`.
37
37
  4. Sets the login password and enables TOTP headlessly. The CLI prints a terminal QR code, base32 secret, and `otpauth://` URI, then verifies the 6-digit code.
38
- 5. Optionally builds and starts the server with `scripts/nterminalctl deploy`.
38
+ 5. Optionally starts the bundled package build, or builds and starts a source checkout, with `scripts/nterminalctl deploy`.
39
39
  6. Optionally provisions nginx, DNS verification, firewall rules, and Let's Encrypt TLS.
40
40
 
41
41
  The final summary prints the public URL, internal bind, and next steps.
@@ -58,7 +58,7 @@ The secondary setup flow:
58
58
  4. Generates a session secret and `NTERMINAL_AGENT_TOKEN`, then writes `.env`.
59
59
  5. Prompts for the main server URL, password, and authenticator code.
60
60
  6. Registers this secondary server with the main server automatically.
61
- 7. Optionally builds and starts the server.
61
+ 7. Optionally starts the bundled package build, or builds and starts a source checkout.
62
62
 
63
63
  Onboard the main server first. The main must already have password and TOTP configured before a secondary server can register itself.
64
64
 
@@ -2,7 +2,18 @@
2
2
 
3
3
  ## Local Service Management
4
4
 
5
- For production-style local operation, use the bundled control script through npm.
5
+ For production-style local operation from an npm package install, use the `nterminal` command:
6
+
7
+ ```bash
8
+ nterminal doctor
9
+ nterminal start
10
+ nterminal status
11
+ nterminal logs
12
+ nterminal restart
13
+ nterminal stop
14
+ ```
15
+
16
+ For source checkouts, use the bundled control script through npm:
6
17
 
7
18
  ```bash
8
19
  npm run ctl -- doctor
@@ -18,7 +29,7 @@ The script starts the built server in the background, writes a PID file, appends
18
29
 
19
30
  Source checkouts keep runtime files in the repository's `.nterminal/` directory by default. npm package installs launched through `nterminal` keep runtime files under `~/.nterminal`.
20
31
 
21
- One-command local deploy:
32
+ One-command source checkout deploy:
22
33
 
23
34
  ```bash
24
35
  npm run deploy:local
@@ -56,10 +67,11 @@ Notes:
56
67
  To clean a local install before reinstalling:
57
68
 
58
69
  ```bash
59
- scripts/nterminalctl clean --force --env
70
+ nterminal clean --force --env
60
71
  ```
61
72
 
62
73
  This stops the managed server, kills NTerminal tmux sessions, removes `.nterminal/`, and removes `.env`.
74
+ In a source checkout, run the same command as `npm run ctl -- clean --force --env`.
63
75
 
64
76
  Options:
65
77
 
@@ -96,7 +108,13 @@ Manual smoke test:
96
108
 
97
109
  ## Troubleshooting
98
110
 
99
- If native PTY install or startup fails:
111
+ If native PTY install or startup fails for a package install:
112
+
113
+ ```bash
114
+ npm explore -g nterminal -- npm rebuild node-pty --build-from-source
115
+ ```
116
+
117
+ For source checkouts:
100
118
 
101
119
  ```bash
102
120
  npm rebuild node-pty --build-from-source
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nterminal",
3
- "version": "1.2.10",
3
+ "version": "1.2.12",
4
4
  "license": "GPL-3.0-only",
5
5
  "type": "module",
6
6
  "packageManager": "npm@10.9.7",
@@ -15,6 +15,7 @@
15
15
  ".env.example",
16
16
  "LICENSE",
17
17
  "README.md",
18
+ "SECURITY.md",
18
19
  "assets/",
19
20
  "bin/",
20
21
  "dist/",
@@ -103,16 +103,30 @@ ensure_app_dir() {
103
103
  [[ -d "$APP_DIR" ]] || die "app directory not found: $APP_DIR"
104
104
  }
105
105
 
106
- ensure_env_file() {
107
- [[ -f "$ENV_FILE" ]] || die ".env not found at $ENV_FILE; copy .env.example and run npm run generate:secrets"
106
+ is_source_checkout() {
107
+ [[ -f "$APP_DIR/tsconfig.server.json" && -d "$APP_DIR/src" ]]
108
108
  }
109
109
 
110
- ensure_runtime() {
111
- [[ -f "$RUNTIME_ENTRY" ]] || die "dist/server/index.js not found; run scripts/nterminalctl build first"
110
+ missing_env_message() {
111
+ if is_source_checkout; then
112
+ printf '.env not found at %s; copy .env.example and run npm run generate:secrets' "$ENV_FILE"
113
+ else
114
+ printf '.env not found at %s; run nterminal onboarding' "$ENV_FILE"
115
+ fi
112
116
  }
113
117
 
114
- is_source_checkout() {
115
- [[ -f "$APP_DIR/tsconfig.server.json" && -d "$APP_DIR/src" ]]
118
+ ensure_env_file() {
119
+ [[ -f "$ENV_FILE" ]] || die "$(missing_env_message)"
120
+ }
121
+
122
+ ensure_runtime() {
123
+ if [[ -f "$RUNTIME_ENTRY" ]]; then
124
+ return 0
125
+ fi
126
+ if is_source_checkout; then
127
+ die "dist/server/index.js not found; run scripts/nterminalctl build first"
128
+ fi
129
+ die "dist/server/index.js not found; reinstall nterminal"
116
130
  }
117
131
 
118
132
  ensure_directories() {
@@ -357,6 +371,11 @@ cmd_restart() {
357
371
 
358
372
  cmd_build() {
359
373
  ensure_app_dir
374
+ if ! is_source_checkout; then
375
+ ensure_runtime
376
+ info "Package install uses bundled dist; no build needed."
377
+ return 0
378
+ fi
360
379
  (
361
380
  cd "$APP_DIR"
362
381
  "$NPM_BIN" run build
@@ -372,16 +391,12 @@ cmd_deploy() {
372
391
  "$NPM_BIN" ci
373
392
  elif is_source_checkout; then
374
393
  "$NPM_BIN" install
375
- else
376
- "$NPM_BIN" install --omit=dev
377
394
  fi
378
395
  if is_source_checkout; then
379
396
  "$NPM_BIN" run typecheck
380
- fi
381
- # node-pty's install script always compiles from source (no prebuilt
382
- # download); ask npm to rebuild it explicitly after dependency updates.
383
- "$NPM_BIN" rebuild node-pty --build-from-source
384
- if is_source_checkout; then
397
+ # node-pty's install script always compiles from source (no prebuilt
398
+ # download); ask npm to rebuild it explicitly after dependency updates.
399
+ "$NPM_BIN" rebuild node-pty --build-from-source
385
400
  "$NPM_BIN" run build
386
401
  else
387
402
  ensure_runtime
@@ -560,8 +575,8 @@ Commands:
560
575
  start Start the built server in the background.
561
576
  stop Stop the managed server with SIGTERM, then SIGKILL after timeout.
562
577
  restart Stop and start the server.
563
- build Run npm run build.
564
- deploy Install deps, rebuild node-pty, build source checkouts, then restart.
578
+ build Build source checkouts. Package installs use bundled dist.
579
+ deploy Build source checkouts when needed, then restart.
565
580
  clean --force Stop server, kill NTerminal tmux sessions, and remove local state/log/pid files.
566
581
  Add --env to also remove .env. Add --keep-tmux to preserve live panes.
567
582
  logs [N] Show the last N log lines. Default: 100.