Skip to content

Releases

RustConn-ru v0.24.11-ru.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 21:13
2b87538

RustConnRu v0.24.11-ru.1

Это релиз русскоязычного форка zbndev/RustConn-ru,
а не официальный релиз upstream. Основа: RustConn v0.24.11.

Отображаемое имя приложения — RustConnRu. Нативные пакеты и исполняемые файлы
сохраняют имена rustconn и rustconn-cli, поэтому нативные пакеты форка и
upstream не предназначены для параллельной установки. Flatpak использует свой
идентификатор io.github.zbndev.RustConnRu и отдельный каталог данных;
данные прежнего Flatpak автоматически не переносятся.

Загрузка и проверка

Для проверки полного набора скачайте все четыре файла и SHA256SUMS именно из
этого релиза форка. Команды требуют установленного GitHub CLI (gh):

gh release download v0.24.11-ru.1 --repo zbndev/RustConn-ru \
  --pattern 'rustconn_0.24.11_amd64.deb' \
  --pattern 'rustconn-0.24.11-1.x86_64.rpm' \
  --pattern 'RustConnRu-0.24.11-x86_64.AppImage' \
  --pattern 'RustConnRu-0.24.11.flatpak' \
  --pattern 'SHA256SUMS'
sha256sum -c SHA256SUMS
gh attestation verify rustconn_0.24.11_amd64.deb --repo zbndev/RustConn-ru
gh attestation verify rustconn-0.24.11-1.x86_64.rpm --repo zbndev/RustConn-ru
gh attestation verify RustConnRu-0.24.11-x86_64.AppImage --repo zbndev/RustConn-ru
gh attestation verify RustConnRu-0.24.11.flatpak --repo zbndev/RustConn-ru

Установка

Выберите один подходящий формат для Linux x86_64.

Debian / Ubuntu (.deb)

sudo apt install ./rustconn_0.24.10_amd64.deb

Fedora / RPM (.rpm)

sudo dnf install ./rustconn-0.24.10-1.x86_64.rpm

AppImage

chmod +x RustConn-0.24.10-x86_64.AppImage
./RustConn-0.24.10-x86_64.AppImage

Загружаемый Flatpak (.flatpak)

flatpak install --user ./RustConn-0.24.10.flatpak
flatpak run io.github.totoshko88.RustConn

Arch Linux (AUR)

yay -S rustconn-ru

What's Changed

Added

  • Fallback jump hosts — PR #420, contributed by Konstantinos Patronas — a connection or a group can list saved jump hosts to try in order when its Jump Host is unreachable, for SSH, SFTP, RDP, VNC, SPICE and WinRM. Each new connection or reconnect checks for a reachable SSH server, and uses the primary again as soon as it answers. If none answers, the first is tried and the normal error is shown; a connection never falls back to going direct. Set in the connection and group editors, which show the list only for those protocols and only once the connection or group has a Jump Host of its own (saving without one drops it). SPICE over a Unix socket uses no jump host, so it gets no list either. In the CLI it is --fallback-jump-host in rustconn-cli add and update, which both refuse a list for a connection without a Jump Host of its own, since it would never be used. The editor keeps keyboard focus: after Move Up or Move Down it follows the moved entry, after Remove it goes to the entry that takes its place (or to the add dropdown when the list is empty), and after Add it returns to the add dropdown; a second click before the list redraws acts on the same entry. A screen reader hears which host each Move Up, Move Down and Remove button acts on, and the editor's add dropdown has a name of its own. rustconn-cli connect does not fail over, so it still warns that a deleted Jump Host is skipped even when a fallback exists. A group's list stays on its device like the group's Jump Host: Simple Sync leaves it out of the shared file and keeps each device's own. (rustconn-core/src/connection/gateway_failover.rs, rustconn-core/src/connection/jump_chain.rs, rustconn-core/src/connection/ssh_inheritance.rs, rustconn-core/src/models/connection.rs, rustconn-core/src/models/group.rs, rustconn-core/src/sync/full_export.rs, rustconn/src/dialogs/widgets.rs, rustconn/src/dialogs/connection/general_tab.rs, rustconn/src/dialogs/connection/builders.rs, rustconn/src/dialogs/connection/dialog/construction.rs, rustconn/src/window/edit_group.rs, rustconn/src/window/protocols.rs, rustconn/src/state/mod.rs, rustconn-cli/src/commands/add.rs, rustconn-cli/src/commands/update.rs, rustconn-cli/src/commands/sftp.rs, docs/USER_GUIDE.md)
  • Duplicate a connection into a numbered range — PR #420, contributed by Konstantinos Patronas — right-click → Duplicate as Range…, or rustconn-cli duplicate --range, turns host01 into host02 … host10 with the pattern host[02-10], and host1 into host2 … host10 with host[2-10]. The host follows the name when it contains it, or takes its own range such as 10.0.0.[2-10]. Existing names are skipped, and the GUI copies a saved vault password to each new connection. In the dialog, Enter creates the copies once the patterns are usable, the pattern at fault is marked invalid, and a screen reader reads the preview line with each pattern. A copy that cannot be stored is named in an error dialog rather than counted as created, and a password that cannot be copied to some of the copies gets a warning. (rustconn-core/src/connection/host_range.rs, rustconn/src/window/operations.rs, rustconn/src/sidebar_ui.rs, rustconn-cli/src/commands/duplicate.rs, rustconn-cli/src/cli.rs)
  • Run a local bash script on many SSH hosts — PR #420, contributed by Konstantinos Patronas — right-click connections or a group → Run Local Script…, or rustconn-cli run-script. Shows live output and a result per host, with a limit on hosts at once, a time limit and a Stop button. Each host's result also has an icon, so a failed host stands out without relying on colour. A screen reader hears each host's status together with its name, the output pane is named after the host it shows, and the end of a run is announced with its counts. Keyboard focus moves to Stop when a run starts and to the host list when it ends, a setup error is read out and marks the script field, and on a narrow window the output goes below the host list. Closing the window or pressing Escape during a run asks whether to stop the script, and closes the window once every host has stopped. Why a host could not start (no ssh or python3, no pywinrm, no WinRM password, a tunnel that did not open) is shown in the interface's language. The script goes over stdin and nothing is saved on the hosts. It is syntax-checked first, runs through each host's saved jump hosts (with failover) and credentials, and a host whose key is not yet known is refused. A run never accepts a new key for a jump host either: every jump host of a run, including the jump host of a WinRM tunnel, must already be in known_hosts (StrictHostKeyChecking=yes), in the GUI and the CLI, and a jump host with no key of its own still offers ~/.ssh/id_* and the agent's keys, unless a password is sent along the route. Three cases go through ProxyJump and follow your ssh configuration: a chain of several jump hosts whose first one has a key of its own and that sends no password and uses no PKCS#11 provider, a jump host address RustConn cannot pass to a shell safely (such as a comma-separated ProxyJump chain), and the jump hosts past the first of a WinRM tunnel that sends no password. A host with no saved jump host whose own ~/.ssh/config routes it through ProxyJump or ProxyCommand is not sent its password, in the CLI as in the GUI, since the bastion's ssh would be the one answering the prompt (the issue totoshko88#191 leak). Global variables in a host or user name (${name}) are filled in, in the CLI as in the GUI; a variable that asks at connect leaves that host out in the CLI, which cannot ask, and the host counts as not succeeded in the exit status; the CLI does not read a secret variable from the secret backend, so one whose value is not in the configuration file counts as undefined there. Passwords work too: saved ones in both the GUI and the CLI, and hosts set to ask at connect are each asked before the run, or asked once for all of them with Use One Password for All Hosts in the GUI or --same-password in the CLI (an empty answer sends no password rather than reusing another host's); the GUI empties those password fields once the run is confirmed. A saved password that takes longer than 30 seconds to read is skipped with a message, in the CLI as in the GUI. rustconn-cli --quiet run-script leaves out the progress lines (connections left out, hosts that succeeded, the closing count) and keeps the script's output, hosts that did not succeed, warnings and prompts. Stop, the time limit and a lost connection stop the script on the host, and a script exiting with 255 is no longer reported as a connection failure. rustconn-cli run-script builds the jump host route the same way the GUI does, so the first jump host's PKCS#11 token reaches it from the CLI too, and so does its own key when it is the only jump host or a password is sent along the route. (rustconn-core/src/remote_script.rs, rustconn-core/src/jump_route.rs, rustconn-core/src/ssh_key_setup.rs, rustconn-core/src/ssh_tunnel.rs, rustconn/src/window/remote_script.rs, rustconn/src/window/protocols_ssh.rs, rustconn/src/window/key_setup.rs, rustconn/src/sidebar_ui.rs, rustconn-cli/src/commands/run_script.rs, rustconn-cli/src/cli.rs, rustconn-cli/src/main.rs, docs/CLI_REFERENCE.md, docs/USER_GUIDE.md)
  • WinRM connections — PR #420, contributed by Konstantinos Patronas — a new connection type opens a PowerShell session on a Windows machine in a terminal tab, using the external evil-winrm client. Supports HTTPS, domain accounts and jump hosts, in the GUI and through rustconn-cli add -P winrm, and rustconn-cli show prints a WinRM connection's jump host...
Read more

RustConn-ru v0.24.10-ru.1

Choose a tag to compare

@github-actions github-actions released this 10 Nov 07:06
eb665fb

RustConn-ru v0.24.10-ru.1

Это релиз русскоязычного форка zbndev/RustConn-ru, а не официальный релиз upstream. Основа: RustConn v0.24.10.

Имя установленной программы и пакета остаётся rustconn, идентификатор Flatpak —
io.github.totoshko88.RustConn. Форк не предназначен для параллельной установки
с upstream-пакетом с тем же именем или идентификатором.

Загрузка и проверка

Для проверки полного набора скачайте все четыре файла и SHA256SUMS именно из
этого релиза форка. Команды требуют установленного GitHub CLI (gh):

gh release download v0.24.10-ru.1 --repo zbndev/RustConn-ru \
  --pattern 'rustconn_0.24.10_amd64.deb' \
  --pattern 'rustconn-0.24.10-1.x86_64.rpm' \
  --pattern 'RustConn-0.24.10-x86_64.AppImage' \
  --pattern 'RustConn-0.24.10.flatpak' \
  --pattern 'SHA256SUMS'
sha256sum -c SHA256SUMS
gh attestation verify rustconn_0.24.10_amd64.deb --repo zbndev/RustConn-ru
gh attestation verify rustconn-0.24.10-1.x86_64.rpm --repo zbndev/RustConn-ru
gh attestation verify RustConn-0.24.10-x86_64.AppImage --repo zbndev/RustConn-ru
gh attestation verify RustConn-0.24.10.flatpak --repo zbndev/RustConn-ru

Установка

Выберите один подходящий формат для Linux x86_64.

Debian / Ubuntu (.deb)

sudo apt install ./rustconn_0.24.10_amd64.deb

Fedora / RPM (.rpm)

sudo dnf install ./rustconn-0.24.10-1.x86_64.rpm

AppImage

chmod +x RustConn-0.24.10-x86_64.AppImage
./RustConn-0.24.10-x86_64.AppImage

Загружаемый Flatpak (.flatpak)

flatpak install --user ./RustConn-0.24.10.flatpak
flatpak run io.github.totoshko88.RustConn

Arch Linux (AUR)

yay -S rustconn-ru

What's Changed

Fixed

  • macOS: the menu-bar icon follows the system style — the tray icon was a full-colour image that clashed with the other status items. It is now a monochrome template glyph, so macOS tints it for a light or dark menu bar like any native item. (rustconn/src/tray.rs, rustconn/assets/icons/hicolor/scalable/apps/io.github.totoshko88.RustConn-tray-macos.svg)
  • macOS: Settings no longer shifts and clips a few seconds after opening — once client detection finished, the Clients page replaced its rows with full install paths and unbounded version strings, which made the dialog wider than its 600 px content width and cut off every page. The path is now one ellipsised line (full text in a tooltip) and the version label is ellipsised too. (rustconn/src/dialogs/settings/clients_tab.rs)
  • macOS: the Dock icon is grey in the Clear and Tinted icon styles — when RustConn runs without a .app bundle, its Dock tile is set at runtime, which bypasses the system's monochrome icon styles, so it stayed full-colour next to every other app. The tile now reads AppleIconAppearanceTheme and, for Clear or Tinted, uses a grey tile (dark or light to match). Inside a bundle the .icns is still left to macOS. (rustconn/src/main.rs, rustconn/assets/icons/macos-dock/)
  • A broken CLI wrapper is no longer shown as installed with an error for a version — Settings → Connection showed Tailscale CLI with a ✓ and /usr/local/bin/tailscale: line 2: …: No such file or directory in the version column when the wrapper outlived a removed Tailscale.app. A command that exits 126/127 (the shell's "cannot execute" / "not found") now yields no version and is reported as not found. Applies to every Zero Trust CLI on that page. (rustconn/src/dialogs/settings/clients_tab.rs)

Changed

  • macOS: Compact interface is off by default — it was switched on for new macOS installs to compensate for scaling problems that are now fixed. A fresh install gets the standard chrome, as on Linux. Existing users keep whatever is saved in their settings; the switch is still in Settings → Interface, the primary menu and Ctrl+Shift+D. (rustconn-core/src/config/settings.rs)

Improved

  • Settings no longer spins the main loop while it detects clients — the Clients and SSH Agent pages polled their background result through an idle source, which never sleeps, so the interface ran flat out for the few seconds detection took each time Settings opened. They now poll every 50 ms, as the Secrets page already did. (rustconn/src/dialogs/settings/clients_tab.rs, rustconn/src/dialogs/settings/ssh_agent_tab.rs)
  • Development builds optimise third-party dependencies — cargo run compiled GTK, VTE and IronRDP at opt-level 0, which made tab overview, redraws and scrolling feel slower than a release build. Dependencies are now built at opt-level 2 in the dev profile; the workspace crates are unchanged. (Cargo.toml)

Documentation

  • macOS: running with cargo run — docs/MACOS_BUILD.md now shows the full cargo run command with the macOS feature set and explains why the default features fail on javascriptcoregtk-6.0. (docs/MACOS_BUILD.md)

Dependencies

  • Updated (semver-compatible): arc-swap 1.9.4→1.9.5, itoa 1.0.18→1.0.19, notify-types 2.2.0→2.3.0, syn 3.0.9→3.0.10. cargo deny check advisories is clean; CLI downloads, FreeRDP 3.33.0, cJSON 1.7.19, GNOME runtime 51 and Snap core26 are current.
  • RUSTSEC-2023-0071 (rsa Marvin Attack) — a fix now exists but is still out of reach — rsa 0.10.0 (2026-11-08) is the patched release, with constant-time arithmetic. RustConn cannot take it yet: ironrdp-connector 0.12.0, the latest, pins picky =7.0.0-rc.26, and picky, sspi and winscard pin rsa =0.10.0-rc.18; the same pins hold sspi 0.23.1, winscard 0.4.1, picky rc.29 and pkcs1 0.8.0 back. The acceptance rationale in deny.toml and .cargo/audit.toml is updated to say so; it is not exploitable in a local client that exposes no RSA decryption oracle.
  • zbus 6 / oo7 0.7 deferred — both are breaking releases (zbus 6 removes the blocking API and renames Value to Variant), and the Linux tray's ksni 0.3.7 is still on zbus 5, so moving now would build two zbus versions. Planned for when ksni follows.

RustConn-ru v0.24.9-ru.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 19:39
10909f6

RustConn-ru v0.24.9-ru.1

Это релиз русскоязычного форка zbndev/RustConn-ru, а не официальный релиз upstream. Основа: RustConn v0.24.9.

Имя установленной программы и пакета остаётся rustconn, идентификатор Flatpak —
io.github.totoshko88.RustConn. Форк не предназначен для параллельной установки
с upstream-пакетом с тем же именем или идентификатором.

Загрузка и проверка

Для проверки полного набора скачайте все четыре файла и SHA256SUMS именно из
этого релиза форка. Команды требуют установленного GitHub CLI (gh):

gh release download v0.24.9-ru.1 --repo zbndev/RustConn-ru \
  --pattern 'rustconn_0.24.9_amd64.deb' \
  --pattern 'rustconn-0.24.9-1.x86_64.rpm' \
  --pattern 'RustConn-0.24.9-x86_64.AppImage' \
  --pattern 'RustConn-0.24.9.flatpak' \
  --pattern 'SHA256SUMS'
sha256sum -c SHA256SUMS
gh attestation verify rustconn_0.24.9_amd64.deb --repo zbndev/RustConn-ru
gh attestation verify rustconn-0.24.9-1.x86_64.rpm --repo zbndev/RustConn-ru
gh attestation verify RustConn-0.24.9-x86_64.AppImage --repo zbndev/RustConn-ru
gh attestation verify RustConn-0.24.9.flatpak --repo zbndev/RustConn-ru

What's Changed

Added

  • Azerbaijani (az) added — PR #414, contributed by Naim Shafiev — a full catalogue of this release's strings, with terminology aligned to the GNOME and Firefox Azerbaijani translations. Azerbaijani can be chosen in Settings → Interface → Language (it maps to the az_AZ.UTF-8 locale), and the translator is credited in the About dialog. (po/az.po, po/LINGUAS, rustconn/src/i18n.rs, rustconn/src/app.rs, README.md, docs/INSTALL.md)

Fixed

  • The CodeQL scan runs again — every job of the in-repo CodeQL workflow failed. Rust was set to the autobuild build mode, which CodeQL does not support for Rust (only none); the Python and Ruby jobs found no code, because the only Python and Ruby files live under scripts/ and packaging/, which the config excludes; and the Actions job's results were refused because the repository's CodeQL default setup was still enabled. The workflow now scans actions and rust (build mode none), and default setup is to be turned off in Settings → Code security, as the workflow header now explains. The CodeQL change was contributed in PR totoshko88#414 by Naim Shafiev. (.github/workflows/codeql.yml, .github/codeql/codeql-config.yml)

Changed

  • Bitwarden's "Keep the CLI running" process now stops when the screen locks or the computer suspends — with the switch on, one bw serve process holds the unlocked vault in its memory, and until now it stayed running while the user was away. It is now stopped on the same screen-lock and suspend signals that remove RustConn's SSH keys from the agent, on Linux and macOS. Nothing asks for the master password afterwards: the session key stays in RustConn, as it does with the switch off, so the next vault operation starts a fresh bw serve and only that first operation is slower. A process busy with an operation at that moment is stopped as soon as the operation finishes, so a lookup in flight is never cut off, and the stop never delays the lock or the suspend. In the Flatpak this needs the same opt-in flatpak override as the SSH key removal; in the Snap a screen lock is seen and a suspend is not. (rustconn-core/src/secret/bitwarden.rs, rustconn-core/src/secret/bitwarden_serve.rs, rustconn-core/src/lock_events/mod.rs, rustconn/src/app.rs, docs/BITWARDEN_SETUP.md, docs/INSTALL.md)

Dependencies

  • resvg 0.48 → 0.49 — the SVG renderer for the tray icon (supersedes Dependabot PR totoshko88#404). The calls RustConn makes (usvg::Tree::from_data, resvg::render) are unchanged in this release. (rustconn/Cargo.toml)
  • CI — taiki-e/install-action v2.87.25 → v2.88.1 (Dependabot PR totoshko88#403), pinned by commit SHA as before, in every CI and release job that installs a Rust tool. (.github/workflows/ci.yml, .github/workflows/release.yml)
  • Updated (semver-compatible): crypto-bigint 0.7.10→0.7.11, notify 8.2.1→8.2.2, usvg 0.48.1→0.49.0 (with resvg), uuid 1.29.1→1.29.2, zip 9.4.2→9.5.0. cargo deny check advisories is clean; cargo-sources.json regenerated for the Flatpak/Flathub manifests.

Installation

Flatpak

flatpak install --user ./RustConn-0.24.9.flatpak
flatpak run io.github.totoshko88.RustConn

Debian/Ubuntu (.deb from this release)

sudo dpkg -i rustconn_0.24.9_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora (.rpm from this release)

sudo dnf install rustconn-0.24.9-1.fc44.x86_64.rpm

AppImage

chmod +x RustConn-0.24.9-x86_64.AppImage
./RustConn-0.24.9-x86_64.AppImage

Arch Linux (AUR)

yay -S rustconn-ru

Full installation guide: https://github.com/zbndev/RustConn-ru/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 SHA256SUMS