Как автоматизировать VLESS + Reality на старом Intel iMac с macOS Catalina 10.15.8: AUTO Xray

от автора

Ранее я описал способ запуска VLESS + Reality на Intel iMac с macOS Catalina 10.15.8: «Как запустить VLESS + Reality на старом Intel iMac с macOS Catalina 10.15.8».

Решение через V2RayXS и Xray-core оказалось рабочим, но требовало много ручных действий: получить подписку, разобрать VLESS-ссылки, сформировать JSON-конфигурации, импортировать узлы и настроить системный proxy.

Схема выглядела примерно так:

subscription    ↓vless://    ↓разбор параметров    ↓JSON    ↓V2RayXS    ↓Xray    ↓macOS system proxy

Для разовой настройки этого достаточно. Для постоянного использования — не очень удобно.

Следующим шагом стала автоматизация этой цепочки.

Так появился AUTO Xray.

Теперь пользовательский сценарий выглядит так:

subscription URL    ↓Update subscription    ↓выбор региона или сервера    ↓Enable
AUTO Xray на iMac Late 2013 с macOS Catalina 10.15.8

AUTO Xray на iMac Late 2013 с macOS Catalina 10.15.8

Задача AUTO Xray

AUTO Xray не задумывался как универсальный VPN-клиент. Цель была значительно уже: сделать удобный клиент VLESS + Reality для старых Intel Mac, оставшихся на macOS Catalina.

Целевая конфигурация:

Intel x86_64macOS Catalina 10.15.xVLESS + RealitymacOS system proxy

Вся остальная техническая часть должна оставаться внутри приложения.

Что получилось: AUTO Xray

AUTO Xray — небольшое приложение для строки меню macOS.

Состояние видно по иконке в строке меню: яркий голубь — ON, полупрозрачный — OFF.

Нажатие на иконку открывает основное меню приложения. Отдельного окна настроек для повседневной работы не требуется.

Основное меню AUTO Xray: автоматический выбор RF / EU / World и ручной выбор узла

Основное меню AUTO Xray: автоматический выбор RF / EU / World и ручной выбор узла

При обновлении подписки AUTO Xray самостоятельно разбирает полученные узлы и распределяет их по группам:

  • RF

  • EU

  • World

После этого можно выбрать группу для автоматического выбора подходящего сервера либо указать конкретный узел вручную.

Что происходит под капотом

За работу с VLESS + Reality отвечает Xray-core. AUTO Xray управляет его конфигурацией, запуском и интеграцией с сетевыми настройками macOS.

При включении соединения приложение формирует конфигурацию для выбранного узла и запускает Xray-core с двумя локальными входами:

HTTP/HTTPS → 127.0.0.1:9001SOCKS5     → 127.0.0.1:2081

После запуска Xray AUTO Xray через штатный networksetup настраивает HTTP, HTTPS и SOCKS proxy для сетевых сервисов macOS.

В упрощённом виде маршрут трафика выглядит так:

Приложение    ↓macOS system proxy    ↓127.0.0.1    ↓Xray-core    ↓VLESS + Reality    ↓сервер

Из этой архитектуры следует важное ограничение: AUTO Xray — system proxy client, а не TUN VPN.

Программы, использующие системные proxy-настройки macOS, направляют трафик через Xray. Приложения, которые игнорируют системный proxy или используют собственный сетевой стек, могут работать напрямую.

Устойчивость на Catalina

Отдельная задача — поведение приложения при сетевых сбоях.

Например, после отключения и повторного подключения Wi-Fi процесс Xray может оставаться запущенным, но рабочий маршрут через proxy уже не гарантирован.

Поэтому в AUTO Xray есть supervisor, который периодически проверяет прохождение трафика через локальный SOCKS proxy. Если несколько проверок подряд завершаются ошибкой, runtime восстанавливается автоматически.

Есть и обратная проблема: Xray уже остановлен, а macOS продолжает считать системный proxy включённым. В этом случае приложения пытаются отправлять трафик на локальный адрес, где уже никто не слушает, и интернет фактически перестаёт работать.

AUTO Xray проверяет такое состояние и отключает оставшиеся HTTP, HTTPS и SOCKS proxy, если процесс Xray больше не работает.

Кроме того, при перезапуске очищаются оставшиеся процессы Xray, которые могут удерживать локальные порты после некорректного завершения.

Установка на Catalina

Основной способ установки — через DMG из GitHub Releases.

Установочный образ AUTO Xray 2.5.20

Установочный образ AUTO Xray 2.5.20

Порядок такой:

  1. Скачать AUTO_Xray_Catalina_v2.5.20.dmg.

  2. Открыть образ.

  3. Запустить Install AUTO Xray.app через Control-click → Open.

  4. Если Catalina в первом предупреждении показывает только Cancel, закрыть его и повторить Control-click → Open.

  5. Во втором предупреждении подтвердить запуск кнопкой Open.

Повторный запуск через Control-click → Open позволяет подтвердить запуск в Gatekeeper

Повторный запуск через Control-click → Open позволяет подтвердить запуск в Gatekeeper

Приложение пока не подписано сертификатом Apple Developer ID, поэтому такой сценарий запуска ожидаем.

После установки AUTO Xray запускается в состоянии OFF.

Если DMG по какой-то причине не открывается или Gatekeeper продолжает блокировать запуск, в релизе есть резервный ZIP-инсталлятор:

AUTO_Xray_Catalina_Installer_v2.5.20.zip

Он содержит установочный скрипт INSTALL_AUTO_XRAY_CATALINA.command.

Состав релиза

В AUTO Xray включён Xray-core 1.8.4 — отдельно устанавливать или загружать его не требуется.

При сборке Xray-core проверяется по SHA-256 перед включением в пакет.

Вместе с каждым релизом публикуется SHA256SUMS.txt с контрольными суммами DMG и ZIP.

Итог

Текущая стабильная версия — AUTO Xray 2.5.20.

Проект и готовые сборки опубликованы на GitHub:

GitHub: https://github.com/eigenheit/auto-xray

Releases: https://github.com/eigenheit/auto-xray/releases

Если у вас остался Intel Mac с Catalina и есть возможность проверить AUTO Xray на другой конфигурации, результаты тестирования и найденные проблемы можно оставить в Issues проекта.

ссылка на оригинал статьи https://habr.com/ru/articles/1082148/