01 Описание проблемы
Большинство людей пользуются VPN в режиме когда весь трафик со всех приложений на компьютере уходит через VPN. Однако можно настроить работу VPN гораздо гибче: проксировать только нужные приложения или даже сайты.
Представьте, насколько удобнее было бы сказать системе: "Проксируй через VPN только приложения Telegram, Discord, в браузере только YouTube, а всё остальное отправляй напрямую без VPN".
Это даёт не только удобство, но и ускоряет работу интернета в целом.
Разберёмся, как это сделать на Windows и VPN с протоколом VLESS.
02 Маршрутизация приложений
Многие VPN клиенты уже из коробки
поддерживают маршрутизацию приложений.
Вам достаточно выбрать в настройках нужные .exe файлы либо
запущенные процессы из списка, и указать: проксировать их через VPN или наоборот исключать.
Так, например можно пускать через VPN только браузеры или только какой-то
определённый браузер - тут всё зависит от ваших потребностей. Единственный
нюанс, который стоит держать в голове: некоторые приложения могут запускать
несколько процессов.
Где находятся эти настройки:
Для Happ: Меню - Настройки - Настройки прокси для приложений - Добавить
Для xbit: Настройки - Маршрутизация по приложениям - Выбрать приложения
Нужно заметить, что работает это только на Windows и Android в режиме TUN.
03 Маршрутизация сайтов
На Windows можно маршрутизировать каждую вкладку браузера отдельно.
Общий принцип такой: на VPN клиенте (Happ, xbit, и прочих) нужно создать правило по инструкции выше, чтобы у вас на компьютере ходили через VPN только определённые приложения. Chrome (или другой браузер) НЕ должен быть в этом списке, поскольку его мы будем проксировать отдельно.
Далее, нужно установить в Chrome надстройку. Именно она и будет отвечать за проксирование нужных сайтов.
Устанавливаем надстройку для браузера Zero Omega .
После установки нажимаем на неё в верхнем правом углу браузера.
Выбираем Options, переходим в Proxy и в
разделе Proxy Servers указываем:
Protocol - SOCKS5
Server - 127.0.0.1
Port - 10808.
Готово, закрываем.
Проверяем. Включаем VPN. Открываем YouTube - видим, что он не работает (т.к. мы исключили его
из приложений которые ходят в интернет через VPN). Справа нажимаем на
надстройку. В открывшимся окне:
Failed Resources, в самом низу
выбираем proxy и нажимаем Add condition.
После этого страница перезагрузится и YouTube откроется. Так можно добавить сколько угодно
сайтов в список проксируемых. При этом всё остальное в браузере будет
открываться через обычный интернет.
04 Маршрутизация на iPhone/Mac
К сожалению, способами описанными выше на устройствах Apple так сделать не получится из-за закрытости системы. Тут весь трафик в любом случае будет идти через туннель (через VPN).
Однако способ всё же есть. Можно воспользоваться встроенными правилами маршрутизации движка, о чём пойдёт речь дальше.
05 Маршрутизация по правилам
Для всех операционных систем в VPN приложениях есть встроенные правила маршрутизации, их можно найти:
Для Happ: Меню - Настройки - Маршрутизации - Добавить далее перейти в
добавленный профиль. Здесь важно убедиться, что у вас скачены geosite/geoip-файлы.
Если они не скачены, то нажать Обновить.
После этого нажать Редактировать правила и выбрать
режим:
Proxy - это то, что будет идти через VPN,
Direct - это то, что будет ходить на прямую,
Block - это то, что будет вообще заблокировано.
Для xbit: Настройки - Маршрутизация по правилам - Указать правила
Часто провайдеры отправляют вам на устройство вместе с подпиской
заранее прописанные правила (например, чтобы .ru сайты открывались напрямую, т.к. это
просто удобно для клиентов). И тут есть небольшая проблема для Happ:
правила которые вы пропишите просто не будут работать, т.к.
правила провайдера уже вшиты в вашу подписку. Для xbit этой проблемы нет.
BitBandits VPN тоже отправляет заранее прописанные правила маршрутизации, однако для
пользователей которые используют Happ мы это предусмотрели: вы можете просто добавить в
конец вашего ключа ?routing=0 и конфигурация вашей подписки придёт без
правил маршрутизации. Например, в случае нашего сервиса ваш ключ с маршрутизацией будет
выглядеть так:
https://bitbanditsvpn.ru/s/xxxxxxxxx,
а без неё так:
https://bitbanditsvpn.ru/s/xxxxxxxxx?routing=0.
Синтаксис правил
Правила работают сверху вниз. Сработает первое найденное правило. Правила делятся на
несколько категорий: правила GeoData, доменные правила и IP-правила. Правила GeoData берутся
из специальных GeoData-файлов.
Чаще всего это открытый репозиторий на GitHub, например
Loyalsoldier/v2ray-rules-dat
.
В таких репозиториях уже составлены определённые списки по доменам и IP-адресам. Названия списков
зависят от конкретного репозитория. Списки скачиваются на ваше устройство и вам остаётся прописать
правила. Далее пойдут примеры.
Доменные правила
example.com - совпадение по подстроке
domain:example.com - домен и все его поддомены
full:example.com - только точное совпадение
regexp:^(.+\.)?example\.com$ - домен и поддомены через регулярное выражение
IP-правила
1.2.3.4 - конкретный IPv4-адрес
1.2.3.0/24 - диапазон IPv4-адресов
2001:db8::/32 - диапазон IPv6-адресов
Списки GeoData
geosite:ИМЯ_СПИСКА - доменный список из geosite.dat
geoip:ИМЯ_СПИСКА - список IP-адресов из geoip.dat
geosite:youtube - домены YouTube
geosite:category-ads-all - домены рекламных сервисов
geoip:ru - российские IP-адреса
geoip:private - локальные и частные IP-адреса
!geoip:ru - все IP-адреса, кроме российских
ext:custom-geosite.dat:my-list - доменный список из отдельного файла
ext:custom-geoip.dat:my-list - IP-список из отдельного файла
Итого
Пописав Direct правило domain:ozon.ru вы скажете
движку "Открывай домен ozon.ru и все его поддомены напрямую, без VPN". Думаю понятно, что
приложение Ozon использует собственные домены, поэтому эти правила подходят
для избавления от назойливых просьб подобных приложений выключить VPN.