Доброго времени суток!

На своём ПК я перепробовал несколько разных VPN — как бесплатных, так и платных, — а также разные протоколы, клиенты и в итоге пришёл к одному варианту: локальному прокси‑серверу. Мне он кажется наиболее удобным.

Я не обучался этому специально — я самоучка, поэтому могу путаться в терминах. Прошу отнестись с пониманием: я рассказываю своими словами, как я это понял.

Что такое VPN? Разбираемся в понятиях

Я заметил, что некоторые люди путают связанные, но разные понятия:

  • VPN как протокол;

  • VPN‑клиент;

  • VPN‑сервер;

  • VPN‑сервис.

Попробую объяснить на примере торрентов (думаю, многие с ними сталкивались).

Как работают торренты:

  1. Вы заходите на торрент‑сайт (трекер) и скачиваете .torrent-файл или копируете магнет‑ссылку.

  2. Вставляете эту ссылку или файл в торрент‑клиент (например, μTorrent, qBittorrent, Transmission).

  3. Начинаете скачивать «раздачу» у других пользователей: тех, кто сейчас качает (пиры), или уже скачал (сиды).

Проведём аналогию с VPN:

  • .torrent-файл и магнет‑ссылка — это как VPN‑протоколы. Они содержат данные для подключения к серверу (могут быть в виде файла или ссылки).

  • Сервер, к которому вы подключаетесь, — это аналог пиров/сидов: через него вы выходите во внешний интернет. Если сервер находится в Японии, у вас будет японский IP‑адрес — и вы сможете зайти на сайты, которые не работают в России, но работают в Японии.

  • VPN‑клиент — это аналог торрент‑клиента. Для разных протоколов есть разные клиенты с разным функционалом.

  • VPN‑сервис — это аналог трекера. У него могут быть собственные протоколы, клиенты (работающие только с этим сервисом) и сервера.

Коротко о главном:

  • Сервер — то, куда вы подключаетесь для выхода в интернет.

  • Клиент — приложение, с помощью которого работает VPN.

  • Протокол — «инструкция» для VPN‑клиента: как подключиться к нужному серверу. В нём записан адрес сервера, логин, пароль, способ шифрования и т. д.

  • Сервис — компания, предоставляющая эту услугу.

Протоколы, серверы и клиенты: подробнее

Сервер создаётся с помощью программы — VPN‑сервера. В отличие от торрент‑клиента (который одновременно является и клиентом, и сервером), в VPN это, как правило, отдельные программы — как выделенный сервер в играх.

При создании сервера выбирается VPN‑протокол. В зависимости от протокола нужен конкретный VPN‑клиент, который может с ним работать. Клиенты и протоколы связаны: обычно у простых протоколов и клиенты попроще, с более скудным функционалом.

Три условные группы VPN‑клиентов

  1. Клиенты полного подключения (например, OpenVPN Connect или OpenVPN Client для протокола OpenVPN). При запуске клиента и подключении к серверу VPN включается для всего вашего интернет‑трафика. Все программы будут выходить в интернет через VPN. Это не всегда нужно: некоторые российские сайты могут перестать работать, так же может страдать скорость когда речь заходит о быстром скачивании файлов а не просто в серфинге в интернете.

  2. Клиенты с выборочным подключением (например, TunnlTo для WireGuard). У них есть дополнительные опции: можно настроить, какие приложения направлять через VPN, а какие — нет. Например, сделать так, чтобы VPN работал только в браузере, а Steam скачивал игры напрямую. Но есть минус: пока клиент запущен, трафик идёт через VPN, а стоит его закрыть — приложения подключаются через основную сеть. Иногда это недопустимо.

  3. Клиенты, которые ничего не делают «из коробки» (например, NekoBox (Netch) и Throne, работающие с несколькими протоколами, включая Shadowsocks) Клиенты NekoBox и Throne - монофункциональные, они могут создать как полное подключение, так и выборочное в зависимости от того как вы их настроите. Но все же по умолчанию, без изменения настроек они работают как как локальный прокси сервер. О котором я наконец начинаю говорить.

Как работает локальный прокси‑сервер

Что делают NekoBox или Throne после того, как вы добавили в них VPN‑сервер и подключились к нему?

С настройками по умолчанию клиент поднимает локальный прокси‑сервер. Он называется «локальным», потому что существует только на вашем ПК, и подключиться к нему могут только приложения вашего компьютера.

По умолчанию этот прокси‑сервер имеет адрес 127.0.0.1:2080 (IP‑адрес:порт). Вот, взгляните на скриншот ниже.

Пример интерфейса Throne
Пример интерфейса Throne

При добавления при подключении к VPN серверу клиент Throne создал локальный прокси-сервер по адресу - 127.0.0.1:2081 . Но самое по себе это ничего не дает кроме того что как бы создали черный ход, запасную дверь в которую если постучаться, можно подключиться к VPN. Но как туда постучаться?

Некоторые приложения имеют встроенную функцию подключения к прокси-серверам, для остальных нужно использовать костыли, то есть сторонние утилиты для перенаправления трафика через локальный прокси. Разберу 3 сценария.

Сценарий 1: Telegram

Телеграм имеет встроенную функцию подключения через прокси сервер. Краткая инструкиця:

  1. Откройте «Продвинутые настройки».

  2. Найдите «Тип соединения» → «Использовать собственный прокси».

  3. Укажите:

    • Тип: SOCKS5;

    • Хост: 127.0.0.1;

    • Порт: 2080 или 2081 (смотря какой у вас)

Пример интерфейса Телеграм на ПК
Пример интерфейса Телеграм на ПК

Готово! Теперь Telegram будет выходить в интернет через ваш локальный прокси‑сервер. Если сервер не запущен, Telegram потеряет доступ в интернет.

Сценарий 2: расширение браузера

Если приложение не умеет работать с прокси «из коробки», можно использовать сторонний софт. Например для браузера Chrome (и других браузеров на базе Chromium) расширение "Zero Omega" или его аналоги. Краткая инструкция настройки Zero Omega:

  1. Установите расширение и откройте его настройки.

  2. Измените профиль proxy добавив адрес и порт своего прокси сервера (можете изменить название профиля на свое):

    • Protocol: SOCKS5;

    • Server: 127.0.0.1;

    • Port: 2080.

    Пример интерфейса
    Пример интерфейса
  3. Перейдите в профиль «Auto Switch» и впишите, какие сайты или домены должны направляться через локальный прокси (если нужно).

    Пример интерфейса
    Пример интерфейса
  4. Сохраните настройки, кликните на иконку расширения и выберете нужный профиль

    Пример
    Пример

    При выборе профиля "auto switch", через VPN будут открываться только те сайты, которые вы добавили в данный профиль на прошлом шаге.

    При выборе "своего профиля" через VPN будет направлен ВЕСЬ трафик браузера.

    При выборе профиля "[Direct]", весь трафик будет направлен в обход (без) VPN.

Сценарий 3: приложение ProxiFyre

Как я ранее уже писал, если приложение не работает с прокси сервером «из коробки», можно использовать сторонний софт. ProxiFyre (не путать с ProxiFier) относится именно к такому софту. Эта программа умеет принудительно направлять софт конкретного приложения, или всех приложений в указанной папке, через указанный прокси-сервер. Минус в том, что у приложения нет интерфейса. Краткая инструкция для ProxiFyre:

  1. Скачайте с github архив с последней версией приложения и распакуйте в удобную для вас папку.

  2. Скачайте и установите Windows Packet Filter и Visual Studio Runtime Libraries 2022 , без них программа работать не будет!

  3. В папке с программой ProxiFyre.exe создайте файл app-config.json. Это конфиг (настройки) нашей программы. Пример настроек:

    {
     "logLevel": "Error",
     "proxies": [
       {
         "appNames": [
    		"Telegram.exe",
    		"C:\\Games\\SteamApps\\steamapps\\common\\"
    	],
         "socks5ProxyEndpoint": "127.0.0.1:2080",
         "supportedProtocols": ["TCP", "UDP"]
       },   
       {
         "appNames": [
    		"testapp.exe"
    	],
         "socks5ProxyEndpoint": "127.0.0.1:2081",
         "supportedProtocols": ["TCP", "UDP"]
       }
     ],
     "excludes": [
       "C:\\Program Files (x86)\\Steam\\steamapps\\common"
     ]
    }

    Краткая расшифровка этого конфига. Все приложения с именем Telegram.exe а так же все приложения находящиеся в папке C:\\Games\SteamApps\steamapps\common\ будут направлены через локальный прокси сервер с адресом 127.0.0.1:2080. Так же все приложения с именем testapp.exe будут направлены через другой прокси сервер, с адресом 127.0.0.1:2081. Дополнительно, все приложения которые находятся по адресу C:\\Program Files (x86)\Steam\steamapps\common НЕ будут направляться через прокси сервер ни при каких условиях.

  4. Так как у приложения нет интерфейса, запустить его можно через консоль, командой ProxiFyre.exe config.json , или создать и открыть *.bat файл с таким содержанием:

    @echo off
    cd /d %~dp0
    ProxiFyre.exe config.json
    pause

    Но лучше превратить это приложение в службу что бы оно запускалось самостоятельно вместе с Windows.

  5. Итак, запустите командную консоль (cmd) от имени администратора. Введите первую команду cd папка_с_программой. Где "папка_с_программой" это путь куда вы распаковали ProxiFyre. Следом вторая команда ProxiFyre.exe install, служба установлена. Последняя команда ProxiFyre.exe start, что б запустить службу.

    Теперь если вы откроете Службы Windows, то среди всех служб сможете найти ProxiFyre Service. Тут же вы можете остановить или перезапустить службу (это нужно на тот случай если вы изменили конфиг).

Дополнительный сценарий: локальный прокси без VPN

Я не знал, куда добавить эту информацию, но, возможно, она тоже будет кому‑то полезна.

Представим ситуацию: у вас нет прокси‑сервера (забудем пока о нём). Допустим, в вашем ПК или ноутбуке есть две сетевые карты (во всех ноутбуках их две):

  • Ethernet (кабель);

  • Wi‑Fi.

Вы можете подключиться к интернету и по кабелю, и по Wi‑Fi одновременно. Но по умолчанию кабель будет в приоритете, и интернет переключится на Wi‑Fi только если интернет по кабелю пропадёт.

А что, если вам нужно принудительно направить часть трафика через Wi‑Fi?

Зачем это может понадобиться?

Вот несколько примеров:

  • У вас есть проводной интернет, но какой‑то сайт с него не открывается. При этом у вас есть телефон с мобильным интернетом, который можно раздавать через Wi‑Fi, и там нужный сайт работает.

  • За стеной живёт сосед с Wi‑Fi‑роутером от другого провайдера — и нужный сайт работает через его сеть.

  • У вас дома два роутера от разных провайдеров, и на втором провайдере нужный сайт, опять же, работает.

Может возникнуть необходимость, чтобы весь интернет шёл как и раньше через кабель, а один конкретный сайт открывался через Wi‑Fi. Можно ли так сделать?

Да, можно.

Для этого нужно создать локальный прокси‑сервер, который не подключается к VPN‑серверу, а направляет трафик через сетевой адаптер Wi‑Fi. И для этого, опять же, нужен сторонний софт. Например - 3proxy или его аналоги. К сожалению, у него тоже нет графического интерфейса.

Краткая инструкция по настройке 3proxy

  1. Скачайте и распакуйте архив с 3proxy.

    Найдите официальный репозиторий 3proxy на GitHub и скачайте архив.

    Распакуйте его в удобную для вас папку.

  2. Обход блокировки Защитника Windows.

    ВАЖНО! Защитник Windows может ругаться на архив с программой, считая его вредоносным. Это не совсем так.

    Причина в том, что злоумышленники часто используют этот софт для воровства личных данных: они устанавливают его на ПК жертвы (через вирус или взлом) и настраивают перенаправление трафика через свой сервер. Защитник не понимает, сами вы скачали программу или она попала на ПК случайно.

    Чтобы продолжить, вам нужно временно отключить Защитник или добавить 3proxy в исключения. Перед этим убедитесь, что скачиваете программу с официального источника.

  3. Создайте конфигурационный файл.

    После распаковки архива в той же папке, где лежит 3proxy.exe, создайте файл 3proxy.cfg. Это настройки (конфиг) программы.

  4. Настройте 3proxy.cfg.

    Пример настроек:

    # Настройки для 3proxy
    
    # Указываем DNS-серверы для резолва доменов (рекомендуется)
    nserver 8.8.8.8
    nserver 1.1.1.1
    nscache 65536
    
    # Внутренний интерфейс — слушаем только на 127.0.0.1 (локальный хост)
    internal 127.0.0.1
    
    # Внешний интерфейс — выход в интернет ТОЛЬКО через Wi‑Fi
    external <ваш_Wi-Fi_IP>
    
    # Запускаем SOCKS-прокси на порту 2080
    socks -p2080
    
    # Отключаем аутентификацию (можно позже включить для безопасности)
    auth none
    
    # Логирование (опционально)
    log "<ваш_адрес>\3proxy\bin64\logfile.log"
    logformat "- +%t+%D+%H+%P+%E"
    
    # Режим работы — демон (фоновый процесс)
    daemon

    Замените <ваш_Wi-Fi_IP> на реальный IP‑адрес вашего Wi‑Fi‑адаптера. Чтобы его узнать: Нажмите Win + R, введите cmd и нажмите Enter. В командной строке введите ipconfig и найдите строку «IPv4‑адрес» для вашего Wi‑Fi‑подключения. Если возможно, в настройках роутера привяжите MAC-адрес вашего Wi-Fi в фиксированному IP, что б он не менялся со временем.

  5. Запуск 3proxy.

    Аналогичная ситуация. У приложения нет интерфейса, запуск через консоль. Или превращаем приложение в службу. Так же запускаем командную строку (cmd) от имени администратора. Так же вводим первую команду cd папка_с_программой. Где "папка_с_программой" это путь куда вы распаковали 3proxy. Следом вторая команда 3proxy.exe --install, служба установлена. Последняя команда net start 3proxy, что б запустить службу.

    Теперь если вы откроете Службы Windows, то среди всех служб сможете найти 3proxy tiny proxy server. Тут же вы можете остановить или перезапустить службу (это нужно на тот случай если вы изменили конфиг)

Вот такой «гайд» у меня получился. Нужен он кому сильно? Вряд ли. Но может хоть паре человек моя писанина пригодится...