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
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
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
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
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
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
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
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
Andy Dixon
f588a797f9
rust: Go-generated compatibility fixtures (db, vault, export, recording)
2026-10-10 12:58:10 +01:00