Desktop app¶
The desktop build wraps the Muxus server and UI in a native window for Windows, macOS and Linux, with no Node.js installation required. The server runs in-process on a random localhost port, the window is frameless with the top bar serving as the titlebar, and its size and position persist between launches.
To serve the UI to a browser from a local server instead, or on a platform without a packaged build, run Muxus from source.
Download¶
Installers are published on the releases page:
| Platform | File |
|---|---|
| Windows | muxus-<version>-win-x64.exe or muxus-<version>-win-arm64.exe |
| macOS (universal) | muxus-<version>-mac-universal.dmg |
| Linux | muxus-<version>-linux-x86_64.AppImage or muxus-<version>-linux-amd64.deb |
On Windows, Muxus is also available from the Microsoft Store, which installs and updates it for you.
Install & launch¶
- Run the installer and follow the prompts. The install directory is selectable.
- Launch Muxus from the Start menu.
GitHub installers are unsigned by default, so SmartScreen may report an unrecognised publisher. The Microsoft Store version is signed by Microsoft and avoids that warning.
- Open the
.dmgand drag Muxus into Applications. - Launch Muxus from Applications, Spotlight or the Dock.
Releases are Developer ID signed and notarized, with support for both Intel and Apple Silicon. Older releases and unsigned development builds can still trigger Gatekeeper. Replace an older unsigned build with a signed release when available.
Each release includes a signed SHA256SUMS-linux.txt manifest covering both
Linux packages. Download these additional files from the same release:
SHA256SUMS-linux.txtSHA256SUMS-linux.txt.ascmuxus-linux-signing-key.asc
Import the public key and verify the manifest signature before checking the downloaded package:
gpg --import muxus-linux-signing-key.asc
gpg --show-keys --fingerprint muxus-linux-signing-key.asc
gpg --verify SHA256SUMS-linux.txt.asc SHA256SUMS-linux.txt
sha256sum --ignore-missing --check SHA256SUMS-linux.txt
A successful check reports OK for the package. Confirm that the key fingerprint
is 9961 EE0F 767C A411 D2F5 9489 E330 0BC6 4E4A DE67 and matches the public
key committed in the
Muxus source repository.
Updating Muxus¶
Muxus checks for a new version at startup and every four hours, and tells you when one is available. Nothing downloads until you choose Download update, and nothing installs until you choose Restart to update. Quitting Muxus normally never installs an update. The same controls are in Settings → About.
| Installation | How it updates |
|---|---|
| Windows installer | In the app; the matching x64 or ARM64 installer is downloaded |
| Microsoft Store | Through the Store: Update now asks Windows to install it |
| macOS | In the app, for both Intel and Apple Silicon |
| Linux AppImage | In the app; the AppImage file is replaced |
Linux .deb |
With your package manager; Muxus links to the new release |
Every download is checked against the SHA-512 checksum published with the release, and macOS also checks Apple's code signature before installing. To stop the background checks, turn off Notify me when a new version is available in Settings → About; Check for updates still works.
Versions before 0.8 cannot update themselves: download 0.8 once from the releases page, and later versions can be installed from inside Muxus.
Platform notes¶
Serial devices usually require membership in the distribution's serial-access group,
commonly dialout or uucp:
Ports appear as /dev/ttyUSB* and /dev/ttyACM*.
Serial ports appear as /dev/tty.*, for example /dev/tty.usbserial-A50285BI. No
extra permissions are required for SSH, Telnet or serial. The desktop app reads
SSH_AUTH_SOCK from the login shell, so agents selected there (including 1Password
and Secretive) work when Muxus is opened from Finder.
Serial ports use COM names such as COM3. Muxus reads %USERPROFILE%\.ssh\config
and the OpenSSH agent when one is running.
Your SSH setup¶
Muxus uses the existing SSH credentials and configuration on the machine:
| It reads | For |
|---|---|
~/.ssh/config (and every Include) |
Hosts, users, ports, keys, jump chains, forwards |
~/.ssh/known_hosts, /etc/ssh/ssh_known_hosts |
Host-key verification |
~/.ssh/* key files |
The key picker in the host editor |
SSH_AUTH_SOCK |
Default agent authentication and ForwardAgent |
No import step
If ssh myhost works in a terminal, Muxus resolves and dials the same host with the
same key. The configuration is not imported into a database. See
ssh_config support for the keywords that are honoured.
What the desktop build adds¶
- A frameless window. The top bar is the titlebar: it is a drag region, and the native window controls sit inside it (traffic lights on the left on macOS, minimise / maximise / close on the right elsewhere).
- Native serial access.
serialportandnode-ptyare compiled against Electron's ABI in the packaged app, so local shells and COM/TTY consoles work without further setup. - A hardened shell. The renderer receives its bootstrap credentials through an isolated preload bridge instead of the URL, and unexpected navigation is blocked. See the security model.
- Extra windows. The file browser and any tab can be moved into their own window, which reuses the same in-process server and the same live SSH transports.
Where your data lives¶
The desktop app keeps its data in Electron's per-app directory:
| Platform | Application database (folders, colours, workspaces, tunnels, saved hosts, optional encrypted passwords) |
|---|---|
| Windows | %APPDATA%\Muxus\muxus.sqlite3 |
| macOS | ~/Library/Application Support/Muxus/muxus.sqlite3 |
| Linux | ~/.config/Muxus/muxus.sqlite3 |
Session history, when enabled, is stored alongside it or at the location set in
Settings. OpenSSH-backed settings still come from
~/.ssh/config; hosts saved as Muxus app data only live in this database.
Passwords you explicitly choose to remember are encrypted in the application database by
the password vault. The raw vault key is never stored in this directory; the default
never-prompt policy uses the OS credential store. See the
security model.
Uninstalling the app leaves ~/.ssh untouched.
After installation, continue with the Quickstart.