Как использовать прокси SOCKS5 в Windows 10 и 11: настройка системы, браузера и отдельных приложений
В настройках Windows есть поле для прокси, но это не настоящий переключатель SOCKS5. Вот что на самом деле направляет трафик Windows через SOCKS5 — настройки для отдельных приложений, динамическое перенаправление SSH, WSL и обёртки — а также как проверить DNS и утечки.
Пользователи Windows, ищущие, как использовать прокси SOCKS5, часто начинают с настроек и застревают. Поле для ручной настройки прокси выглядит так, будто оно должно принимать любой прокси, но в нём нет переключателя протокола SOCKS5. Это руководство рассказывает, что действительно работает в Windows 10 и 11, — от настроек для отдельных приложений до SSH-туннелей и обёрток для приложений, — а также как проверить, что DNS и WebRTC не утекают.
Краткий ответ: в Windows нет встроенного общесистемного переключателя SOCKS5
- В настройках Windows есть ручная настройка прокси, но она рассчитана на проксирование HTTP/HTTPS.
netsh winhttp set proxyнастраивает WinHTTP для некоторых системных компонентов; это не общий переключатель SOCKS5.- Многие приложения Windows полностью игнорируют системный прокси, если только они явно его не поддерживают.
- Для надёжной работы SOCKS5 настройте каждое приложение, используйте отдельный проксификатор для приложений или создайте локальный прокси SOCKS5 через SSH и направьте приложения на него.
Что на самом деле делают настройки прокси в Windows 10 и 11
В настройках перейдите в «Сеть и Интернет» > «Прокси» > «Настройка прокси вручную». Вы увидите поля «Адрес» и «Порт», а также список исключений. Выпадающего списка SOCKS4 или SOCKS5 нет. Эта настройка обычно используется для HTTP-прокси, и её поведение зависит от приложения. Chrome и Edge могут следовать системным настройкам прокси, тогда как Firefox имеет собственную конфигурацию прокси. Нативные приложения Windows и инструменты командной строки часто требуют отдельной настройки.
Вариант 1: настройка SOCKS5 для каждого приложения
Для браузеров используйте Firefox, если хотите напрямую управлять SOCKS5. В Firefox откройте настройки, найдите «прокси», выберите «Ручная настройка прокси», укажите хост и порт SOCKS, выберите SOCKS v5 и включите «Проксировать DNS при использовании SOCKS v5», если хотите удалённое разрешение DNS.
Для инструментов командной строки используйте флаги или переменные среды, которые поддерживает инструмент.
curl
# Resolve DNS at the proxy (recommended for geo checks)
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
# Resolve DNS locally
curl --socks5 127.0.0.1:1080 https://api.ipify.org
--socks5-hostname эквивалентен использованию URL прокси socks5h:// во многих инструментах. Буква h означает, что разрешение имени хоста происходит на стороне прокси, что важно для геотаргетинга и проверок утечек DNS.
git
git config --global http.proxy socks5h://127.0.0.1:1080
git config --global https.proxy socks5h://127.0.0.1:1080
# Remove later
git config --global --unset http.proxy
git config --global --unset https.proxy
Python с requests
python -m pip install 'requests[socks]'
import requests
proxies = {
'http': 'socks5h://127.0.0.1:1080',
'https': 'socks5h://127.0.0.1:1080',
}
response = requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=10)
print(response.json())
Вариант 2: создание локального прокси SOCKS5 через SSH
Если у вас есть SSH-сервер, которому вы доверяете, динамическое перенаправление превращает его в локальный прокси SOCKS5.
ssh -D 1080 -N -C [email protected]
Держите этот терминал открытым во время работы. Затем направьте приложения на 127.0.0.1:1080. Это полезно, когда прокси нужен только для браузера, скрипта или конкретного инструмента. Он не перенаправляет автоматически все приложения Windows.
Вариант 3: маршрутизация отдельных приложений с помощью инструментов в стиле Proxifier
Некоторые приложения вообще не имеют настроек прокси. Инструменты в стиле Proxifier могут перехватывать подключения выбранных программ Windows и отправлять их через прокси SOCKS5. При оценке такого инструмента проверьте:
- Поддерживает ли он SOCKS5 с удалённым DNS.
- Как он обрабатывает DNS для приложений, использующих прокси, и не использующих его.
- Основаны ли правила на имени приложения, целевом хосте, порте или их сочетании.
- Как он ведёт себя при сбое прокси.
- Логирует ли он конфиденциальные данные о подключениях.
Вариант 4: WSL, Windows Terminal и инструменты Linux
WSL2 работает в отдельной виртуальной сети. Если прокси SOCKS5 запущен в Windows, 127.0.0.1 внутри WSL может до него не достучаться. В этом случае используйте IP-адрес хоста Windows или адрес, который WSL использует для доступа к хосту, затем задайте переменные среды:
export ALL_PROXY=socks5h://WINDOWS_HOST_IP:1080
export all_proxy=socks5h://WINDOWS_HOST_IP:1080
Не каждый инструмент Linux учитывает ALL_PROXY. Для инструментов, поддерживающих флаг SOCKS5, используйте флаг напрямую.
Как проверить прокси и обнаружить утечки DNS
- Проверьте свой публичный IP с включённым и отключённым прокси.
- Убедитесь, что страна и ASN соответствуют вашим ожиданиям.
- Запустите тест на утечку DNS. Если DNS разрешается локально, хотя вы ожидали удалённое разрешение, используйте
socks5hили включите удалённый DNS в приложении. - Проверяйте в том браузере или приложении, которое вам важно, а не только с помощью
curl. - Проверьте поведение WebRTC в браузерах, если вам нужно скрыть публичные IP-адреса от скриптов на страницах.
Распространённые ошибки при использовании SOCKS5 в Windows
- Ожидание, что поле прокси в настройках Windows обеспечит общесистемный SOCKS5.
- Смешивание
socks5://иsocks5h://и получение разного поведения DNS. - Забывание о том, что каждое приложение имеет собственную поддержку прокси.
- Использование бесплатных прокси SOCKS5 для входов, платежей или конфиденциальных данных.
- Оставление прокси включённым после тестирования и нарушение работы локальных служб.
Вывод
Windows не предоставляет единого переключателя SOCKS5. Практический путь — выбрать, где должен применяться прокси: одно приложение, браузер, сеанс командной строки или набор приложений через обёртку. Настройте этот уровень напрямую, используйте socks5h, когда важен удалённый DNS, и проверяйте результат, а не предполагайте, что всё работает.