Repository navigation
v0.23.20
What's Changed
Added
- Session scripting with
.rscscripts (PR #387, contributed by Naim Shafiev) — Ásbrú-CM / SecureCRT-style automation of a live terminal: send keys, wait for and capture output, ask the user (ask … hidefor masked input), run a local command, and open, split and close sessions, with variables, labels andgoto/if_gotobranching. Tools → Scripts… edits, validates, runs and stops scripts from the library at<config_dir>/scripts/and opens the language reference; bundled examples cover shell and OpenWrt uptime, a local command and a first-run wizard. Connections and groups can auto-run scripts when the session starts, inherited down the group chain. The parser and event-driven engine live inrustconn-core; no new dependency was added. (rustconn-core/src/automation/script.rs,rustconn-core/src/script/manager.rs,rustconn/src/script_runner.rs,rustconn/src/dialogs/script.rs) - Scripts are safe against the remote host and other local users — a variable substituted into
runmust pass the connection-task check (no shell metacharacters, newlines or control characters), so text captured from a session cannot become a local command, and anask … hideanswer is never put on a command line.rungets no stdin, runs without session-token and cloud-credential variables, and is killed at its timeout (60 s when none is set). Deleting a script asks first; script ids are validated on every read and delete; a script missing from the local library is kept on save rather than replaced; engineDebugshows variable names only and values are zeroized. - The vault's user name and domain are used with its password, for every backend and protocol — a non-empty vault value replaces the connection's for that session, an empty one keeps it,
DOMAIN\useris split, and an e-mail-style login is kept whole. Load credentials from vault in the editor fills password, user name and domain. Before, a Bitwarden user name reached RDP but not SSH, Telnet or Serial. KeePassXC does not supply them yet. (rustconn-core/src/secret/vault_identity.rs,rustconn/src/state/mod.rs,rustconn/src/window/mod.rs)
Fixed
- Bitwarden "Search from vault root" finds entries by URL and full host name (issue #353) — the search returned items whose title was not exactly the connection's name or host, and they were dropped. An exact title still wins; otherwise a login URL host or an FQDN/short-name match is used when exactly one item matches, and ambiguity resolves to none with a warning. A URL-shaped host also searches by its host, RustConn's own item is accepted when a save was still in flight, and the debug log lists what each search returned. (
rustconn-core/src/secret/bitwarden.rs) - Bitwarden item notes no longer become the RDP domain — the domain now comes from a custom
domainfield, or from the notes of RustConn's ownRustConn: …item only; an implausible value is ignored. Saving to Bitwarden also no longer leaves the password in unwiped buffers. (rustconn-core/src/secret/bitwarden.rs)
Dependencies
- tokio 1.54.0 → 1.54.1 (RUSTSEC-2026-0384) — fixes a data race and use-after-free in
tokio::time::Intervalon the multi-threaded runtime;cargo deny check advisoriesis clean. - Updated (semver-compatible): icu_collections, icu_locale_core, icu_normalizer, icu_normalizer_data, icu_properties, icu_properties_data 2.3.0 → 2.4.0, icu_provider 2.3.1 → 2.4.0, memmap2 0.9.11 → 0.9.12, open 5.4.4 → 5.4.5, system-deps 9.0.0 → 9.0.1, tinystr 0.8.4 → 0.8.5, yoke 0.8.3 → 0.8.4, zerovec 0.11.8 → 0.11.9, zerovec-derive 0.11.6 → 0.11.7;
cargo-sources.jsonregenerated for the Flatpak/Flathub manifests. GNOME runtime 51, FreeRDP 3.32.2, cJSON 1.7.19, OpenH264 2.6.0 and every downloadable CLI tool were already current; the Snap stays oncore24+gnome-46-2404(issue #174).
Installation
Flatpak (Recommended)
flatpak install flathub io.github.totoshko88.RustConnSnap
sudo snap install rustconnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.23.20_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.23.20-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.23.20-x86_64.AppImage
./RustConn-0.23.20-x86_64.AppImagemacOS (Homebrew)
brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.appAll dependencies (GTK4, libadwaita, VTE, Adwaita icons) are installed automatically.
Requires macOS 13 (Ventura) or later.
OBS Repositories
Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn
# Debian 13 (Trixie)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Ubuntu 24.04 LTS (Noble)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Ubuntu 26.04 LTS (Resolute)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn
# Fedora 44
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_44/home:totoshko88:rustconn.repo
sudo dnf install rustconn
# Fedora 43
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_43/home:totoshko88:rustconn.repo
sudo dnf install rustconn
# openSUSE Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref && sudo zypper in rustconn
# openSUSE Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Leap_16.0/ rustconn
sudo zypper ref && sudo zypper in rustconnArch Linux (AUR)
yay -S rustconnFreeBSD (Ports)
pkg install rustconnFull installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md
Verifying your download
Every binary on this release (deb, rpm, AppImage, Flatpak) is covered two ways.
Plain checksums — download SHA256SUMS alongside the asset, then:
sha256sum -c SHA256SUMSSigned build provenance (SLSA, via Sigstore) — proves the file was built by this
workflow from this commit:
gh attestation verify RustConn-0.23.20-x86_64.AppImage --repo totoshko88/RustConn(The snap is signed by the Snap Store; the macOS build is delivered via the Homebrew tap.)