Macos
Macos
Инструкция для macOS (Apple Silicon) по установке и автоматическому запуску Clash Verge Rev с Hysteria2, TUN Mode и раздельной маршрутизацией.
Конфигурация проверена на macOS 26.5 с Clash Verge Rev 2.4.7. Версия 2.5.1 в этой системе имела проблемы с подписью helper и восстановлением TUN после перезагрузки, поэтому ниже используется 2.4.7.
Где взять конфигурацию
Администратор выдаёт персональную секретную ссылку вида https://vpn-panel.nordpatriot.ru/s/. В рабочей ссылке после /s/ находится секретный токен профиля.
На своей секретной странице копируйте готовую конфигурацию нужного типа:
- Connection URL — для импорта по ссылке или QR-коду;
- sing-box · Split — российские адреса напрямую, остальные через VPN (рекомендуется);
- sing-box · All — весь трафик через VPN;
- Clash Verge — готовая YAML-конфигурация.
Ничего не разбирайте и не подставляйте вручную: адрес узла, порт, логин, пароли и TLS-параметры уже включены. Секретную ссылку и полученные конфигурации нельзя публиковать или передавать посторонним.
1. Установка Clash Verge Rev
- Открыть официальный релиз Clash Verge Rev 2.4.7.
- Для Mac с процессором Apple M1/M2/M3/M4 скачать
Clash.Verge_2.4.7_aarch64.dmg. - Перетащить
Clash Verge.app в каталог/Applications. - Извлечь DMG.
- Первый раз запустить приложение именно из
/Applications:
open -n "/Applications/Clash Verge.app"
Не следует запускать приложение непосредственно из DMG или Downloads. Правильный путь процесса:
/Applications/Clash Verge.app/Contents/MacOS/clash-verge
Проверка подписи и нотарификации:
codesign --verify --deep --strict --verbose=2 "/Applications/Clash Verge.app"
spctl -a -vv -t exec "/Applications/Clash Verge.app"
Ожидаемый результат: valid on disk и accepted; source=Notarized Developer ID.
2. Добавление конфигурации
- Откройте свою персональную секретную страницу профиля.
- В блоке Clash Verge нажмите «Скопировать» либо скачайте готовый YAML-файл.
- В Clash Verge откройте Profiles, импортируйте скачанный YAML или создайте локальный профиль и вставьте скопированную конфигурацию.
- Выберите профиль и установите режим Rule, а не Global.
Конфигурация уже содержит параметры подключения и правила: российские домены/IP и локальные сети идут напрямую, остальной трафик — через VPN. Не заменяйте адрес, порт или пароли вручную.
3. TUN Mode и системный helper
В настройках Clash Verge включить:
- System Proxy;
- TUN Mode;
- Service Mode / Admin Mode;
- Start at Login / Auto Launch;
- Silent Start.
При установке Service Mode macOS запросит пароль администратора.
Если установка helper из интерфейса не проходит, переустановить его штатными утилитами:
APP="/Applications/Clash Verge.app"
sudo "$APP/Contents/Resources/resources/clash-verge-service-uninstall"
sudo "$APP/Contents/Resources/resources/clash-verge-service-install"
Проверка helper:
launchctl print system/io.github.clash-verge-rev.clash-verge-rev.service | grep -E "state =|runs =|pid =|last exit code"
Ожидается state = running и last exit code = 0 либо (never exited).
4. Исправление TUN после перезагрузки
4.1 App Translocation
Если процесс запущен из пути /private/var/.../AppTranslocation/..., закрыть Clash Verge и запустить точную копию из /Applications:
open -n "/Applications/Clash Verge.app"
Проверка:
ps -axo pid,command | grep -E "[C]lash Verge|[v]erge-mihomo"
4.2 Неверный путь в автозапуске
Проверить LaunchAgent:
PLIST="$HOME/Library/LaunchAgents/io.github.clash-verge-rev.clash-verge-rev.plist"
plutil -p "$PLIST"
В ProgramArguments должен быть ровно один путь:
/Applications/Clash Verge.app/Contents/MacOS/clash-verge
Если там присутствует AppTranslocation, пересоздать список аргументов:
PLIST="$HOME/Library/LaunchAgents/io.github.clash-verge-rev.clash-verge-rev.plist"
launchctl bootout "gui/$(id -u)" "$PLIST" 2>/dev/null || true
/usr/libexec/PlistBuddy -c "Delete :ProgramArguments" "$PLIST"
/usr/libexec/PlistBuddy -c "Add :ProgramArguments array" "$PLIST"
/usr/libexec/PlistBuddy -c "Add :ProgramArguments:0 string /Applications/Clash Verge.app/Contents/MacOS/clash-verge" "$PLIST"
launchctl bootstrap "gui/$(id -u)" "$PLIST"
4.3 Ошибка IPC permission denied
На проверенной системе helper создавал /tmp/verge как root:wheel с режимом 2770. Пользователь-администратор состоял в группе admin, но не в wheel, поэтому Mihomo не мог создать verge-mihomo.sock, а Clash при запуске сбрасывал TUN Mode.
Диагностика:
ls -lad /tmp/verge
id
tail -n 50 "$HOME/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/logs/sidecar/sidecar_latest.log"
Характерная ошибка:
External controller unix listen error:
listen unix /tmp/verge/verge-mihomo.sock: bind: permission denied
Исправление:
SERVICE_PLIST="/Library/LaunchDaemons/io.github.clash-verge-rev.clash-verge-rev.service.plist"
sudo plutil -replace GroupName -string admin "$SERVICE_PLIST"
sudo chgrp admin /tmp/verge
sudo chmod 2770 /tmp/verge
sudo launchctl bootout system "$SERVICE_PLIST"
sudo launchctl bootstrap system "$SERVICE_PLIST"
Это даёт доступ к IPC root и всем локальным администраторам Mac, но не обычным пользователям.
После исправления ожидаются такие права:
drwxrws--- root admin /tmp/verge
srw-rw-rw- root admin /tmp/verge/verge-mihomo.sock
При включённом TUN процесс verge-mihomo должен работать от root.
5. Проверка работы
Проверить настройки приложения:
grep -E "enable_(tun_mode|auto_launch|silent_start|system_proxy)" "$HOME/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/verge.yaml"
Ожидаемые значения:
enable_tun_mode: true
enable_auto_launch: true
enable_silent_start: true
enable_system_proxy: true
Проверить процессы:
ps -axo user,group,pid,command | grep -E "[C]lash Verge|[v]erge-mihomo|[c]lash-verge-service"
Проверить внешний IPv4:
curl -4 https://api.ipify.org
Проверить маршрутизацию в логах:
LOG="$HOME/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/logs/sidecar/sidecar_latest.log"
grep "using PROXY" "$LOG" | tail
grep "match.*DIRECT" "$LOG" | tail
Для Codex ожидается запись вида:
Codex (Service) --> chatgpt.com:443 match Match using PROXY[hy2-codex]
6. Проверка после перезагрузки
После перезагрузки Mac проверить:
- Clash Verge запущен из
/Applications, безAppTranslocation. - Системный helper имеет состояние
running. enable_tun_mode остался равенtrue.verge-mihomo работает отroot.- Внешний IP отличается от прямого подключения.
- Домены
.ru,.рф, российские IP, локальная сеть и OpenVPN идут поDIRECT; остальной трафик — черезPROXY.
Если TUN снова выключился, сначала проверить права /tmp/verge и наличие permission denied в sidecar_latest.log.