Repository navigation
Releases
RustConn-ru v0.24.11-ru.1
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.debFedora / RPM (.rpm)
sudo dnf install ./rustconn-0.24.10-1.x86_64.rpmAppImage
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.RustConnArch Linux (AUR)
yay -S rustconn-ruWhat'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-hostinrustconn-cli addandupdate, 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 connectdoes 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, turnshost01intohost02…host10with the patternhost[02-10], andhost1intohost2…host10withhost[2-10]. The host follows the name when it contains it, or takes its own range such as10.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 (nosshorpython3, nopywinrm, 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 inknown_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 throughProxyJumpand 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/configroutes it throughProxyJumporProxyCommandis not sent its password, in the CLI as in the GUI, since the bastion'ssshwould 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-passwordin 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-scriptleaves 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-scriptbuilds 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-winrmclient. Supports HTTPS, domain accounts and jump hosts, in the GUI and throughrustconn-cli add -P winrm, andrustconn-cli showprints a WinRM connection's jump host...
RustConn-ru v0.24.10-ru.1
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.debFedora / RPM (.rpm)
sudo dnf install ./rustconn-0.24.10-1.x86_64.rpmAppImage
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.RustConnArch Linux (AUR)
yay -S rustconn-ruWhat'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
.appbundle, 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 readsAppleIconAppearanceThemeand, for Clear or Tinted, uses a grey tile (dark or light to match). Inside a bundle the.icnsis 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 directoryin 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 runcompiled 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.mdnow shows the fullcargo runcommand with the macOS feature set and explains why the default features fail onjavascriptcoregtk-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 advisoriesis 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-connector0.12.0, the latest, pinspicky =7.0.0-rc.26, and picky, sspi and winscard pinrsa =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 indeny.tomland.cargo/audit.tomlis 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
ValuetoVariant), and the Linux tray'sksni0.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
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-ruWhat'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-8locale), 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
autobuildbuild mode, which CodeQL does not support for Rust (onlynone); the Python and Ruby jobs found no code, because the only Python and Ruby files live underscripts/andpackaging/, 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 scansactionsandrust(build modenone), 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 serveprocess 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 freshbw serveand 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-inflatpak overrideas 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 advisoriesis clean;cargo-sources.jsonregenerated for the Flatpak/Flathub manifests.
Installation
Flatpak
flatpak install --user ./RustConn-0.24.9.flatpak
flatpak run io.github.totoshko88.RustConnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.24.9_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.24.9-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.24.9-x86_64.AppImage
./RustConn-0.24.9-x86_64.AppImageArch Linux (AUR)
yay -S rustconn-ruFull 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