← На главную

Как завернуть трафик в socks-прокси на iPhone

Смартфоны производства Apple «из коробки» умеют ходить в интернет через VPN, а также HTTP-прокси. Однако очевидного способа завернуть весь трафик в socks-прокси не предусмотрено. Тем не менее, есть неочевидный способ.

Если у вас имеется iPhone, то с большой вероятностью найдется и MacBook. Без потери общности, рассмотрим решение с использованием последнего.

Открываем терминал и определяем IP-адрес устройства в локальной сети:

$ ipconfig getifaddr en0 192.168.0.12

Нам понадобится файл proxy.pac:

$ mkdir -p /tmp/web $ cd /tmp/web $ nano proxy.pac

Содержимое указываем такое:

function FindProxyForURL(url, host) { return "SOCKS 192.168.0.34:3111"; }

Адрес и порт socks-сервера, естественно, заменяем на свои.

Далее запускаем веб-сервер, который будет отдавать proxy.pac:

$ cd /tmp $ python -m http.server --directory web

Берем iPhone. Открываем Settings → Wi-Fi → (ваш SSID) → Configure Proxy. Выбираем вариант Automatic, а в поле URL указываем:

http://192.168.0.12:8000/proxy.pac

То есть, iPhone сходит за настройками сети на MacBook, и узнает от него, что нужно использовать socks-прокси. Само собой разумеется, вместо MacBook можно воспользоваться одноплатником, роутером под управлением OpenWrt, и так далее.