Repository navigation
Installation
Generated from the README's Install section; it tracks the latest release.
Every release ships a single binary per platform. Grab it from Releases or sshtool.app.
The app draws its window with GTK 4 and WebKitGTK 6.0, which are not bundled - bundling a browser engine would mean shipping (and patching) several hundred MB of GTK, mesa and WebKit, and you would stop getting security updates through your package manager. Install them first:
sudo pacman -S webkitgtk-6.0 gtk4 # Arch / CachyOS
sudo apt install libwebkitgtk-6.0-4 libgtk-4-1 # Debian / Ubuntu
sudo dnf install webkitgtk6.0 gtk4 # Fedora / RHELWithout them the binary fails in the dynamic loader with
libwebkitgtk-6.0.so.4: cannot open shared object file, before any of
our code runs.
Then make it executable and run it:
chmod +x ssh-tool-linux-amd64
./ssh-tool-linux-amd64It will offer to add itself to your applications menu - that copies the
binary to ~/.local/bin and registers the launcher entry and icon, with
no root. You can do the same later from
Settings > Desktop integration, and undo it there too.
build/linux/install-user.sh does the same from a shell if you prefer.
Or install a package, which pulls in GTK and WebKitGTK by itself and
updates with the system. Every release attaches a .deb (Debian /
Ubuntu) and an .rpm (Fedora), and
repo.sshtool.app serves them as a signed apt
and dnf repository, so apt upgrade / dnf upgrade bring new versions:
# Debian / Ubuntu
curl -fsSL https://repo.sshtool.app/ssh-tool.asc | sudo gpg --dearmor -o /usr/share/keyrings/ssh-tool.gpg
echo 'deb [signed-by=/usr/share/keyrings/ssh-tool.gpg] https://repo.sshtool.app/deb stable main' | sudo tee /etc/apt/sources.list.d/ssh-tool.list
sudo apt update && sudo apt install ssh-tool
# Fedora (RHEL 10 and its rebuilds have no webkitgtk6.0 package)
sudo tee /etc/yum.repos.d/ssh-tool.repo <<'EOF'
[ssh-tool]
name=ssh-tool
baseurl=https://repo.sshtool.app/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://repo.sshtool.app/ssh-tool.asc
EOF
sudo dnf install ssh-toolOne .exe, no runtime and no installer. WebView2 ships with Windows 10
and 11. It offers the same thing on first run: a copy into
%LOCALAPPDATA%\Programs\ssh-tool and a Start Menu shortcut, no
administrator rights.
Every release attaches ssh-tool-android-arm64.apk (arm64 phones and
tablets, DeX-ready). Download it on the phone, allow your browser or file
manager to install unknown apps when Android asks, and open it. A newer
APK installs over the old one and keeps your data; the in-app updater
does not cover Android yet. What differs from desktop:
Android / mobile in the guide.
No release build yet: a distributed macOS app needs an Apple Developer ID and notarisation, which the project does not have. It builds and runs from source. The quickest way is the build script, which asks a few questions, then clones, builds and installs the app and the VPN plugins you pick:
curl -fsSLO https://raw.githubusercontent.com/fpenezic/ssh-tool/main/scripts/macos-build.sh
bash macos-build.shBy hand: install the build requirements plus the Xcode
command line tools (xcode-select --install), then:
task darwin:build # bin/ssh-tool.app
task darwin:package # bin/ssh-tool.dmgThe in-app updater and the VPN plugin downloads do not cover macOS; a plugin built from ssh-tool-plugins and placed in the app's plugins folder is picked up. Step by step, plugins and where they go included: docs/macos.md.
ssh-tool updates itself: Help > Check for updates downloads the new
build and swaps it in place, on Windows and Linux alike. It works from
anywhere your user owns - ~/.local/bin, %LOCALAPPDATA%, the desktop,
anywhere in $HOME.
It will not overwrite a binary owned by a package manager (/usr/bin
and friends), and says so rather than failing: that install updates
through the package manager instead.
Generated from docs/USER_GUIDE.md. Edits here may be overwritten - fix the guide in the repo.