Одна ссылка neoserver://, одно нажатие — и NeoServer автоматически запускается, подключается к серверу и открывает терминал именно там, где вам нужно —
будь то конкретный компьютер, определенная сессия tmux или нужный каталог.
Ее можно сохранить в избранное Safari, Заметки, вынести как иконку на рабочий стол, добавить в быстрые команды Siri или отправить коллеге через AirDrop — она будет работать везде.
1. Как написать ссылку для терминала
Все ссылки для терминала выглядят так:
neoserver://terminal?host=<server>&port=<port>&user=<user>&name=<terminal_name>&tmuxName=<tmux_session>&zellijName=<zellij_session>&workdir=<directory>&command=<command>
| Параметр | Обязательный | Что указывать |
|---|---|---|
host | ✅ | IP-адрес или домен сервера. Обязательно. Если оставить пустым, ссылка недействительна. |
port | ❌ | SSH-порт. По умолчанию 22. Допустимый диапазон 1–65535; при указании недопустимого значения ссылка недействительна. |
user | ❌ | Имя пользователя для входа. По умолчанию root. |
name | ❌ | Имя (примечание) для данного терминала (используется только для отображения, не влияет на сопоставление серверов). |
tmuxName | ❌ | Автоматически подключиться к этой сессии tmux после установки соединения. |
zellijName | ❌ | Автоматически подключиться к этой сессии zellij после установки соединения. |
workdir | ❌ | Автоматически выполнить cd в этот удаленный каталог после установки соединения. |
command | ❌ | Автоматически выполнить команду после установки соединения (с нажатием Enter). Для нескольких строк используйте разделитель %0A. |
⚠️ Приоритет:
tmuxName>zellijName>command>workdir.
tmuxName/zellijNameиcommandне объединяются: если указано имя сессии, происходит только подключение к ней, аcommandигнорируется (подключение блокирует ввод в терминал, поэтому команду нельзя выполнить).commandможно использовать вместе сworkdir: сначала выполняетсяcdв каталог, а затем команда.tmuxName/zellijName/workdirпо-прежнему являются взаимоисключающими.name— это просто отображаемое имя, оно может использоваться с любыми другими параметрами и не влияет на описанную логику.
Просто скопируйте пример и подставьте свои значения:
# Самый простой вариант: указываем только host
neoserver://terminal?host=1.2.3.4
# Указываем порт и пользователя
neoserver://terminal?host=1.2.3.4&port=2222&user=deploy
# При подключении сразу входим в сессию tmux с именем main
neoserver://terminal?host=1.2.3.4&user=root&tmuxName=main
# При подключении сразу входим в сессию zellij с именем dev
neoserver://terminal?host=1.2.3.4&user=root&zellijName=dev
# При подключении автоматически выполняется cd в каталог с логами
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log/nginx
# Задаем имя для этого терминала (для отображения в списке, не влияет на сопоставление)
neoserver://terminal?host=1.2.3.4&user=root&name=production_server
# При подключении автоматически выполняется ls -la (%20 = пробел)
neoserver://terminal?host=1.2.3.4&user=root&command=ls%20-la
# Сначала cd в /var/log, затем выполняется tail -f syslog
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log&command=tail%20-f%20syslog
# Многострочная команда: сначала cd /tmp, затем pwd (%0A = перенос строки)
neoserver://terminal?host=1.2.3.4&user=root&command=cd%20%2Ftmp%0Apwd
2. Где откроется терминал после подключения
Это самая полезная часть ссылок для терминала: в зависимости от указанных параметров терминал после подключения открывается в разных местах:
| Указанные параметры | Состояние терминала после подключения |
|---|---|
Только host (+ опционально port/user) | Открывается обычный терминал в домашнем каталоге пользователя |
tmuxName=main | Автоматически выполняется tmux attach к сессии main, возвращая вас к тому месту, где вы остановились |
zellijName=dev | Автоматический вход в сессию zellij с именем dev |
workdir=/var/log | Автоматический переход (cd) в каталог /var/log |
command=ls -la | После готовности терминала эта команда автоматически вводится и выполняется |
workdir=/var/log&command=tail -f syslog | Сначала cd в /var/log, затем выполняется tail -f syslog |
Зачем нужны эти три типа параметров?
- Сессии tmux / zellij: при обрыве сети, закрытии приложения или переподключении с другого телефона сессия сохраняется, а процессы не прерываются. Если поделиться сессией tmux сервера с коллегой, вы оба сможете работать в одном окне для совместного решения проблем.
- Каталог: если вам каждый раз при подключении нужно делать
cd /opt/app/logs, проще позволить ссылке сразу перенести вас туда. - Команда: автоматический запуск команды при подключении (например, сбор логов, проверка статуса или запуск скрипта развертывания). Может сочетаться с
workdir(сначала переход в каталог, затем выполнение).
nameне влияет на поведение после подключения, а лишь дает терминалу понятное имя, чтобы его было легче найти в списке.
3. Копирование ссылки в приложении (вручную писать не нужно)
При написании ссылок вручную легко ошибиться. В NeoServer есть три места для копирования в один клик; после копирования ссылку можно вставить куда угодно.
1. Копирование ссылки для «этого сервера»
Вкладка «Серверы» · Список серверов → смахните влево по нужному серверу → Copy Scheme Link
В результате скопируется:
neoserver://terminal?host=...&port=...&user=...
2. Копирование в быстром режиме терминала
Вкладка «Терминал» · Список серверов (быстрый режим) → нажмите и удерживайте нужный сервер → Copy Scheme Link
3. Копирование ссылки для «этой сессии» ⭐ Самое полезное
Вкладка «Терминал» · Список сессий → нажмите и удерживайте нужную сессию → Copy Scheme Link
Эта ссылка упакует в себя «подключение к сессии Y на сервере X»:
- Если это сессия tmux → автоматически добавится
&tmuxName=... - Если это сессия zellij → автоматически добавится
&zellijName=... - Обычная сессия → только
host/port/user
При успешном копировании появится уведомление Link Copied, и ссылка будет в буфере обмена.
✏️ Скопированная ссылка содержит только
host/port/user(для ссылок сессий добавляютсяtmuxNameилиzellijName). Хотите добавитьname(примечание) илиcommand(автоматическая команда)? Просто допишите их в конец ссылки вручную; пока что приложение не генерирует эти два параметра.
💡 Нажмите и удерживайте для копирования запущенной сессии tmux и отправьте ее коллеге. Открыв ее в NeoServer, он сразу подключится к этой же сессии — вы оба окажетесь в одном окне терминала.
4. Как открыть эту ссылку
neoserver:// — это протокол ссылок iOS, поэтому везде, где можно нажать на ссылку, можно запустить NeoServer:
- Safari: вставьте в адресную строку и нажмите Enter, либо сохраните в закладки и откройте.
- Заметки / Напоминания: сохраните запись и нажимайте на нее для быстрого доступа.
- Быстрые команды (Shortcuts): вставьте ссылку в действие «Открыть URL» → можно привязать к голосовой команде Siri, иконке на рабочем столе или автоматизации.
- AirDrop: отправьте ссылку между двумя iPhone; получателю достаточно нажать на нее для подключения.
- Почта: отправьте ссылку как текст; получатель скопирует ее в Safari для открытия.
📱 При первом нажатии на ссылку
neoserver://на устройстве iOS появится запрос «Открыть в NeoServer?», просто подтвердите, и это сообщение больше не появится.
5. Три практических сценария
🏠 Сценарий 1: Иконка на рабочем столе для «подключения к tmux на проде»
Вам каждый день нужно подключаться к сессии tmux main на производственном сервере. Вместо того чтобы каждый раз открывать приложение → искать сервер → подключаться → делать attach, вынесите иконку на рабочий стол:
- Скопируйте ссылку этого сервера в приложении и вручную добавьте
&tmuxName=main; - Откройте iOS «Быстрые команды (Shortcuts)» → создайте новую → добавьте действие «URL» и вставьте ссылку;
- Добавьте действие «Открыть URL»;
- Нажмите «Поделиться» → Добавить на экран «Домой», назовите ее «Подключение к проде» и выберите иконку.
Теперь при нажатии на эту иконку NeoServer автоматически подключится и войдет в сессию main без дополнительных действий с вашей стороны.
🎙️ Сценарий 2: Голосовое подключение
Интегрируйте указанную выше быструю команду в Siri, задав фразу «Привет, Siri, подключение к проде». После произнесения фразы телефон подключится автоматически.
🤝 Сценарий 3: Передача сессии коллеге
- Терминал · Список сессий → нажмите и удерживайте эту сессию → Copy Scheme Link;
- Отправьте коллеге (через AirDrop / WeChat / любой мессенджер);
- Он откроет ее в NeoServer → автоматически подключится к той же сессии tmux.
(Предварительное условие: в библиотеке серверов NeoServer на его iPhone также должна быть возможность подключиться к этому же хосту.)
🖥️ Сценарий 4: Запуск команды в один клик с рабочего стола
Каждый день нужно проверять статус контейнеров на машине, и не хочется каждый раз подключаться и вводить docker ps вручную:
- Скопируйте ссылку на сервер и вручную добавьте
&command=docker%20ps; - Как в сценарии 1, вынесите иконку на рабочий стол и назовите ее «Статус контейнеров».
Теперь при нажатии на иконку → NeoServer подключится → автоматически выполнится docker ps, и результат сразу отобразится в терминале.
6. Часто задаваемые вопросы о ссылках для терминала
В: Нажал на ссылку, но подключился к неправильному серверу?
О: NeoServer ищет сервер по host (+ port, если указан + user, если указан). Если в вашей библиотеке есть два сервера с одинаковым host, будет подключен первый совпадающий. Указание port или user поможет точно их различить.
В: Этого сервера нет в библиотеке, что будет при нажатии на ссылку?
О: Страница «Новый сервер» больше не появится. Теперь прямо на месте будет открыт временный терминал, использующий host/port/user из ссылки:
- Сначала будет предпринята попытка аутентификации без учетных данных (подходит для таких сценариев, как Tailscale SSH, где подключение уже проверяет личность);
- Если сервер требует пароль, будет выполнен откат к обычной парольной / keyboard-interactive аутентификации NeoServer;
- Временный сервер не добавляется в вашу библиотеку серверов и освобождается при закрытии;
- Однако в «Недавних сессиях» останется снимок без пароля и закрытых ключей, нажав на который после перезапуска приложения можно переподключиться.
Параметры name / tmuxName / zellijName / workdir / command из исходной ссылки продолжают действовать в штатном режиме.
В: Можно ли передать пароль прямо в ссылке, чтобы не вводить его каждый раз?
О: Нет. Это ограничение безопасности — пароль никогда не передается в ссылке. Даже если вы вручную добавите password=xxx, это будет проигнорировано. Пароль проходит только через связку ключей (Keychain) внутри приложения.
В: Для чего нужен name?
О: Это просто имя (примечание) для данного терминала, чтобы вам было легче найти его в списке. Он не влияет на сопоставление серверов — две ссылки с одинаковым host, но разными name все равно подключатся к одному и тому же серверу.
В: Есть ли риски безопасности при использовании command?
О: Да, небольшая доля риска есть, об этом нужно знать. command выполняется автоматически (с нажатием Enter) после подключения. Любое приложение или веб-страница может отправить neoserver://...&command=..., поэтому не нажимайте на непонятные ссылки с параметром command. При первом запуске iOS покажет запрос «Открыть в NeoServer?» в качестве единственной защиты; к серверу, требующему пароля, пароль все равно не будет добавлен, произойдет откат к обычной аутентификации.
В: Можно ли указать каталог с китайскими иероглифами или пробелами в workdir?
О: Да. Пишите прямо, например: workdir=/home/me/my logs. Специальные символы будут автоматически обработаны приложением.
Самый надежный способ — копировать с помощью приложения, а не писать вручную.
В: Нажал на ссылку и ничего не происходит?
О: ① Убедитесь, что она начинается с neoserver://; ② При первом нажатии должно появиться подтверждение «Открыть в NeoServer»; ③ Проверьте, что host не пустой; ④ Ничего страшного, если приложение не работает на переднем плане, оно запустится автоматически.
В: Можно ли открывать такие ссылки на Android / Windows?
О: Нет. Ссылки neoserver:// распознаются только на iPhone / iPad с установленным приложением NeoServer.
Готовы попробовать?
NeoServer · SSH, Mosh, Docker & SFTP client for iPhone, iPad and Mac
Бесплатно в App Store