Выборочный обход блокировок на iOS

Давно пытался найти какое-то решение, чтобы трафик на айфоне для запрещенных ресурсов шел через VPN, а остальные приложения открывались как обычно. Но таких решений в iOS не предусмотрено в отличии от Андроида. В чате Tools & Productivity случайно наткнулся на статью о программе Shadowrocket.

Обновлено 26 июня 2023. Есть рабочий вариант с выборочным обходом через Shadowrocket. Если вам он не нужен, то можете пропустить это. Приятного чтения 😉

При детальном изучении оказалось, что она не поддерживается протокол Wireguard, где у меня поднят свой сервер. После часа поисков в Гугле с помощью операторов URL rewrite wireguard site:apps.apple.com оказалось, что почти все программы в похожей тематике принадлежат разработчику Shadow Launch Technology Limited, который выпускает Shadowrocket и прогу Blatu с похожим функционалом, но только под WireGuard. Об установке рассказал в посте Wireguard с интерфейсом.

Программа Blatu в Апстор для iOS
Программа платная и стоит 179₽. Все еще можно оплатить с мобильного телефона МТС

Настройка

Качаем приложение, заходим в Configuration и находим строку Rule File. Далее выбираем Export и сохраняем себе куда-нибудь файлик с настройками по-умолчанию. Теперь настроим подключение таким образом, где мы будем ходить на роскомнадзор сайты только под vpn, а остальной трафик будет идти напрямую.

Конфигурация

В файле по-умолчанию все настройки сделаны под Китай. Поэтому важно отредачить конфигурация под российскую действительность:

Пример настроек автора CONF, 1КБ

# 2022-12-01 00:00:00 +0000
[GENERAL]
skip-proxy=192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local, e.crashlytics.com, captive.apple.com
bypass-tun=10.0.0.0/8,100.64.0.0/10,127.0.0.0/8,169.254.0.0/16,172.16.0.0/12,192.0.0.0/24,192.0.2.0/24,192.88.99.0/24,192.168.0.0/16,198.18.0.0/15,198.51.100.0/24,203.0.113.0/24,224.0.0.0/4,255.255.255.255/32
dns-server=
bypass-system=false

[RULE]
DOMAIN-KEYWORD,1password,PROXY,force-remote-dns
DOMAIN-KEYWORD,canva,PROXY,force-remote-dns
DOMAIN-KEYWORD,facebook,PROXY,force-remote-dns
DOMAIN-KEYWORD,ifconfig,PROXY,force-remote-dns
DOMAIN-KEYWORD,instagram,PROXY,force-remote-dns
DOMAIN-KEYWORD,kahoot,PROXY,force-remote-dns
DOMAIN-KEYWORD,linkedin,PROXY,force-remote-dns
DOMAIN-KEYWORD,nnm-club,PROXY,force-remote-dns
DOMAIN-KEYWORD,proton,PROXY,force-remote-dns
DOMAIN-KEYWORD,serpstat,PROXY,force-remote-dns
DOMAIN-KEYWORD,setapp,PROXY,force-remote-dns
DOMAIN-KEYWORD,soundcloud,PROXY,force-remote-dns
DOMAIN-KEYWORD,twitter,PROXY,force-remote-dns
DOMAIN-KEYWORD,whatsapp,PROXY,force-remote-dns
DOMAIN-SUFFIX,2ip.ru,DIRECT,force-remote-dns
DOMAIN-SUFFIX,alfabank.ru,DIRECT
DOMAIN-SUFFIX,apple.com,DIRECT
DOMAIN-SUFFIX,avito.ru,DIRECT
DOMAIN-SUFFIX,delivery-club.ru,DIRECT
DOMAIN-SUFFIX,eda.yandex.ru,DIRECT
DOMAIN-SUFFIX,go.yandex.ru,DIRECT
DOMAIN-SUFFIX,google.cn,DIRECT
DOMAIN-SUFFIX,icloud.com,DIRECT
DOMAIN-SUFFIX,itunes.com,DIRECT
DOMAIN-SUFFIX,kinopoisk.ru,DIRECT
DOMAIN-SUFFIX,lenta.com,DIRECT
DOMAIN-SUFFIX,market.yandex.ru,DIRECT
DOMAIN-SUFFIX,medium.com,DIRECT
DOMAIN-SUFFIX,microless.com,DIRECT
DOMAIN-SUFFIX,mkb.ru,DIRECT
DOMAIN-SUFFIX,ozon.ru,DIRECT
DOMAIN-SUFFIX,pepper.ru,DIRECT
DOMAIN-SUFFIX,pochtabank.ru,DIRECT
DOMAIN-SUFFIX,qiwi.com,DIRECT
DOMAIN-SUFFIX,raiffeisen.ru,DIRECT
DOMAIN-SUFFIX,rencredit.ru,DIRECT
DOMAIN-SUFFIX,rosbank.ru,DIRECT
DOMAIN-SUFFIX,ru.wikipedia.org,DIRECT
DOMAIN-SUFFIX,vk.ru,DIRECT
DOMAIN-SUFFIX,wilddberries.ru,DIRECT
DOMAIN-SUFFIX,youtu.be,DIRECT
DOMAIN-KEYWORD,2gis,DIRECT,force-remote-dns
DOMAIN-KEYWORD,gmail,DIRECT,force-remote-dns
DOMAIN-KEYWORD,kion,DIRECT,force-remote-dns
DOMAIN-KEYWORD,modulbank,DIRECT,force-remote-dns
DOMAIN-KEYWORD,mts,DIRECT,force-remote-dns
DOMAIN-KEYWORD,notion,DIRECT,force-remote-dns
DOMAIN-KEYWORD,reddit,DIRECT,force-remote-dns
DOMAIN-KEYWORD,sber,DIRECT,force-remote-dns
DOMAIN-KEYWORD,spotify,DIRECT,force-remote-dns
DOMAIN-KEYWORD,telegram,DIRECT,force-remote-dns
DOMAIN-KEYWORD,uber,DIRECT,force-remote-dns
DOMAIN-KEYWORD,youtube,DIRECT,force-remote-dns
DOMAIN-SUFFIX,1.adfox.ru,REJECT
DOMAIN-SUFFIX,4smi.ru,REJECT
DOMAIN-SUFFIX,adfox.me,REJECT
DOMAIN-SUFFIX,adfox.yandex.ru,REJECT
DOMAIN-SUFFIX,ads.adfox.ru,REJECT
DOMAIN-SUFFIX,an.yandex.ru,REJECT
DOMAIN-SUFFIX,banners.adfox.net,REJECT
DOMAIN-SUFFIX,help.adfox.ru,REJECT
DOMAIN-SUFFIX,iva.adfox.ru,REJECT
DOMAIN-SUFFIX,mc.yandex.ru,REJECT
DOMAIN-SUFFIX,myt.adfox.ru,REJECT
DOMAIN-SUFFIX,smi2.ru,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,172.16.0.0/12,DIRECT
IP-CIDR,127.0.0.0/8,DIRECT
GEOIP,RU,DIRECT
FINAL,PROXY

[HOST]
localhost=127.0.0.1

[URL REWRITE]
^http://(www.)?g.ru https://www.google.com HEADER
^http://(www.)?google.ru https://www.google.com HEADER

[MITM]

Правила

Файл состоит из основных настроек (глобальные), отдельные правила для доменов или подсетей и даже в рамках целой страны. Хост, а также правила для переопределения адресов. Рассмотрим ключевые правила:

DOMAIN-KEYWORD указываем название домена и будет работать с любыми поддоменами;
DIRECT трафик без VPN
PROXY трафик через VPN
REJECT трафик блокируется

Обратите внимание, что раздел Rule заканчивается FINAL,PROXY — это значит, что если сайта нет в списке или айпи адрес определился, как не российский (даже если домен ru), то трафик пойдет через VPN.

Подключение Wireguard

Теперь новый файл с настройками импортируем в приложение, добавляем наше подключение WireGuard на главной странице через Scan QR Code. Готово, можно проверить работу приложения на домене ifconfig.me. Если выдается ip адрес вашего WG-сервера, то вы все настроили верно. Если нет, то проверьте еще раз настройки.

На первом слайде добавление файла конфигурации, а во втором добавление конфига Wireguard.

Демо

При переходе на страницу ya.ru/internet показывается ip адрес мобильного оператора, а потом проверяю доступ к известному сайту с картинками.

Что по итогу

Плюсы

  1. Работает в закрытом виде;
  2. Понятное и удобное добавление серверов WireGuard;
  3. Быстрая работа приложения;
  4. Гибкие настройки;
  5. Все правила для доменов действуют и в приложениях.

Минусы

  1. Платное, хотя стоит относительно дешево;
  2. Сложные правила работы, за 5 минут не разберешься;
  3. Для отдельных сервисов, как Spotify, Gmail, YouTube нужно делать исключения, чтобы трафик шел напрямую.
Send
Share
Pin
2 comments
NF 2023

в shadowrocket есть поддержка wireguard

Блог Миши Тугушева 2023

Спасибо, что подметили. Можно добавить свой сервер?

NF 2023

Да. Только в браузере все норм работает, а в приложениях не хочет, даже если весь трафик завернуть в wg. Пока не копал почему так.