Приложение для macOS
Приложение rVPN для macOS создаёт полнотуннельное VPN-соединение с помощью Network Extension. Весь трафик идёт через зашифрованный туннель.
Требования
Заголовок раздела «Требования»- macOS 13.0 или новее
- Развёрнутый сервер rVPN
- Адрес сервера, ключ идентификации и набор prekey
Настройка
Заголовок раздела «Настройка»1. Установите приложение
Заголовок раздела «1. Установите приложение»Установите rVPN из Mac App Store.
2. Добавьте профиль
Заголовок раздела «2. Добавьте профиль»Откройте приложение из иконки в меню-баре. Нажмите Settings… (или ⌘,). Окно настроек имеет две вкладки-сегмента — Profiles и Settings. Оставайтесь на Profiles.
Нажмите кнопку + в нижней панели инструментов (или на иконку со стрелкой в документ рядом, чтобы импортировать файл .rvpn, экспортированный с другого устройства). В окне откроется редактор профиля.
Заполните нужные поля; ключевые:
- Name — любое имя (например, «Home HK»)
- Colour — цветной маркер для идентификации профиля в списках и в меню-баре
- Default Profile — коснитесь ряда со звёздочкой, чтобы сделать этот профиль по умолчанию (автоподключается при запуске)
- Server Address —
wss://your-server.com/api/v1/ws/tun - Trust on First Use — оставьте включённым для стандартного TOFU-закрепления или вставьте ожидаемый Server Fingerprint ниже для строгой проверки
- Identity Key — нажмите Generate, чтобы создать новую идентичность X3DH для этого профиля, или Import…, чтобы загрузить существующий файл ключа
- Prekey Bundle — нажмите Import Prekey Bundle и выберите JSON-файл, предоставленный вашим администратором сервера
- DNS Servers — резолверы через запятую, используемые при локальном DNS-фолбэке (по умолчанию
1.1.1.1, 8.8.8.8) - Bypass Networks — дополнительные диапазоны CIDR для прямого направления
- MTU — MTU TUN-интерфейса (по умолчанию
1420) - Split Tunnel — выключено направляет весь трафик через VPN; включено открывает раздел ниже
- Bypass Country — выберите одну из встроенных стран (CN, HK, SG, JP, KR и другие), чьи диапазоны CIDR обходят туннель
- Bypass Domains — дополнительные домены обхода
- Tunnel Domains — домены, принудительно направляемые через туннель, даже когда Split Tunnel включён
Нажмите Save. Строки Identity Key и Prekey Bundle показывают зелёную галочку, когда они присутствуют.
3. Подключение
Заголовок раздела «3. Подключение»Нажмите Connect в выпадающем меню в меню-баре. macOS попросит разрешить конфигурацию VPN при первом подключении. Подтвердите, чтобы продолжить.
Приложение:
- Подключится к вашему серверу через TLS WebSocket
- Установит шифрование с прямой секретностью (X3DH + Double Ratchet)
- Получит IP-адрес туннеля от сервера
- Направит весь трафик через VPN
После подключения выпадающее меню в меню-баре показывает актуальные счётчики IP, Uptime и Sent/Recv — щёлкните по иконке в меню-баре в любой момент, чтобы посмотреть.
Раздельное туннелирование
Заголовок раздела «Раздельное туннелирование»Раздельное туннелирование находится в редакторе профиля, в разделе Traffic. Оно направляет через VPN только международный трафик, а внутренний (например, китайские сайты) идёт напрямую. Описание каждой настройки см. в списке полей выше.
Блокировка рекламы включена для каждого профиля и не отключается через интерфейс (это совпадает с поведением мобильных приложений).
Профили
Заголовок раздела «Профили»Приложение поддерживает до 10 профилей. Переключайтесь между профилями через выпадающее меню в меню-баре или вкладку настроек Profiles.
Каждый профиль хранит свои:
- Адрес сервера
- Ключ идентификации
- Набор prekey
- Настройки раздельного туннелирования
Поделиться профилем
Заголовок раздела «Поделиться профилем»Чтобы передать профиль на другое устройство — свой iPhone, другой Mac, коллеге — экспортируйте его в файл .rvpn и поделитесь удобным способом (AirDrop, почта, Файлы).
Откройте Settings › Profiles, смахните или щёлкните правой кнопкой на профиле, которым хотите поделиться, и выберите Export. Диалог спросит, включать ли ключ идентификации:
- Export Without Identity — безопаснее. Получатель может изучить профиль и подключиться, используя свои ключи (ему нужен набор prekey от того же администратора сервера). Подходит для передачи между разными пользователями или в не полностью доверенное окружение.
- Include Identity — получатель может подключиться на другом устройстве как есть. Выбирайте это, только если другое устройство — ваше собственное, или вы полностью доверяете получателю. Экспортированный файл содержит ваш приватный ключ.
Затем macOS откроет панель сохранения .rvpn файла — оттуда вы можете отправить его через AirDrop, вложить в письмо или перетащить в Сообщения.
Экспортированный файл также несёт в себе закреплённую идентичность сервера (отпечаток ik:1:), если вы уже хотя бы раз подключались. Это значит, что клиент получателя откажется подключаться, если сервер вдруг предъявит другой ключ, и отдельная внесистемная проверка не требуется — отправитель поручился за сервер, передав вам файл. Полная модель описана на странице Закрепление идентификации сервера.
Идентичность сервера (TOFU)
Заголовок раздела «Идентичность сервера (TOFU)»«Доверие при первом использовании» (TOFU, включено по умолчанию для каждого профиля) принимает и запоминает идентификацию сервера при первом успешном подключении. Отпечатки записываются в канонической форме ik:1:<base32> и хранятся в самом профиле.
Если сервер когда-либо предъявит другой ключ, приложение покажет предупреждение Server identity changed с закреплённым и полученным отпечатками рядом и тремя вариантами: Cancel, Delete Profile или Trust New Identity. Если оператор сменил ключ по подписанной церемонии ротации, приложение обновит отпечаток молча — без предупреждения.
Для более строгой проверки вставьте отпечаток (полученный от оператора в форме ik:1:) в поле профиля Server Fingerprint до первого подключения.
Полная модель — формат отпечатка, церемония ротации, модель угроз — на странице Закрепление идентификации сервера.
Устранение неполадок
Заголовок раздела «Устранение неполадок»Приложение показывает «Connected», но трафик не проходит
Заголовок раздела «Приложение показывает «Connected», но трафик не проходит»- Убедитесь, что ваш сервер работает и доступен на порту 443.
- Проверьте, что адрес сервера в профиле правильный (должен начинаться с
wss://). - Проверьте логи сервера на ошибки подключения.
«Failed to start VPN» или подключение сразу не удаётся
Заголовок раздела ««Failed to start VPN» или подключение сразу не удаётся»- Убедитесь, что и ключ идентификации, и набор prekey присутствуют в редакторе профиля (зелёные галочки).
- Убедитесь, что в адресе сервера нет лишних пробелов.
- Если проблема сохраняется, пересоздайте ключ идентификации и заново импортируйте набор prekey.
VPN перестал работать после обновления приложения
Заголовок раздела «VPN перестал работать после обновления приложения»macOS хранит VPN-профили в системных настройках независимо от приложения. После обновления сохранённый профиль может ссылаться на устаревшее расширение туннеля.
Исправление:
- Откройте Системные настройки > VPN (или Системные настройки > Основные > VPN и фильтры на более новых macOS).
- Удалите запись rVPN.
- Заново откройте приложение rVPN и подключитесь. Приложение создаст свежий профиль.
Это исправлено в версии 1.2.4 и новее, которая автоматически обнаруживает и заменяет устаревшие профили.
VPN-профиль отображается в Системных настройках, но приложение показывает «Disconnected»
Заголовок раздела «VPN-профиль отображается в Системных настройках, но приложение показывает «Disconnected»»VPN-профиль, вероятно, создан предыдущей версией или другой сборкой. Удалите его:
- Откройте Системные настройки > VPN.
- Нажмите кнопку info (i) рядом с записью rVPN и удалите её.
- Заново откройте приложение rVPN. При следующей попытке подключения оно создаст новый профиль.
Туннель подключается, но DNS не разрешается
Заголовок раздела «Туннель подключается, но DNS не разрешается»Приложение запускает локальный DNS-прокси для разрешения DNS в split-tunnel режиме. Если DNS не работает:
- Проверьте, что адрес сервера доступен.
- Попробуйте отключить раздельное туннелирование в редакторе профиля, чтобы использовать режим полного туннеля.
- Проверьте логи сервера на ошибки DNS-прокси.
Как собрать диагностические логи
Заголовок раздела «Как собрать диагностические логи»Логи уровня Rust пишутся в файл в контейнере App Group:
cat ~/Library/Group\ Containers/group.org.rvpn.client/rvpn_tunnel_rust.logДля системных логов:
log show --predicate 'subsystem == "org.rvpn.tunnel"' --last 5m --level debugДальнейшие шаги
Заголовок раздела «Дальнейшие шаги»- Приложение iOS — мобильный VPN с тем же шифрованием
- Настройка сервера — разверните собственный сервер rVPN
- Устранение неполадок — общее руководство по устранению неполадок
- Справочник конфигурации клиента — все опции конфигурации