В последние месяцы я всё чаще сталкиваюсь с ситуациями, когда привычные VPN-соединения становятся всё менее надёжными или вовсе блокируются. Для тех, кто, как и я, продолжает получать доступ к домашней инфраструктуре из-за границы, особенно из стран с усиливающимся контролем за трафиком, это уже не просто неудобство, а реальный риск потери стабильной связи.

Моя собственная схема — домашний сервер за WireGuard-эндпоинтом — уже не раз демонстрировала странности: внезапные падения скорости, потеря UDP-пакетов (особенно в мобильных сетях). Всё вроде работает, но как-то не так: туннель подключается, но затем «виснет» или показывает подозрительно низкую пропускную способность. В таких случаях надёжным обходным путём становится туннелирование TCP-трафика через SOCKS5-прокси, например, поверх SSH.

Но и у SOCKS5 есть ограничение — сам по себе он ничего не даст, если не существует механизма для перенаправления трафика от нужных приложений. Многие программы не поддерживают прокси напрямую.

Здесь на помощь приходит ProxiFyre — инструмент для перенаправления трафика от выбранных приложений через SOCKS5-прокси. Он поддерживает как TCP, так и UDP, не требует модификации бинарников приложений и работает без изменения глобальных настроек системы. В версии 2.0.1 были реализованы важные архитектурные улучшения, включая поддержку маршрутизации трафика всех активных сетевых приложений используя универсальную маску.

? Универсальная маршрутизация: SOCKS5 для всех

Ранее необходимо было вручную перечислять имена всех процессов, трафик которых должен был перенаправляться. Это давало гибкость, но и усложняло настройку. В версии 2.0.1 появилась поддержка «маски»: теперь, если указать пустую строку "" в поле appNames, ProxiFyre будет перехватывать весь исходящий трафик приложений, соответствующий указанным протоколам.

Пример конфигурации:

{
  "logLevel": "Error",
  "proxies": [
    {
      "appNames": [""],
      "socks5ProxyEndpoint": "proxy.example.org:1080",
      "username": "user1",
      "password": "pass1",
      "supportedProtocols": ["TCP", "UDP"]
    }
  ]
}

⚠️ Важно: DNS-запросы по UDP на порт 53 не перехватываются и пойдут напрямую.

Эта небольшая по сути настройка превращает ProxiFyre в «мягкий VPN» — без дополнительных сетевых интерфейсов, маршрутов и сложных конфигураций, но с полной маршрутизацией сетевых приложений через SOCKS5-прокси.


⚙️ Производительность под нагрузкой

При росте числа подключений некоторые пользователи начали замечать, что под высокой нагрузкой ProxiFyre теряет в производительности. Причина оказалась в архитектуре: до этой версии определение контекста (процесса-источника пакета) происходило синхронно, прямо в обработчике пакетов.

Это вызывало:

  • Блокировку критического потока обработки пакетов

  • Потенциальные дедлоки между ядром и user-mode

  • Резкое снижение пропускной способности при пиковых нагрузках

Эта проблема подробно зафиксирована в issue #62 и потребовала серьёзной переработки внутренних механизмов.


✅ Отложенное определение контекста

Начиная с версии v2.0.1, определение контекста вынесено в асинхронную очередь, что обеспечивает:

  • Немедленную обработку трафика без задержек на определение процесса

  • Перемещение ресурсоёмких операций в фоновые потоки

  • Повышение стабильности и отзывчивости при высоких нагрузках

Версия

Определение контекста

Поведение

≤ 2.0.0

Синхронное (inline)

Блокирует, плохо под нагрузкой

2.0.1

Асинхронное (очередь)

Не блокирует, устойчива


? Важно: поддержка Windows Packet Filter 3.6.1+

ProxiFyre работает поверх Windows Packet Filter — NDIS драйвера для перехвата сетевого трафика. Начиная с версии 2.0.1, обязательно использовать Windows Packet Filter версии 3.6.1 или новее.

Почему это критично:

  • В новых версиях улучшена синхронизация, снижена нагрузка на ядро и добавлена совместимость с обработкой трафика со всех доступных сеетвых интерфейсов с использованием queued_multi_interface_packet_filter.

Загрузить актуальный драйвер можно с github.com.

Использование старого драйвера может привести к нестабильной или частично неработающей функциональности.


? Внутренние изменения

В 2.0.1 также произведена масштабная чистка и рефакторинг:

  • Новый класс queued_multi_interface_packet_filter для обработки трафика на нескольких интерфейсах

  • Обновлены заголовки библиотеки netlib до актуальных версий

  • В .NET-компоненте введены уровни логирования (Error, Warning, Info, Debug, All)

  • Удалён устаревший и неиспользуемый код

Всё это упростило отладку и повысило читаемость кода как для разработчиков, так и для тех, кто собирает проект вручную.


? Пример: проксификация Chrome и RDP через SSH-туннель

Хотя wildcard-настройка подходит большинству, исходная логика «по приложениям» остаётся полезной. Например, вы можете настроить перенаправление трафика только от Chrome и mstsc через локальный SSH-tunnel (например, PuTTY или ssh -D):

{
  "logLevel": "Info",
  "proxies": [
    {
      "appNames": ["chrome", "mstsc"],
      "socks5ProxyEndpoint": "127.0.0.1:8080",
      "supportedProtocols": ["TCP"]
    }
  ]
}

Такой подход позволит изолировать критичные каналы, не меняя поведение остальной системы.


? Архитектура ProxiFyre

Состоит из трёх основных компонентов:

  • ndisapi.lib — статическая библиотека на основе Windows Packet Filter

  • socksify — C++/CLI-библиотека, реализующая маршрутизацию через SOCKS5

  • ProxiFyre — консольное .NET-приложение, управляющее маршрутизацией по конфигу

Проект не требует написания собственного драйвера и работает полностью в user-mode. Это делает его особенно удобным для разработчиков, исследователей и просто продвинутых пользователей.


? Где скачать

Актуальная версия доступна на GitHub:
? ProxiFyre v2.0.1 — страница релиза

В комплекте — исходники, бинарники и пример конфигурации.

Не забудьте обновить драйвер Windows Packet Filter до версии 3.6.1 или новее.


В эпоху, когда доступ к информации и цифровой инфраструктуре больше не гарантирован, такие простые и надёжные инструменты как ProxiFyre могут оказаться ключевыми. Версия 2.0.1 — это шаг к большей универсальности, стабильности и гибкости в условиях неопределённости.

Комментарии (75)


  1. Mupok
    21.07.2025 08:19

    Спасибо вам за вашу программу. Другие прокси блокируются защитами от онлайн игр (например easy anti cheat), а ваша нет. Благодаря ей сидим с друзьями в дискорде


    1. SerpentFly Автор
      21.07.2025 08:19

      Спасибо большое за добрые слова! Рад, что программа помогает. В новой версии немного поработал над сетевой частью — если будет возможность, посмотрите, пожалуйста, как сейчас обстоят дела с пингом. Я сам немного потестировал, но очень хотелось бы услышать новости с полей :)


  1. Johan_Palych
    21.07.2025 08:19

    Удаленный SSH-сервер в качестве SOCKS5-прокси с Chrome:
    ssh -ND 1080:IP(remote_server) user@IP(remote_server)
    ssh Windows Command line reference

    start chrome.exe --profile-directory=TestProfile ^
                     --user-data-dir=c:\TEMP\TestUser ^
                     --proxy-server="socks5://localhost:1080"

    Можно запускать Chrome без туннелируемого трафика параллельно с DefaultProfile(chrome://version)


    1. Mupok
      21.07.2025 08:19

      Ну смысл не в том чтобы хром пустить по туннелю, а приложения, в которых отсутствует данная возможность


      1. FSA
        21.07.2025 08:19

        Я раньше выборочно пускал не работающие сайты через плагин в Chrome. Но в текущей версии всё сломали. Если сломанный блокировщик рекламы ещё можно пережить, но неработающий интернет уже нет. Пришлось экстренно мигрировать на Firefox. Оказалось не всё так страшно. И все плагины работают. Интернет снова починен.


        1. rocket
          21.07.2025 08:19

          Если речь про плагин Proxy SwitchSharp (или что-то аналогичное), то он при запуске браузера отключается, но в панели управления можно включить его на текущий сеанс. Геморно, но неохота браузер менять.


          1. FSA
            21.07.2025 08:19

            Мне тоже было лень, но оказалось всё делается очень просто. Вне настройки импортировал, пароли сохранённые из разных ненужных сайтов тоже. Только перед импортом желательно создать новый профиль и почистить его немного. Заняло буквально пол часа, если не меньше. Но ещё и профит словил. У меня Google Chrome стал при выводе окна глюки выдавать из-за особенностей видеокарты старой. В Firefox такой проблемы нет.

            А ещё новость вышла сегодня, что завтра выйдет официально Firefox 141 где под Linux снизили потребление памяти. У меня особых проблем не было, но радует.


          1. kasumiru
            21.07.2025 08:19

            используйте Proxy SwitchyOmega 3 (ZeroOmega) - во первых поддерживается последними версиями хрома, который не отключает его при запуске, во вторых поддерживает списки втч по маске сайтов куда что перенаправлять, поддерживает как socks5 так и http проксики


        1. Semy
          21.07.2025 08:19

          ZeroOmega работает на Chrome с новым manifest v3.


        1. ddm4ik
          21.07.2025 08:19

          Для хрома есть удобное расположение - Proxy SwitchyOmega 3 (ZeroOmega). Это форк Proxy SwitchyOmega, которое обновили до манифеста v3.

          upd. вижу тут уже пару раз его советовали...)


        1. GKV_klg
          21.07.2025 08:19

          Если Вы привыкли к Хрому, проще перейти на какой-нибудь Brave, они не следят за 3 манифестом и все расширения продолжают работать


          1. FSA
            21.07.2025 08:19

            Ну я просто написал про успешный переход на Firefox. Больше было бонусов при переходе, чем проблем. Долго думал, но сломанные плагины подтолкнули попробовать. Сейчас понял, что можно было бы и на Google Chrome остаться, тут вариантов накидали уже. Но уже поздно :-)


    1. Vindicar
      21.07.2025 08:19

      Очень не везде заработает - по ощущения, скорость SSH уже давно режут так, чтобы хватало только на консоль, но не на прокси.


    1. mitzury
      21.07.2025 08:19

      только окно с ssh постоянно открыто должно быть.. ( в терминале)


      1. Johan_Palych
        21.07.2025 08:19

        Желательно посылать сигнал я-живой через 30-120 сек:
        (ssh -o ServerAliveInterval=30 user@some.host.com)

        На сервере в sshd_config:
        ClientAliveCountMax 99999
        ClientAliveInterval 30
        На клиенте в ~/.ssh/config или глобально в ssh_config в Win %USERPROFILE%\.ssh\config:
        ServerAliveInterval 30
        ServerAliveCountMax 99999


      1. DennisP
        21.07.2025 08:19

        Есть куча программ, которые устанавливают SSH туннели без консольного окна и с разными полезными функциями типа автоматического реконнекта. Для винды например такой функционал есть в Bitwise SSH Client


  1. Metotron0
    21.07.2025 08:19

    Ещё есть proxychains4


    1. SerpentFly Автор
      21.07.2025 08:19

      Под Windows?


      1. Metotron0
        21.07.2025 08:19

        У меня в линуксе, под остальное я даже не подумал проверить.


  1. blvckr3d
    21.07.2025 08:19

    Я бы поостерёгся его использовать, пока не выяснится, куда он пытается отзвониться сразу после запуска, как-то многовато точек подключения для приложения, которое по идее должно тупо проксировать через прописанный в конфиге адрес и порт. Шесть адресов для проверки обновлений, или что это такое?

    • 104.18.38.233 - Cloudflare

    • 172.64.149.23 - Cloudflare

    • 77.224.14.5 - Vodafone Espana

    • 140.82.121.5 - Radius Network, San-Francisco, USA

    • 35.227.242.200 - googleusercontent.com

    • 199.232.214.172 - Cambridge Entrepreneurial Network, San-Francisco, USA


    1. SerpentFly Автор
      21.07.2025 08:19

      Само приложение никуда не ходит, исходники доступны, можете пересобрать если чего опасаетесь. Да, оно просит разрешения открыть порт для прокси, так как соединения редиректятся на локальный прозрачный прокси и только потом на удаленный. Соединения про которые вы пишете скорее всего связаны с проверкой цифровой подписи приложения.


      1. firegurafiku
        21.07.2025 08:19

        Поддержку паранойю опасения предыдущего комментатора. Если я ничего не упустил, код самого драйвера Windows Packet Filter закрыт и увидеть его можно только за большие деньги, под лицензий MIT доступна только лишь библиотека-обёртка, проксирующая вызовы. Поэтому вам, как автору, недостаточно тут ответить «просто соберите из исходников».


        1. SerpentFly Автор
          21.07.2025 08:19

          Если бы драйвер что-то такое и делал, поверьте, вы бы этого не заметили. К тому же реверснуть драйвер несложно, он очень небольшой.


      1. blvckr3d
        21.07.2025 08:19

        Спасибо, похоже на то. Как минимум, crl.sectigo.com и ocsp.sectigo.com резолвятся в упомянутый IP 172.64.149.23. TIL: для меня стало открытием, что crl запросы в винде отправляют сами приложения, а не системные процессы.


    1. Dobry_Latte
      21.07.2025 08:19

      Локальный сервер Nextcloud тоже коннектится куда-то в Вермонт и держит соединение. Вопрос, зачем это ему?


  1. melodictsk
    21.07.2025 08:19

    Сокс5 режут так же как и ссш. Пользоваться сейчас им невозможно.


    1. blvckr3d
      21.07.2025 08:19

      Так можно поднять с помощью xray vless туннель, который выглядит как https трафик и предоставляет на локалхосте socks порт для подключения


      1. BannedMi
        21.07.2025 08:19

        Где почитать про такое?


        1. Uporoty
          21.07.2025 08:19

          Любые статьи по запросу "xray vless", либо официальная документация.


      1. 1755
        21.07.2025 08:19

        А разве РКН не увидит большой трафк с одним хостом и не заблочит его по ip?


        1. riky
          21.07.2025 08:19

          ну тогда любителям смотреть видео не поздоровится...


          1. 1755
            21.07.2025 08:19

            Ну они могут зайти, посмотреть что там открывается на http/https портах, если ничего, то банить


            1. riky
              21.07.2025 08:19

              а что мешает там отдавать
              <html><body>hello world</body></html>
              на все get запросы, или даже целую страничку с проном, чтобы интерес проверяющих удовлетворить?


    1. japanxt
      21.07.2025 08:19

      У меня поднят socks5 прокси на основе 3proxy на vps с точкой выхода в Нидерландах. Не наблюдю особых проблем, а вот с vpn есть проблемы, но я научилая пускать vpn трафик через все тот же socks5.


      1. zaelcovsky
        21.07.2025 08:19

        а зачем vpn через socks5 если и просто socks5 хорошо работает?


        1. japanxt
          21.07.2025 08:19

          На телефоне запретгарм через прокси не хочет работать, а через впн, работет


  1. dev0_0init
    21.07.2025 08:19

    Я думал SOCKS5 первым делом хлопнули, а оказывается нет, и ведь с ним ТГ можно будет завести (есть встроенная функция SOCKS5 прокси)


    1. Uporoty
      21.07.2025 08:19

      у некоторых операторов он давно уже фильтруется


  1. 1nfr47
    21.07.2025 08:19

    Как жаль что я ни хрена половины не понял) я настраивал по инструкциям с Хабра выделенный сервак года три назад на VLESS протоколе и сейчас работает на вай фае только. Недавно перестало работать на сотовой связи. Вот ищу решение, но там были подробные инструкции. Тут я хз где куда что прописывать)) если кстати у кого есть решения по поводу сотовой связи, или по поводу этой статьи подробнее какое описание - дайте ссылку, пожалуйста.


    1. Universal32
      21.07.2025 08:19

      В твоём подключении случайно не фигурирует домен со словом vpn? У нас был такой случай на днях, когда напрямую ip работал нормально, а vpn.mydomain.com не подключал.


    1. Kenya-West
      21.07.2025 08:19

      года три назад на VLESS протоколе и сейчас работает на вай фае только

      Обновите ядро, панель и клиент. Если не поможет, перейдите на XTLS-Reality, а не XTLS-Vision. Это поможет, в последних версиях ядра много патчей.


      1. Uporoty
        21.07.2025 08:19

        В некоторых случаях наобооо помогает использование простого Vision, без Reality - когда РКН режет TLS 1.3 в сторону некоторых хостеров, Reality в таких условиях работать не может, а вот обычный VLESS запросто


    1. phfaster
      21.07.2025 08:19

      Amnezia Self hosted (Xray vless). Works like charm


    1. kamaz1
      21.07.2025 08:19

      Возможно заблокирован не протокол а хостер, hetzner например не работает на мобильных (на билайне по крайней мере)


      1. zaelcovsky
        21.07.2025 08:19

        похоже наблюдаю такое на мегафоне, outline работает на сервере 1 но не работает на сервере 2 (причем на сервере 2 не работает и vless).


    1. HoveringPizza
      21.07.2025 08:19

      Возможно, есть смысл посмотреть в сторону установленного DNS-сервера, мне помогло в своё время справиться с такой проблемой, когда некоторые из них заблочили


  1. rustam006
    21.07.2025 08:19

    Почему не рассмотрели вариант с настройкой vless + reality? Гараздо надежнее защищает от "душения" чем socks5. Может я чего то не знаю)


  1. BannedMi
    21.07.2025 08:19

    Сокс5 уже душат. 6 месяцев продержался. Потом потух, причем Коннект был, а трафик не ходил.

    Потом 2 месяца не алё. И вдруг на проводных операторах заработал, на мобильных так же задушен.


  1. Shado_vi
    21.07.2025 08:19

    у тех у кого проблемы с SOCKS5, вы уверенны что проблема именно связанна с ограничением протокола?
    могут быть например проблемы с ограничениям на диапазоны IP адресов, проблемы с ПО и тд.
    проблем с SOCKS5 что на пк что на смартфоне ещё не замечал за 3 последних года.


    1. 1nfr47
      21.07.2025 08:19

      как - то можно подтвердить что есть ограничение на диапазон?


    1. BannedMi
      21.07.2025 08:19

      А разве ограничение протокола, и последующий бан диапазона, не стоят рядом?


  1. Hint
    21.07.2025 08:19

    Кто пишет про vless. Это решение нужно, чтобы как раз направлять нужные приложения на локальный socks, который пересылает далее уже через vless или что угодно другое. Для тех, кто не хочет пропускать всё через TUN, а у нужного приложения нет настройки прокси. И да, socks5 реально до сих пор не блокируют даже с учётом того, что запрашиваемый домен там идёт в открытом виде без шифрования.


    1. Uporoty
      21.07.2025 08:19

      И да, socks5 реально до сих пор не блокируют даже с учётом того, что запрашиваемый домен там идёт в открытом виде без шифрования.

      кое-где уже блокируют


    1. rustam006
      21.07.2025 08:19

      Из названия статьи и первых двух абзацев я сделал вывод, что основная проблема в том, что привычные vpn протоколы душат, а не в том, как направлять нужные приложения на локальный socks. Автор пишет, что ему задушили wireguard, и лучшим выходом из ситуации для него становится socks5, необъясняя, чем это лучше vless + reality – технологии, которой нет альтернатив по "стойкости к душению" на сегодняшний день.


    1. Kenya-West
      21.07.2025 08:19

      тех, кто не хочет пропускать всё через TUN

      ≈ 100% приложений, работающих с VLESS, умеют в раздельное туннелирование, когда что-то идёт напрямую, что-то - по туннелю.


  1. AnyKey80lvl
    21.07.2025 08:19

    Что коллективный разум может посоветовать для тоннелей внутри РФ? OpenVPN, использующийся для связи двух офисов на днях перестал работать (


    1. Dimon41
      21.07.2025 08:19

      Напишите своему провайдеру. Они смогут через РКН сделать для вас исключение.


    1. winorun
      21.07.2025 08:19

      Проверьте со своей стороны, я недавно тоже мучился, на блокировки грешил. Ну а если с Вашей стороны все нормально, пишите провайдеру. Тут тоже возможны неприятные сюрпризы. У меня как то было, сначала заметил что торент не работает(синхронизация), потом что OpenVPN не подключается, ssh тоже. Грешил на упавший сервер. Но через wifi работало. Позвонил оператору, получил в ответ что сайты открываются, а на остальное у них лапки, и ещё я мало оплачиваю, вот давайте опцию подключим и все заработает.


    1. riky
      21.07.2025 08:19

      amnezia-wg под капотом wireguard. голый wireguard у меня для сравнения не работал...


      1. AnyKey80lvl
        21.07.2025 08:19

        С обеих сторон - старенькие microtik'и без докера.


        1. dbahmatov
          21.07.2025 08:19

          Обновить до 7й версии роутерос, там есть wg


          1. AnyKey80lvl
            21.07.2025 08:19

            wg же тоже не пашет? но буду пробовать, спасибо


            1. DaemonGloom
              21.07.2025 08:19

              Внутри РФ и не на мобильных операторах - ещё работает.


      1. remzalp
        21.07.2025 08:19

        сильно зависит от конкретного провайдера и точки выхода.
        Если РФ-РФ, то может и успешно бегать


    1. dbahmatov
      21.07.2025 08:19

      Включи tls crypt v2, UDP, и порт какой-нибудь нестандартный


      1. AnyKey80lvl
        21.07.2025 08:19

        было - udp, нестандартный порт.
        Если tls crypt v2 это "auth SHA256 and key-direction 1 in client configuration" то тоже было, да.


  1. firegurafiku
    21.07.2025 08:19

    Изучая сайт автора, заметил интересную вещь, о которой нет упоминания в статье: хотя утилита ProxyFyre опубликована под AGPL, библиотека ndisapi — под MIT, сам драйвер WinpkFilter, который и выполняет работу по перекладыванию пакетов куда надо, «is free for personal or educational use, including non-profit organizations».

    Я не могу найти на сайте полный текст EULA, но, исходя из этих слов, использовать этот драйвер для профессиональных задач может быть неправомерно.


  1. rpuropuu
    21.07.2025 08:19

    Извините, хочу вклиниться с вопросом:
    а какой домашний WiFi роутер купить, чтоб в него изернет можно было воткнуть и чтоб была консоль линуксовая? Чтоб туда уже можно было поставить софт какой-нибудь и уже там регулировать трафик? Есть такие решения или надо как 15 лет назад брать отдельный комп и на нём всю логику маршрутизации делать? Я уже не помню нифига(

    Естественно, спрашиваю с интересом о совместимости данного решения из статьи с роутером.



    1. riky
      21.07.2025 08:19

      openwrt podkop. ax3000 (xiaomi или роутерич)


    1. Niter43
      21.07.2025 08:19

      Без Wi-Fi, но NanoPi R3S стоит ~4к на Озоне. 2/32ГБ и официальный OpenWrt.


  1. xsevenbeta
    21.07.2025 08:19

    История движется по спирали. В 2000ых внешний трафик был дорогой, а городской дешёвый. Покупали доступы к SOCKS5 прокси, через которые можно было играть в WoW.


  1. Zil1
    21.07.2025 08:19

    Спасибо за вашу программу, в свое время помогала запускать игры когда блочили AWS и CD, правда тогда она вылетала и работала не очень стабильно. Сейчас вот после тестов вроде все ок. И да как минимум античит BF5 не ругается на этот софт. Еще бы какую-то легкую гуюшку сюда, знаю был проект какой-то одинокий как раз для вашего софта, но сделан был так себе конечно. Ну и это позволит избежать ситуаций когда незнающий человек не очень внимательно напишет конфиг файл и из-за этого ничего не будет работать или будет работать не так как этого хочет пользователь, в моем случае видимо, так и было в одно время. Еще было бы такое же удобное и простое ПО под Линукс, цены бы не было, надеюсь когда-то увижу что-то подобное и там


    1. SerpentFly Автор
      21.07.2025 08:19

      Спасибо за отзыв! Рад, что софт помог. С GUI согласен — подумаю, что тут можно сделать.


  1. Persik1
    21.07.2025 08:19

    Спасибо, забрал в копилку "на случай если всё ляжет"