Большинство людей пользуются коммерческими VPN и вручную переключают их, когда нужно зайти на российский сайт. Это неудобно и в итоге раздражает. В этой статье разберём как поднять собственный VPN и настроить автоматическое разделение трафика — российские ресурсы идут напрямую, всё остальное через VPN. Один раз настроил и забыл.
Инструкция написана под iOS + Shadowrocket. Принципы те же для Android и других платформ, но конкретные шаги будут отличаться.
Выбираем VPS
Нам нужен VPS за пределами России — это основа всей схемы. Подобрать подходящий вариант можно на агрегаторе vps.today .

Минимальные параметры: 1 CPU, 1 GB RAM, 25 GB диск, 1 TB трафика. Этого более чем достаточно для личного VPN.
Рекомендуется выбирать провайдеров, которые не принимают российские карты — это автоматически означает другую юрисдикцию и меньше рисков. Если есть зарубежная карта или крипта, используйте их.
Перед покупкой стоит проверить провайдера на отзывы и устойчивость к цензуре. В этом помогает чат itdog — там публикуют реальные тесты, цены и опыт использования разных хостингов.

После регистрации и оплаты провайдер выдаст IP-адрес сервера, логин и пароль. Сохраните их — они понадобятся на следующем шаге. Хорошая новость: заходить на сервер вручную для настройки не нужно.
Разворачиваем AmneziaWG
Я выбрал AmneziaWG — разворачивается за несколько минут, работает стабильно и обфусцирует трафик так, что ТСПУ не могут его распознать и заблокировать.
Скачайте приложение AmneziaVPN на любое устройство.
В российском App Store приложение удалено. Смените регион аккаунта на любой зарубежный, например US, или заведите отдельный Apple ID.
Открываем приложение, переходим во вкладку с + и выбираем Self-Hosted VPN.

Вводим IP-адрес, логин и пароль от VPS. Нажимаем продолжить.

Выбираем уровень защиты Высокий — это запустит AmneziaWG вместо обычного WireGuard. Настройка займёт 2–3 минуты и произойдёт полностью автоматически.
Получаем конфиг для подключения
Переходим во вкладку Поделиться, вводим имя клиента (например, iphone-main) — чтобы потом понимать, где чей конфиг. Меняем формат на нативный: он нужен для Shadowrocket, который умеет делать разделение трафика.

Сохраните QR-код или скопируйте текст конфига — он понадобится на следующем шаге.
Настраиваем разделение трафика в Shadowrocket
В App Store есть приложение Shadowrocket . Оно платное, но это разовая покупка — функционала там с запасом на годы вперёд.
Открываем приложение. Если сохранили QR-код — нажимаем на иконку сканера в левом верхнем углу. Если скопировали текст — нажимаем вторую иконку над Local server (импорт из буфера обмена). Конфиг добавится автоматически.

Настраиваем автоподключение
Заходим в Настройки и находим пункт On Demand. Выставляем галочки как на скриншоте — VPN будет включаться автоматически там, где нужно.


Настраиваем правила разделения трафика
Переходим в раздел Config. Там уже есть дефолтный конфиг — нажимаем на иконку i рядом с ним.

Находим раздел с правилами и заменяем всё содержимое на следующее:
[General]
include = None
[Rule]
GEOIP,RU,DIRECT
GEOIP,BY,DIRECT
DOMAIN-SUFFIX,рф,DIRECT
DOMAIN-SUFFIX,ru,DIRECT
FINAL,PROXY
[Host]
localhost = 127.0.0.1
Правила читаются сверху вниз. Трафик на домены .ru и .рф, а также IP-адреса из России и Беларуси пойдут напрямую. Всё остальное — через VPN.
Подключаемся
Возвращаемся на главный экран, нажимаем Подключиться и переходим в выделенный пункт на скриншоте.


Готово. Трафик на .ru и .рф идёт напрямую, всё остальное — через VPN.
Настраиваем GeoIP базу
Правило GEOIP,RU,DIRECT работает по базе IP-адресов. Без актуальной базы оно не будет корректно определять российские IP. Переходим в настройки и находим нужный пункт.


Вставляем ссылку на базу:
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb
После обновления в логах будет видна такая картина — ВКонтакте с доменом .com определяется как российский и идёт напрямую:

Что по итогу
Один раз настроил — и больше не думаешь о переключении VPN. Российские ресурсы грузятся напрямую, зарубежные — через зашифрованный туннель.
Некоторые приложения показывают предупреждение об обнаруженном VPN — это нормально. Они видят активное подключение в системе, но трафик при этом идёт напрямую. Просто игнорируйте такие уведомления.
Исключение: 2ГИС
На момент написания статьи замечено одно приложение, которое обходит разделение трафика — 2ГИС.

Приложение может отправить запрос на заблокированный ресурс или зарубежный сервер, который не числится в российской GeoIP-базе. Тогда трафик пойдёт через VPN и будет обнаружен.
Технически с этим ничего не сделать. Единственное рабочее решение — два устройства: одно для российских сервисов, другое для зарубежных. Утешает то, что подобное поведение нарушает правила App Store и может привести к удалению приложения. Остальные компании на такой шаг пока не решаются.