Macos sing-box
Macos — sing-box
Альтернативная настройка VPN на macOS через sing-box вместо Clash Verge. Используется тот же Hysteria2-сервер и аналогичный split-routing.
Готовую конфигурацию с актуальным адресом узла, портом и учётными данными нужно скопировать или скачать со своей секретной страницы профиля.
Где взять конфигурацию
Администратор выдаёт персональную секретную ссылку вида https://vpn-panel.nordpatriot.ru/s/. В рабочей ссылке после /s/ находится секретный токен профиля.
На своей секретной странице копируйте готовую конфигурацию нужного типа:
- Connection URL — для импорта по ссылке или QR-коду;
- sing-box · Split — российские адреса напрямую, остальные через VPN (рекомендуется);
- sing-box · All — весь трафик через VPN;
- Clash Verge — готовая YAML-конфигурация.
Ничего не разбирайте и не подставляйте вручную: адрес узла, порт, логин, пароли и TLS-параметры уже включены. Секретную ссылку и полученные конфигурации нельзя публиковать или передавать посторонним.
1. Варианты запуска
Вариант A: SFM с графическим интерфейсом
SFM — официальный sing-box for macOS из семейства sing-box for Apple platforms.
brew install sfm
Также сборки могут публиковаться в sing-box GitHub Releases.
SFM использует NetworkExtension/System Extension и позволяет создавать Local Profile, включать TUN и Always On.
Если standalone-сборка временно недоступна из-за нотарификации Apple, использовать CLI-вариант ниже.
Вариант B: sing-box CLI и LaunchDaemon
brew install sing-box
CLI запускается от root через LaunchDaemon, потому что создание системного TUN и маршрутов требует повышенных прав.
Важно: не держать одновременно активными Clash Verge TUN и sing-box TUN. Перед тестом sing-box выключить TUN/System Proxy в Clash Verge и завершить его helper/core.
2. Выбор готовой конфигурации
Откройте свою персональную секретную страницу профиля. Не разбирайте Connection URL и не подставляйте пароли вручную.
- sing-box · Split — российские домены и IP идут напрямую, остальной трафик через VPN; это рекомендуемый вариант.
- sing-box · All — весь трафик идёт через VPN.
3. Импорт конфигурации
Для SFM вставьте JSON в Local Profile. Для CLI скачайте файл и сохраните его как config.json.
Используйте кнопку «Скопировать» или «Скачать» рядом с выбранным вариантом. Конфигурация уже содержит актуальные адрес узла, порт, учётные данные, TLS, DNS и маршрутизацию.
4. Запуск через SFM
- Открыть SFM.
- Создать Local Profile.
- Вставить готовый JSON со своей секретной страницы.
- Сохранить и выбрать профиль.
- Разрешить System Extension/Network Extension в System Settings, если macOS запросит.
- Нажать Start.
- Для автоматического восстановления включить Always On.
- Проверить внешний IP:
curl -4 https://api.ipify.org
В standalone SFM доступны правила process_name, поэтому OpenVPN можно отправить в DIRECT.
5. Запуск CLI через LaunchDaemon
Создать каталог и установить конфигурацию:
sudo mkdir -p /usr/local/etc/sing-box
sudo cp config.json /usr/local/etc/sing-box/config.json
sudo chown root:wheel /usr/local/etc/sing-box/config.json
sudo chmod 600 /usr/local/etc/sing-box/config.json
Проверить конфигурацию:
sudo "$(brew --prefix)/bin/sing-box" check -c /usr/local/etc/sing-box/config.json
Создать /Library/LaunchDaemons/io.nordpatriot.sing-box.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.nordpatriot.sing-box</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/sing-box</string>
<string>run</string>
<string>-c</string>
<string>/usr/local/etc/sing-box/config.json</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/var/log/sing-box.log</string>
<key>StandardErrorPath</key>
<string>/var/log/sing-box.log</string>
</dict>
</plist>
Для Intel Mac путь к бинарнику обычно /usr/local/bin/sing-box; проверить командой which sing-box.
Загрузить LaunchDaemon:
sudo chown root:wheel /Library/LaunchDaemons/io.nordpatriot.sing-box.plist
sudo chmod 644 /Library/LaunchDaemons/io.nordpatriot.sing-box.plist
sudo launchctl bootstrap system /Library/LaunchDaemons/io.nordpatriot.sing-box.plist
Проверка:
sudo launchctl print system/io.nordpatriot.sing-box
tail -f /var/log/sing-box.log
Перезапуск:
sudo launchctl kickstart -k system/io.nordpatriot.sing-box
Удаление автозапуска:
sudo launchctl bootout system /Library/LaunchDaemons/io.nordpatriot.sing-box.plist
6. Split-routing
Напрямую идут:
- процесс OpenVPN;
- локальные и частные IP;
.ru,.рф,.yanet.org,.local;- российские IP из
geoip-ru.srs; - адрес получения OpenVPN-конфигурации.
Остальной трафик идёт через Hysteria2.
Если одновременно нужен Tunnelblick/OpenVPN, убедиться, что Hysteria2-сервер не маршрутизируется обратно в TUN, а route.auto_detect_interface включён.
7. Диагностика
sudo "$(brew --prefix)/bin/sing-box" check -c /usr/local/etc/sing-box/config.json
ps -axo user,pid,command | grep '[s]ing-box'
ifconfig | grep '^utun'
netstat -rn -f inet
curl -4 https://api.ipify.org
Если после запуска пропадает сеть:
- Остановить Clash Verge и другие TUN-клиенты.
- Проверить лог sing-box.
- Временно удалить
geoip-rurule-set и проверить базовое подключение. - Проверить UDP-доступ к адресу и порту, указанным в Connection URL на своей секретной странице.
- Проверить разрешение System Extension/Network Extension в System Settings.