Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
PastFly/Selective-Remote: Open-source RDP, SSH, SFTP and port forwarding client for macOS

PastFly/Selective-Remote: Open-source RDP, SSH, SFTP and port forwarding client for macOS

13 hours ago

Selective Remote

English · Русский

CI</a> macOS 14+</a> License: MIT</a> Поддержать проект</a> Website</a> Telegram</a>

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 и доступные действия.

!Connection Center

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;
  • настройку темы, шрифта, размера текста и курсора.
В split/grid-режиме история, общие команды, команды сервера, избранное и Snippets открываются в едином полноразмерном Inspector активной панели.

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 и контекстные действия.
!Forwarding Manager

Связка ключей

Глобальный раздел Связка ключей объединяет:

  • SSH ID;
  • Touch ID Key;
  • сохранённые SSH-пароли;
  • OpenSSH certificates;
  • SSH Certificate Authorities;
  • ~/.ssh/known_hosts.
SSH-пароли и passphrase сохраняются в macOS Keychain. Для сохранённого SSH-пароля можно включить подтверждение Touch ID.

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-архив текущего состояния;
  • состав архива можно сократить, отключив секреты, приватные ключи или журналы.
Обычный экспорт профилей по-прежнему не содержит паролей и приватных ключей. Для полного переноса между Mac используйте только зашифрованную резервную копию и передавайте её пароль отдельно.

Оформление, язык и обновления

  • светлая, тёмная или системная тема приложения;
  • отдельные темы терминала;
  • несколько размеров текста и вариантов плотности интерфейса;
  • русский и английский интерфейс;
  • системное окно Настройки с разделами оформления, безопасности и обновлений;
  • встроенная проверка обновлений;
  • автоматическая проверка и опциональная автоматическая загрузка обновлений;
  • загрузка 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-ключи остаются файлами пользователя и не копируются в профиль приложения;
  • полные резервные копии шифруются до записи на диск и не содержат пароль расшифрования.
Перед использованием Jump Host, proxy, сертификатов или изменившегося host key проверяйте доверие к соответствующей инфраструктуре.

Системные требования

  • macOS 14 или новее;
  • Apple Silicon для готовых arm64 DMG-релизов;
  • сетевой доступ к нужным RDP/SSH-серверам;
  • разрешения macOS на микрофон, камеру и другие устройства требуются только для соответствующего перенаправления.

Установка

  1. Скачайте DMG из последнего GitHub Release.
  2. Откройте образ.
  3. Перетащите Selective Remote в Applications.
  4. Запустите приложение.
Community-релизы без Developer ID могут использовать ad-hoc подпись. В таком случае macOS может один раз потребовать разрешить запуск через Системные настройки → Конфиденциальность и безопасность или через контекстное меню Finder.

Быстрый старт

RDP

  1. Создайте RDP-профиль.
  2. Укажите компьютер, пользователя и при необходимости RDP Gateway.
  3. Выберите оконный/fullscreen режим и дисплеи.
  4. Настройте нужное перенаправление устройств.
  5. Нажмите Подключиться.

SSH

  1. Создайте SSH-профиль или откройте Quick Connect.
  2. Укажите hostname/IP, пользователя и порт.
  3. Выберите пароль, SSH ID, Touch ID Key или системный ssh-agent / ~/.ssh/config.
  4. При необходимости настройте Jump Host или Proxy.
  5. Откройте Terminal, SFTP или Forwarding.

Локальный терминал и Snippets

  1. Откройте раздел Терминал, чтобы запустить локальный login shell.
  2. Используйте кнопку папки, чтобы выбрать рабочий каталог активной вкладки.
  3. Откройте Snippets, создайте группу и добавьте команду или многострочный скрипт.
  4. Запустите сниппет локально либо назначьте ему один или несколько 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.

Chat with me