-
Notifications
You must be signed in to change notification settings - Fork 0
Server sources
ShuttleX reads hosts from one of two sources, switchable in Settings → Server source.
Hosts are read directly from your SSH config, including Include directives. Wildcard hosts (e.g. Host *) are ignored. This source is read-only — ShuttleX never writes to your SSH config.
A dedicated file, by default at ~/.config/shuttlex/servers.json (created with sample entries the first time you switch to it). The path is configurable in Settings (Choose… / Reset to default), so you can point ShuttleX at a file you keep elsewhere (e.g. in a synced folder).
You can edit this file three ways:
- the in-app editor (see Managing servers),
- a table import,
- or by hand (Settings → "Edit file").
The last 3 versions are kept automatically — see Backups.
{
"groups": [
{
"name": "Production",
"hosts": [
{ "name": "Web server", "user": "root", "host": "web1.example.com" },
{ "name": "Database", "user": "admin", "host": "db.example.com", "port": 2222 },
{ "name": "Database · htop", "user": "admin", "host": "db.example.com", "remoteCommand": "htop" },
{ "name": "Via jump host", "command": "ssh -J jump.example.com root@10.0.0.5" }
]
}
],
"hosts": [
{ "name": "Ungrouped", "host": "example.org" }
]
}-
host/user/portare assembled intossh user@host -p port(the target is shell-quoted). -
remoteCommandruns a command on the server, built on top ofhost/user/port, with a TTY:ssh -t user@host <remoteCommand>— e.g.htoportail -f /var/log/syslog. -
commandruns verbatim — use it for jump hosts, tunnels, mosh, etc. It overrideshost/user/port. -
favorite: truepins the entry to the ★ Favorites section at the top of the menu (see Managing servers). Only written when set. - Top-level
hosts(outside any group) appear under a group called "Servers".
Since the JSON path is configurable, you can point it at a cloud-synced folder (iCloud Drive, Dropbox, OneDrive) to use the same server list on several Macs. ShuttleX re-reads the file every time you open the menu, so changes synced from another machine appear on the next open.
This is a lightweight setup, not built-in cloud sync — keep these caveats in mind:
- Edit on one Mac at a time. ShuttleX doesn't merge concurrent edits; if two Macs change the file at once, your cloud service may create a "conflicted copy" that ShuttleX won't reconcile.
-
The version backups sync too. The
servers.backup-…jsonfiles (see Backups) are written next to your JSON, so they also appear in the synced folder. - With iCloud Drive, keep the file downloaded (avoid "Optimize Mac Storage" evicting it). If iCloud leaves a not-yet-downloaded placeholder, ShuttleX sees the path as missing and starts a fresh sample file instead.