Selective Remote
English · Русский
Selective Remote — бесплатный open-source RDP, SSH, Telnet, Serial и SFTP клиент для macOS. Он объединяет multi-monitor RDP с Retina, SSH Workspace, локальный терминал, общую библиотеку Snippets, двухпанельный SFTP с передачей Server → Server, SSH port forwarding, диагностику, управление SSH-реквизитами и зашифрованные резервные копии в одном приложении.
Проект ориентирован на Apple Silicon и macOS 14+. Интерфейс доступен на русском и английском языках.
Подходит для: системных администраторов, DevOps, homelab и всех, кому нужен RDP client for macOS, SSH client for macOS или SFTP client for macOS без переключения между несколькими приложениями.
Скачать последнюю версию · Telegram-канал · Сайт проекта · English README
Основные рабочие пространства
Профили и теги
Сохранённые RDP-, SSH-, Telnet- и Serial-подключения поддерживают группы, избранное и несколько пользовательских тегов на один профиль. Теги создаются самим пользователем, могут переименовываться или удаляться сразу во всех профилях и участвуют в поиске и составной фильтрации. Каталог подключений переключается между представлением списком и плиткой.
Connection Center
Центр подключений собирает фактическое состояние активных RDP, SSH, локальных Terminal, SFTP и Forwarding-сессий в одном месте: сервер, профиль, способ аутентификации, состояние, uptime и доступные действия.
RDP
- SDL-FreeRDP с оконным и настоящим полноэкранным режимом macOS;
- Retina-рендеринг без ручного масштабирования всего окна;
- multi-monitor RDP с Retina и внешними дисплеями;
- ручная раскладка мониторов;
- корректное отображение Windows taskbar в fullscreen;
- перенаправление буфера обмена, звука, микрофона, камеры, принтеров и папок;
- RDP Gateway;
- Smart Reconnect после временных сетевых сбоев;
- macOS-ориентированная работа Command, Option и Fn;
- параллельные RDP-сессии для разных профилей.
SSH Workspace
Встроенный SSH-терминал использует системный /usr/bin/ssh и поддерживает:
- независимые вкладки и split/grid-панели;
- разные серверы в разных вкладках и панелях;
- сохранение структуры рабочего пространства;
- историю, избранное, общий каталог и подсказки команд;
- автоматически определяемые Server Commands для Linux, systemd, сети, дисков и контейнеров;
- reconnect, duplicate, Drag & Drop сортировку и цветовые метки;
- Broadcast Input с явным предупреждением;
- палитру действий и быстрый переход к SFTP;
- настройку темы, шрифта, размера текста и курсора.
Telnet и Serial
Telnet- и Serial-подключения создаются в общем разделе Подключения и открываются в том же Terminal Workspace с вкладками, split/grid, темами и Session Logs.
- Telnet поддерживает hostname/IP и произвольный порт; приложение явно предупреждает, что трафик и пароль не шифруются.
- Serial обнаруживает устройства
/dev/cu.*и сохраняет baud rate, data bits, parity, stop bits и flow control. - Логин и пароль Telnet вводятся непосредственно в терминале и не сохраняются в профиле.
Локальный терминал
Отдельное рабочее пространство Терминал запускает системный login shell текущего пользователя без SSH:
- до восьми независимых вкладок;
- отдельная рабочая папка для каждой вкладки;
- быстрый выбор папки и очистка экрана;
- история, темы и общая библиотека Snippets;
- системное сочетание
⌘Tдля новой вкладки.
Snippets
Глобальная библиотека Snippets общая для SSH Workspace и локального терминала:
- группы с навигацией назад и сохранением выбранной папки;
- представление списком или плиткой;
- создание, изменение, дублирование, перенос и удаление команд;
- многострочные команды и скрипты без потери переводов строк;
- назначение одного сниппета на несколько SSH Targets;
- запуск на Targets, выполнение в текущем терминале, вставка без запуска и копирование.
SFTP
Самостоятельный двухпанельный файловый менеджер:
- локальная панель Mac и удалённая панель сервера;
- сохранённый SSH-профиль или временный сервер;
- persistent SSH master, чтобы пароль не запрашивался на каждую операцию;
- загрузка и скачивание файлов и каталогов;
- Drag & Drop между Finder и SFTP;
- множественное выделение;
- рекурсивное удаление каталогов;
- создание папок, переименование и POSIX-права;
- прогресс больших передач, объём и скорость;
- автоматическое обновление удалённой панели;
- история и подсказки пути;
- редактирование удалённых UTF-8-файлов.
Forwarding Manager
Глобальный менеджер SSH-туннелей объединяет туннели профилей и независимые туннели, сохраняя их отдельные настройки и runtime state.
- Local forwarding;
- Remote forwarding;
- Dynamic / SOCKS5;
- сохранённый SSH-профиль или временный SSH-адрес;
- Keychain/AskPass, SSH ID и ssh-agent;
- keepalive и диагностика ошибок открытия порта;
- Inspector с параметрами и визуальной схемой маршрута;
- быстрые start/stop/restart и контекстные действия.
Связка ключей
Глобальный раздел Связка ключей объединяет:
- SSH ID;
- Touch ID Key;
- сохранённые SSH-пароли;
- OpenSSH certificates;
- SSH Certificate Authorities;
~/.ssh/known_hosts.
Selective Remote умеет создавать и импортировать SSH-ключи, работать с ssh-agent, устанавливать public key на сервер без перезаписи authorized_keys, читать OpenSSH certificates и проверять сохранённый host key.
Touch ID Key в community-реализации требует биометрию перед использованием выбранного ECDSA-ключа, но сам приватный ключ остаётся обычным OpenSSH-файлом; это не Secure Enclave key.
Quick Connect, Jump Host и Proxy
Quick Connect позволяет быстро открыть сохранённый профиль, user@host или временное SSH-подключение и при необходимости сохранить его как профиль.
Для bastion-сценариев SSH-профиль может использовать другой сохранённый профиль как Jump Host / ProxyJump. Также поддерживаются HTTP CONNECT и SOCKS5 proxy с аутентификацией.
Diagnostics Center
Центр диагностики показывает состояние RDP, Terminal, SFTP и Forwarding, окружение приложения и активные проблемы. Диагностический отчёт можно скопировать или экспортировать.
Отчёт намеренно не читает пароли, passphrase, значения Keychain, секреты proxy или содержимое приватных ключей. Пути SSH-ключей и сертификатов в диагностике сокращаются до имени файла там, где это требуется для безопасного отчёта.
Журнал подключений
Локальный журнал сохраняет время, продолжительность, профиль, адрес, маршрут и результат RDP- и SSH-подключения. Перед сохранением ошибки проходят ту же очистку секретов, что и Diagnostics Center. Пароли, ключи, команды и содержимое терминала в журнал не записываются. Историю можно фильтровать, искать и полностью очистить.
Session Logs
По желанию Selective Remote записывает читаемый вывод SSH- и Local Terminal-сессий. Записи остаются локально, поддерживают поиск и настраиваемый срок хранения. Пароли, вводимые через защищённые системные механизмы, в Session Logs не добавляются.
Зашифрованные резервные копии
Раздел Настройки → Резервная копия создаёт переносимый зашифрованный архив локальной конфигурации. По умолчанию в него входят профили, группы, Snippets, настройки, записи Selective Remote в macOS Keychain, приватные SSH/CA-ключи, Session Logs и журнал подключений.
- архив защищён отдельным паролем длиной не менее 12 символов;
- пароль архива не сохраняется в приложении или Keychain;
- перед восстановлением проверяются пароль, формат и целостность всех вложений;
- перед заменой данных автоматически создаётся rollback-архив текущего состояния;
- состав архива можно сократить, отключив секреты, приватные ключи или журналы.
Оформление, язык и обновления
- светлая, тёмная или системная тема приложения;
- отдельные темы терминала;
- несколько размеров текста и вариантов плотности интерфейса;
- русский и английский интерфейс;
- системное окно Настройки с разделами оформления, безопасности и обновлений;
- встроенная проверка обновлений;
- автоматическая проверка и опциональная автоматическая загрузка обновлений;
- загрузка DMG с проверкой SHA-256;
- установка обновления только после подтверждения пользователя.
Безопасность
Selective Remote старается использовать системные механизмы macOS и OpenSSH:
- SSH-пароли и связанные секреты хранятся в macOS Keychain;
- опциональный App Lock закрывает интерфейс приложения через Touch ID при запуске, после сна, сворачивания или выбранного периода бездействия;
- профили не экспортируют сохранённые пароли;
- новый SSH host key не принимается автоматически;
- proxy password не передаётся в аргументах OpenSSH;
- Diagnostics Center редактирует потенциальные секреты перед Copy/Export;
- приватные SSH-ключи остаются файлами пользователя и не копируются в профиль приложения;
- полные резервные копии шифруются до записи на диск и не содержат пароль расшифрования.
Системные требования
- macOS 14 или новее;
- Apple Silicon для готовых arm64 DMG-релизов;
- сетевой доступ к нужным RDP/SSH-серверам;
- разрешения macOS на микрофон, камеру и другие устройства требуются только для соответствующего перенаправления.
Установка
- Скачайте DMG из последнего GitHub Release.
- Откройте образ.
- Перетащите Selective Remote в
Applications. - Запустите приложение.
Быстрый старт
RDP
- Создайте RDP-профиль.
- Укажите компьютер, пользователя и при необходимости RDP Gateway.
- Выберите оконный/fullscreen режим и дисплеи.
- Настройте нужное перенаправление устройств.
- Нажмите Подключиться.
SSH
- Создайте SSH-профиль или откройте Quick Connect.
- Укажите hostname/IP, пользователя и порт.
- Выберите пароль, SSH ID, Touch ID Key или системный
ssh-agent/~/.ssh/config. - При необходимости настройте Jump Host или Proxy.
- Откройте Terminal, SFTP или Forwarding.
Локальный терминал и Snippets
- Откройте раздел Терминал, чтобы запустить локальный login shell.
- Используйте кнопку папки, чтобы выбрать рабочий каталог активной вкладки.
- Откройте Snippets, создайте группу и добавьте команду или многострочный скрипт.
- Запустите сниппет локально либо назначьте ему один или несколько SSH Targets.
Сборка из исходников
Базовая проверка проекта:
swift test
swift build -c release
Локальная сборка и установка приложения:
bash scripts/build_and_install.sh
Дополнительная информация:
Новости проекта
Новые версии, краткие описания обновлений и новости публикуются в официальном Telegram-канале Selective Remote.
Поддержать проект
Selective Remote остаётся бесплатным и открытым. Если приложение оказалось полезным, можно поддержать дальнейшую разработку. Поддержка полностью добровольна и не открывает дополнительные функции.
История изменений
История конкретных версий находится в CHANGELOG.md. README описывает текущее состояние продукта, а не дублирует release notes.
Лицензия
Проект распространяется по лицензии MIT.