Andy Dixon
0a18f7e578
fix: generate SSH keys in-process, verify loopback tunnel peer, bound SSH command output
...
- SSH key pairs are generated with ssh-key (Ed25519/ECDSA P-256/RSA) and
encrypted in-process, so the passphrase no longer appears as an ssh-keygen
command-line argument visible in the process list.
- open_tunnel's loopback bridge checks the accepted peer is our own client
socket, so a local process racing for the ephemeral port can't be spliced
into the IRC/VNC SSH tunnel.
- run_command caps buffered output at 1 MiB; local-forward abort handles are
pruned as connections finish; SOCKS5 host/credential lengths over 255 bytes
are rejected instead of being truncated into a malformed request.
2026-10-12 07:22:31 +01:00
Andy Dixon
9cf221779b
fix: purge keychain credentials on profile delete, atomic owner-only secret writes, zeroize derived keys
...
- Secrets::delete_profile removes every profile credential kind from the OS
keychain as well as the vault (previously only the vault was purged, so
keychain passwords/tokens outlived the profile).
- write_private writes to a sibling temp file and renames it into place, so a
crash mid-write cannot truncate the vault or an export, and a pre-existing
world-readable file is replaced rather than reused.
- Argon2-derived vault/export keys are Zeroizing and wiped on drop.
- Recordings (which capture typed input), JSON exports and --data-dir
directories are created owner-only.
2026-10-12 07:20:11 +01:00
Andy Dixon
8766846a3b
docs: illustrated LaTeX user guide (docs/guide) with generated screenshots
2026-10-11 19:41:31 +01:00
Andy Dixon
ce9c5c6b44
Screenshot automation (--connect repeatable, --do, --answer, --shot-delay), SFTP Browser palette entry, centred dialogs, IRC opens the first joined room; demo_data example
2026-10-11 19:41:30 +01:00
Andy Dixon
84eff02c15
Move update and release URLs to dixon.cx/downloads/nexus
2026-10-11 19:06:48 +01:00
Andy Dixon
7b92b81ecd
Serial/Telnet Send Break and DTR/RTS tab controls; fix Help and hints; drop unused log path; docs
2026-10-11 17:54:11 +01:00
Andy Dixon
8d798124e9
Merge branch 'docs-rewrite' into rust-port
2026-10-11 17:52:43 +01:00
Andy Dixon
8c646e7176
docs: rewrite for Nexus Terminal
2026-10-11 17:52:35 +01:00
Andy Dixon
b3de13f0b7
docs: port status
2026-10-11 17:49:37 +01:00
Andy Dixon
1c16079584
Remove the Go backend, JS frontend, Wails config and old build scripts; release.sh now wraps rust/release.sh
2026-10-11 17:43:55 +01:00
Andy Dixon
e1707e4751
rust: VNC remote clipboard to the local clipboard
2026-10-11 17:43:35 +01:00
Andy Dixon
cc42a9086d
rust: --connect startup flag; palette launcher hint fits narrow windows
2026-10-11 17:42:40 +01:00
Andy Dixon
2bb12c3a58
rust: merge UI feature modules; fix Ctrl+key on Linux/Windows (egui command_only shadowing); clippy clean; rustfmt config
2026-10-11 17:40:48 +01:00
Andy Dixon
327ca1caa9
Merge branch 'ui-views' into rust-port
2026-10-11 17:35:22 +01:00
Andy Dixon
3ed4454081
rust: RAW, IRC, GitHub and VNC views
2026-10-11 17:35:15 +01:00
Andy Dixon
b646950738
rust: --open <window> for headless screenshot checks
2026-10-11 17:34:15 +01:00
Andy Dixon
cce0bdb1fb
Merge branch 'ui-sftp' into rust-port
2026-10-11 17:32:39 +01:00
Andy Dixon
19c5862288
rust: apply sidebar width from Settings; egui Panel::show
2026-10-11 17:32:39 +01:00
Andy Dixon
143e4900e0
rust: SFTP browser, file drop, port forwards
2026-10-11 17:32:07 +01:00
Andy Dixon
31d8d6fdae
Merge branch 'ui-settings' into rust-port
2026-10-11 17:27:33 +01:00
Andy Dixon
580c7239ba
Merge branch 'ui-tools' into rust-port
2026-10-11 17:26:02 +01:00
Andy Dixon
4ff59f6183
Merge branch 'ui-editor' into rust-port
2026-10-11 17:26:01 +01:00
Andy Dixon
4b17298925
rust: settings, SSH key manager, export/import
2026-10-11 17:25:56 +01:00
Andy Dixon
52770923df
rust: snippets, triggers, recordings and playback
2026-10-11 17:23:54 +01:00
Andy Dixon
7f4f9376fb
rust: profile editor and quick connect
2026-10-11 17:23:47 +01:00
Andy Dixon
f80374db77
docs: build and release for the Rust app
2026-10-11 17:14:40 +01:00
Andy Dixon
b1e18a8ffb
rust: optimise the app crate in dev builds (terminal parser); throughput test
2026-10-11 17:14:11 +01:00
Andy Dixon
0f4a906914
rust: keychain calls off the tokio runtime; plan reflects as-built crate choices
2026-10-11 17:04:24 +01:00
Andy Dixon
328507c57b
rust: packaging (Linux desktop entry, macOS bundle), cargo release script with update manifests, CI
2026-10-11 16:53:19 +01:00
Andy Dixon
ea09aeafe8
rust: system CJK font fallback, sidebar footer layout, --run-local test hook
2026-10-11 16:51:53 +01:00
Andy Dixon
43acc57c51
rust: Nexus Terminal app shell (title bar, sidebar, tabs, split panes, terminal view, palette, prompts, dialogs, toasts, status bar)
2026-10-11 16:48:33 +01:00
Andy Dixon
c36f4633a1
rust: wire VNC client into the session manager (password asked only when required, SSH tunnel)
2026-10-11 16:38:07 +01:00
Andy Dixon
2e9fdffeeb
Merge branch 'vnc-work' into rust-port
2026-10-11 16:37:04 +01:00
Andy Dixon
327a3a814c
rust: app design system (theme, widgets) from Leviathan
2026-10-11 16:37:04 +01:00
Andy Dixon
d654671bc1
rust: Service facade (profiles, credentials, TOTP, import/export, SSH keys, SFTP, updates)
2026-10-11 16:36:37 +01:00
Andy Dixon
81360cc4c2
rust: native VNC (RFB) client
2026-10-11 16:36:32 +01:00
Andy Dixon
cbd83489b2
rust: session manager (lifecycle, reconnect backoff, login scripts, recording, host-key policy, credential modes) and SSH tunnels
2026-10-11 16:33:17 +01:00
Andy Dixon
03bb1db936
Merge GitHub and IRC clients, IRC formatting
2026-10-11 16:23:31 +01:00
Andy Dixon
55e65410ce
rust: use terminalenv for SSH and local shell env
2026-10-11 16:23:05 +01:00
Andy Dixon
d20d16e8c8
rust: port GitHub and IRC clients, IRC formatting
2026-10-11 16:21:08 +01:00
Andy Dixon
1a42f65af1
Merge telnet, raw and serial clients
2026-10-11 16:20:27 +01:00
Andy Dixon
0b846e90d0
Merge utility ports (recording, sshconfig, terminalenv, validation, updater, keyfiles)
2026-10-11 16:19:14 +01:00
Andy Dixon
4674c7cb3f
rust: app crate scaffolding, terminal colour schemes
2026-10-11 16:18:15 +01:00
Andy Dixon
fb3e49a2a8
rust: port telnet and raw clients; add serial client
2026-10-11 16:18:04 +01:00
Andy Dixon
25e5f67a4d
rust: commit DB and vault fixtures (were gitignored)
2026-10-11 16:17:44 +01:00
Andy Dixon
fd54c988b6
rust: port recording, sshconfig, terminalenv, validation, updater, keyfiles
2026-10-11 16:17:03 +01:00
Andy Dixon
5ffee4a7c4
rust: local shell client on portable-pty
2026-10-11 16:15:58 +01:00
Andy Dixon
026f27add6
rust: SSH client on russh (auth chain, TOTP, jump hosts, proxies, forwards, agent forwarding) and SFTP, with sshd integration tests
2026-10-11 16:14:55 +01:00
Andy Dixon
38dff53485
rust: client callback conventions
2026-10-11 16:05:31 +01:00
Andy Dixon
e03298de11
rust: nexus-core storage, vault, keychain, export/import, data-dir migration
2026-10-11 16:05:13 +01:00