- Что меняется в реестре и где это лежит
- Быстрый способ: включить прокси через реестр (вручную)
- Исключения: когда прокси не должен использоваться
- Тонкость: WinHTTP и почему иногда "не работает"
- Проверка: применилось ли
- Скрипты: включить/выключить прокси без ручной правки
- Что обычно нужно учитывать (чтобы проксить без сюрпризов)
- Итоговый чек-лист
- Источники
Если нужно быстро включить/выключить прокси или централизованно проксить трафик на уровне системы, Windows 10 позволяет сделать это напрямую через реестр. Ниже - рабочий путь и параметры, которые реально используются приложениями (и теми, кто читает системные настройки).
Что меняется в реестре и где это лежит
Системные настройки прокси для текущего пользователя хранятся в ветке:
| Параметр | Тип | Что делает |
|---|---|---|
ProxyEnable |
REG_DWORD |
Включает (1) или выключает (0) использование прокси |
ProxyServer |
REG_SZ |
Адрес и порт прокси в формате адрес:порт |
ProxyOverride |
REG_SZ |
Исключения (для каких адресов прокси не нужен) |
| Путь | Значение |
|---|---|
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings |
Значения ProxyEnable, ProxyServer, ProxyOverride |
Быстрый способ: включить прокси через реестр (вручную)
Включить прокси
- Откройте
regedit. - Перейдите в ветку:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings - Убедитесь, что есть параметр:
ProxyEnable=1(типREG_DWORD)- Задайте:
ProxyServer=IP_или_имя:порт(типREG_SZ), например192.168.0.50:3128
После этого системные настройки прокси должны начать применяться для приложений, которые используют параметры WinINET (обычно браузеры и часть программ).
Выключить прокси
- Поставьте
ProxyEnable=0. ProxyServerможно не трогать, но обычно его оставляют как есть.
Исключения: когда прокси не должен использоваться
В ProxyOverride можно перечислить адреса/шаблоны, для которых соединения идут напрямую.
Пример формата (строкой):
| Что указать | Пример |
|---|---|
| Локальные подсети | 10.*;192.168.* |
| Доменные зоны/шаблоны | *.loc;*.contoso.com |
Упоминание <local> |
часто используют вместе с исключениями для внутренних имен |
Пример строки:
10.*;192.168.*;*.loc;*.contoso.com;<local>
Важно: правила исключений зависят от того, как именно приложение трактует WinINET-настройки.
Тонкость: WinHTTP и почему иногда "не работает"
Некоторые системные сервисы и приложения не берут настройки прокси из Internet Settings для текущего пользователя. Обычно это касается WinHTTP, например обновлений и некоторых утилит.
Проверить WinHTTP прокси можно командой:
| Команда | Что смотрим |
|---|---|
netsh winhttp show proxy |
есть прокси или Direct access (no proxy server) |
Если WinHTTP не настроен, то часть задач может ходить в сеть напрямую, даже если вы уже проксите WinINET через реестр.
Проверка: применилось ли
Пошагово, чтобы не гадать:
| Шаг | Как сделать |
|---|---|
| Проверить, что включено | убедиться, что ProxyEnable=1 |
| Убедиться, что адрес записан | ProxyServer=адрес:порт |
| Перезапустить приложение | чаще всего достаточно перезапуска браузера/программы |
| Проверить WinHTTP отдельно | netsh winhttp show proxy |
Если браузер меняет поведение, но системные компоненты нет - значит, проблема именно в WinHTTP-настройке, а не в вашем реестре.
Скрипты: включить/выключить прокси без ручной правки
Ниже - идея скриптового подхода: меняете ProxyEnable и делаете обновление параметров.
BAT-скрипт (включение/выключение по доступности прокси)
Замените 1.2.3.4 на ваш адрес прокси.
@echo off
set REGDIR="HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
ping 1.2.3.4 -n 1 if "%errorlevel%"=="0" (
REG ADD %REGDIR% /v ProxyEnable /t REG_DWORD /d 1 /f
echo proxy available
) else (
REG ADD %REGDIR% /v ProxyEnable /t REG_DWORD /d 0 /f
echo proxy not found
)
rundll32 user32.dll,UpdatePerUserSystemParameters gpupdate /force
Что обычно нужно учитывать (чтобы проксить без сюрпризов)
| Ситуация | Что сделать |
|---|---|
| Один пользователь - разные настройки | вы настраиваете HKCU, значит это per-user |
| Нужна настройка для всех пользователей компьютера | тогда обычно делают настройки на уровне HKLM / через политики, а не только HKCU |
| Прокси для HTTPS не сработал | убедитесь, что приложение реально использует системные настройки и поддерживает их |
| Часть сервисов всё равно "мимо" | проверьте WinHTTP (netsh winhttp show proxy) |
Итоговый чек-лист
| Действие | Результат |
|---|---|
Открыли HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings |
добрались до нужной ветки |
Поставили ProxyEnable=1 |
прокси включён |
Записали ProxyServer=адрес:порт |
указан прокси |
При необходимости задали ProxyOverride |
добавили исключения |
| Проверили отдельно WinHTTP | исключили ситуацию “реестр есть, а системные сервисы идут напрямую” |
Источники
- Microsoft Docs (про
netsh winhttpи WinHTTP proxy): https://learn.microsoft.com/windows-server/networking/technologies/netsh/netsh-winsock/netsh-winhttp - Практика централизованной настройки WinINET-прокси через GPO/GPP (Internet Settings): https://winitpro.ru/index.php/2015/02/25/nastrojka-internet-explorer-s-pomoshhyu-gruppovyx-politik-v-windows-2012/
- Прокси-параметры и работа WinHTTP отдельно от пользовательских настроек (обзор подхода): https://app.cyberyozh.com/ru/guides/proxy-setup/operating-system/setting-up-a-proxy-on-windows/
- Реестр-прокси для Windows (пример параметров): https://bozza.ru/art-371.html
- Пример применения настроек прокси приложения через “параметры интернета” Windows: https://docs.trendmicro.com/all/ent/officescan/vXGSP1/ru-ru/osce_xg_sp1_agent_olh/OSCE-Configuring-Pro.html