-
Notifications
You must be signed in to change notification settings - Fork 0
Managing servers
When the JSON source is active, Settings → "Add / edit servers…" opens an editor to manage your connection list from a GUI — no hand-editing of JSON required.
- Add a server with a form: Name, Group, User, Host or IP, Port, and an optional remote command.
- Edit any entry — including renaming it or moving it to another group.
- Reorder entries within a group by dragging them (use the ≡ handle / drag the row).
- Favorite an entry to pin it to a ★ Favorites section at the top of the dropdown — hover the star on a menu row, or use the Favorite toggle in the editor.
- Delete entries; a group with no entries left is removed automatically.
Entries with the same name (e.g. two "AdGuard" with different IPs) are kept distinct — editing, deleting or reordering one never affects the other.
| Field | Notes |
|---|---|
| Name | Display name in the menu (required). Duplicate names are fine. |
| Group | Type a new group or pick an existing one. Empty → "Servers". |
| User | Optional; becomes user@host. |
| Host or IP | Required (in connection mode). |
| Port | Optional; omitted when 22. |
| Remote command | Optional. Runs on the server with a TTY: ssh -t user@host <command> — e.g. htop, tail -f /var/log/syslog. Empty = interactive shell. |
| Raw custom command | Toggle. Runs verbatim and ignores user/host/port — e.g. ssh -J jump root@10.0.0.5. |
| Favorite | Toggle. Pins the entry to the ★ Favorites section at the top of the menu. |
| Tags | Optional, comma-separated. Only shown when tags are enabled (Settings → General). Appear as badges in the menu and are searchable. |
Pin the servers you use most to a ★ Favorites section at the very top of the dropdown:
- Click the star that appears when you hover a row in the menu (filled = pinned), or use the Favorite toggle in the editor.
- The section is expanded by default when it has ≤ 5 entries, and is always collapsible.
- A favorite also still appears in its normal group — pinning is a shortcut, not a move.
- Favorites are stored as
favorite: trueon the JSON entry (only written when set). This works with the JSON source (ShuttleX can't write~/.ssh/config).
Tags are off by default. Enable them in Settings → General → "Enable server tags"; an optional comma-separated Tags field then appears per server. Tags show as small badges in the menu and are matched by search. Turning the feature off hides them everywhere again without removing them from the JSON (tags: [...], written only when set). A remote source may also carry tags — they're plain strings, never executed.
To pin a one-click action (monitor, restart, log tail), fill in Remote command:
- It keeps your User / Host / Port and runs
ssh -t user@host '<command>'. - The
-tgives a TTY, so interactive tools likehtoprender correctly. - Leave it empty for a normal interactive shell.
For something the connection fields can't express (jump hosts, tunnels), flip on Raw custom command and write the whole line yourself.
Host, IP and user are validated: values containing whitespace or shell metacharacters are rejected with an inline message (IPv6 in bracket notation like [2001:db8::1] is allowed). On top of that, every connection target is shell-quoted when the ssh command is built, so server data can't inject shell commands. See also Table import → Safety.
Every change writes the JSON file and snapshots the previous version — see Backups.