В последние месяцы я всё чаще сталкиваюсь с ситуациями, когда привычные 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 Filtersocksify
— C++/CLI-библиотека, реализующая маршрутизацию через SOCKS5ProxiFyre
— консольное .NET-приложение, управляющее маршрутизацией по конфигу
Проект не требует написания собственного драйвера и работает полностью в user-mode. Это делает его особенно удобным для разработчиков, исследователей и просто продвинутых пользователей.
? Где скачать
Актуальная версия доступна на GitHub:
? ProxiFyre v2.0.1 — страница релиза
В комплекте — исходники, бинарники и пример конфигурации.
Не забудьте обновить драйвер Windows Packet Filter до версии 3.6.1 или новее.
В эпоху, когда доступ к информации и цифровой инфраструктуре больше не гарантирован, такие простые и надёжные инструменты как ProxiFyre могут оказаться ключевыми. Версия 2.0.1 — это шаг к большей универсальности, стабильности и гибкости в условиях неопределённости.
Комментарии (75)
Johan_Palych
21.07.2025 08:19Удаленный SSH-сервер в качестве SOCKS5-прокси с Chrome:
ssh -ND 1080:IP(remote_server) user@IP(remote_server)
ssh Windows Command line referencestart chrome.exe --profile-directory=TestProfile ^ --user-data-dir=c:\TEMP\TestUser ^ --proxy-server="socks5://localhost:1080"
Можно запускать Chrome без туннелируемого трафика параллельно с DefaultProfile(chrome://version)
Mupok
21.07.2025 08:19Ну смысл не в том чтобы хром пустить по туннелю, а приложения, в которых отсутствует данная возможность
FSA
21.07.2025 08:19Я раньше выборочно пускал не работающие сайты через плагин в Chrome. Но в текущей версии всё сломали. Если сломанный блокировщик рекламы ещё можно пережить, но неработающий интернет уже нет. Пришлось экстренно мигрировать на Firefox. Оказалось не всё так страшно. И все плагины работают. Интернет снова починен.
rocket
21.07.2025 08:19Если речь про плагин Proxy SwitchSharp (или что-то аналогичное), то он при запуске браузера отключается, но в панели управления можно включить его на текущий сеанс. Геморно, но неохота браузер менять.
FSA
21.07.2025 08:19Мне тоже было лень, но оказалось всё делается очень просто. Вне настройки импортировал, пароли сохранённые из разных ненужных сайтов тоже. Только перед импортом желательно создать новый профиль и почистить его немного. Заняло буквально пол часа, если не меньше. Но ещё и профит словил. У меня Google Chrome стал при выводе окна глюки выдавать из-за особенностей видеокарты старой. В Firefox такой проблемы нет.
А ещё новость вышла сегодня, что завтра выйдет официально Firefox 141 где под Linux снизили потребление памяти. У меня особых проблем не было, но радует.
kasumiru
21.07.2025 08:19используйте Proxy SwitchyOmega 3 (ZeroOmega) - во первых поддерживается последними версиями хрома, который не отключает его при запуске, во вторых поддерживает списки втч по маске сайтов куда что перенаправлять, поддерживает как socks5 так и http проксики
ddm4ik
21.07.2025 08:19Для хрома есть удобное расположение - Proxy SwitchyOmega 3 (ZeroOmega). Это форк Proxy SwitchyOmega, которое обновили до манифеста v3.
upd. вижу тут уже пару раз его советовали...)
GKV_klg
21.07.2025 08:19Если Вы привыкли к Хрому, проще перейти на какой-нибудь Brave, они не следят за 3 манифестом и все расширения продолжают работать
FSA
21.07.2025 08:19Ну я просто написал про успешный переход на Firefox. Больше было бонусов при переходе, чем проблем. Долго думал, но сломанные плагины подтолкнули попробовать. Сейчас понял, что можно было бы и на Google Chrome остаться, тут вариантов накидали уже. Но уже поздно :-)
Vindicar
21.07.2025 08:19Очень не везде заработает - по ощущения, скорость SSH уже давно режут так, чтобы хватало только на консоль, но не на прокси.
mitzury
21.07.2025 08:19только окно с ssh постоянно открыто должно быть.. ( в терминале)
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
DennisP
21.07.2025 08:19Есть куча программ, которые устанавливают SSH туннели без консольного окна и с разными полезными функциями типа автоматического реконнекта. Для винды например такой функционал есть в Bitwise SSH Client
blvckr3d
21.07.2025 08:19Я бы поостерёгся его использовать, пока не выяснится, куда он пытается отзвониться сразу после запуска, как-то многовато точек подключения для приложения, которое по идее должно тупо проксировать через прописанный в конфиге адрес и порт. Шесть адресов для проверки обновлений, или что это такое?
104.18.38.233
- Cloudflare172.64.149.23
- Cloudflare77.224.14.5
- Vodafone Espana140.82.121.5
- Radius Network, San-Francisco, USA35.227.242.200
- googleusercontent.com199.232.214.172
- Cambridge Entrepreneurial Network, San-Francisco, USA
SerpentFly Автор
21.07.2025 08:19Само приложение никуда не ходит, исходники доступны, можете пересобрать если чего опасаетесь. Да, оно просит разрешения открыть порт для прокси, так как соединения редиректятся на локальный прозрачный прокси и только потом на удаленный. Соединения про которые вы пишете скорее всего связаны с проверкой цифровой подписи приложения.
firegurafiku
21.07.2025 08:19Поддержку
паранойюопасения предыдущего комментатора. Если я ничего не упустил, код самого драйвера Windows Packet Filter закрыт и увидеть его можно только за большие деньги, под лицензий MIT доступна только лишь библиотека-обёртка, проксирующая вызовы. Поэтому вам, как автору, недостаточно тут ответить «просто соберите из исходников».SerpentFly Автор
21.07.2025 08:19Если бы драйвер что-то такое и делал, поверьте, вы бы этого не заметили. К тому же реверснуть драйвер несложно, он очень небольшой.
blvckr3d
21.07.2025 08:19Спасибо, похоже на то. Как минимум, crl.sectigo.com и ocsp.sectigo.com резолвятся в упомянутый IP 172.64.149.23. TIL: для меня стало открытием, что crl запросы в винде отправляют сами приложения, а не системные процессы.
Dobry_Latte
21.07.2025 08:19Локальный сервер Nextcloud тоже коннектится куда-то в Вермонт и держит соединение. Вопрос, зачем это ему?
melodictsk
21.07.2025 08:19Сокс5 режут так же как и ссш. Пользоваться сейчас им невозможно.
blvckr3d
21.07.2025 08:19Так можно поднять с помощью xray vless туннель, который выглядит как https трафик и предоставляет на локалхосте socks порт для подключения
japanxt
21.07.2025 08:19У меня поднят socks5 прокси на основе 3proxy на vps с точкой выхода в Нидерландах. Не наблюдю особых проблем, а вот с vpn есть проблемы, но я научилая пускать vpn трафик через все тот же socks5.
dev0_0init
21.07.2025 08:19Я думал SOCKS5 первым делом хлопнули, а оказывается нет, и ведь с ним ТГ можно будет завести (есть встроенная функция SOCKS5 прокси)
1nfr47
21.07.2025 08:19Как жаль что я ни хрена половины не понял) я настраивал по инструкциям с Хабра выделенный сервак года три назад на VLESS протоколе и сейчас работает на вай фае только. Недавно перестало работать на сотовой связи. Вот ищу решение, но там были подробные инструкции. Тут я хз где куда что прописывать)) если кстати у кого есть решения по поводу сотовой связи, или по поводу этой статьи подробнее какое описание - дайте ссылку, пожалуйста.
Universal32
21.07.2025 08:19В твоём подключении случайно не фигурирует домен со словом vpn? У нас был такой случай на днях, когда напрямую ip работал нормально, а vpn.mydomain.com не подключал.
Kenya-West
21.07.2025 08:19года три назад на VLESS протоколе и сейчас работает на вай фае только
Обновите ядро, панель и клиент. Если не поможет, перейдите на XTLS-Reality, а не XTLS-Vision. Это поможет, в последних версиях ядра много патчей.
Uporoty
21.07.2025 08:19В некоторых случаях наобооо помогает использование простого Vision, без Reality - когда РКН режет TLS 1.3 в сторону некоторых хостеров, Reality в таких условиях работать не может, а вот обычный VLESS запросто
kamaz1
21.07.2025 08:19Возможно заблокирован не протокол а хостер, hetzner например не работает на мобильных (на билайне по крайней мере)
zaelcovsky
21.07.2025 08:19похоже наблюдаю такое на мегафоне, outline работает на сервере 1 но не работает на сервере 2 (причем на сервере 2 не работает и vless).
HoveringPizza
21.07.2025 08:19Возможно, есть смысл посмотреть в сторону установленного DNS-сервера, мне помогло в своё время справиться с такой проблемой, когда некоторые из них заблочили
rustam006
21.07.2025 08:19Почему не рассмотрели вариант с настройкой vless + reality? Гараздо надежнее защищает от "душения" чем socks5. Может я чего то не знаю)
BannedMi
21.07.2025 08:19Сокс5 уже душат. 6 месяцев продержался. Потом потух, причем Коннект был, а трафик не ходил.
Потом 2 месяца не алё. И вдруг на проводных операторах заработал, на мобильных так же задушен.
Shado_vi
21.07.2025 08:19у тех у кого проблемы с SOCKS5, вы уверенны что проблема именно связанна с ограничением протокола?
могут быть например проблемы с ограничениям на диапазоны IP адресов, проблемы с ПО и тд.
проблем с SOCKS5 что на пк что на смартфоне ещё не замечал за 3 последних года.
Hint
21.07.2025 08:19Кто пишет про vless. Это решение нужно, чтобы как раз направлять нужные приложения на локальный socks, который пересылает далее уже через vless или что угодно другое. Для тех, кто не хочет пропускать всё через TUN, а у нужного приложения нет настройки прокси. И да, socks5 реально до сих пор не блокируют даже с учётом того, что запрашиваемый домен там идёт в открытом виде без шифрования.
Uporoty
21.07.2025 08:19И да, socks5 реально до сих пор не блокируют даже с учётом того, что запрашиваемый домен там идёт в открытом виде без шифрования.
кое-где уже блокируют
rustam006
21.07.2025 08:19Из названия статьи и первых двух абзацев я сделал вывод, что основная проблема в том, что привычные vpn протоколы душат, а не в том, как направлять нужные приложения на локальный socks. Автор пишет, что ему задушили wireguard, и лучшим выходом из ситуации для него становится socks5, необъясняя, чем это лучше vless + reality – технологии, которой нет альтернатив по "стойкости к душению" на сегодняшний день.
Kenya-West
21.07.2025 08:19тех, кто не хочет пропускать всё через TUN
≈ 100% приложений, работающих с VLESS, умеют в раздельное туннелирование, когда что-то идёт напрямую, что-то - по туннелю.
AnyKey80lvl
21.07.2025 08:19Что коллективный разум может посоветовать для тоннелей внутри РФ? OpenVPN, использующийся для связи двух офисов на днях перестал работать (
winorun
21.07.2025 08:19Проверьте со своей стороны, я недавно тоже мучился, на блокировки грешил. Ну а если с Вашей стороны все нормально, пишите провайдеру. Тут тоже возможны неприятные сюрпризы. У меня как то было, сначала заметил что торент не работает(синхронизация), потом что OpenVPN не подключается, ssh тоже. Грешил на упавший сервер. Но через wifi работало. Позвонил оператору, получил в ответ что сайты открываются, а на остальное у них лапки, и ещё я мало оплачиваю, вот давайте опцию подключим и все заработает.
riky
21.07.2025 08:19amnezia-wg под капотом wireguard. голый wireguard у меня для сравнения не работал...
AnyKey80lvl
21.07.2025 08:19С обеих сторон - старенькие microtik'и без докера.
dbahmatov
21.07.2025 08:19Обновить до 7й версии роутерос, там есть wg
remzalp
21.07.2025 08:19сильно зависит от конкретного провайдера и точки выхода.
Если РФ-РФ, то может и успешно бегать
dbahmatov
21.07.2025 08:19Включи tls crypt v2, UDP, и порт какой-нибудь нестандартный
AnyKey80lvl
21.07.2025 08:19было - udp, нестандартный порт.
Если tls crypt v2 это "auth SHA256 and key-direction 1 in client configuration" то тоже было, да.
firegurafiku
21.07.2025 08:19Изучая сайт автора, заметил интересную вещь, о которой нет упоминания в статье: хотя утилита ProxyFyre опубликована под AGPL, библиотека ndisapi — под MIT, сам драйвер WinpkFilter, который и выполняет работу по перекладыванию пакетов куда надо, «is free for personal or educational use, including non-profit organizations».
Я не могу найти на сайте полный текст EULA, но, исходя из этих слов, использовать этот драйвер для профессиональных задач может быть неправомерно.
rpuropuu
21.07.2025 08:19Извините, хочу вклиниться с вопросом:
а какой домашний WiFi роутер купить, чтоб в него изернет можно было воткнуть и чтоб была консоль линуксовая? Чтоб туда уже можно было поставить софт какой-нибудь и уже там регулировать трафик? Есть такие решения или надо как 15 лет назад брать отдельный комп и на нём всю логику маршрутизации делать? Я уже не помню нифига(Естественно, спрашиваю с интересом о совместимости данного решения из статьи с роутером.
Dusty77
21.07.2025 08:19https://itdog.info/kakoj-router-dlya-openwrt-kupit-v-2025-godu/
Довольно подробно
xsevenbeta
21.07.2025 08:19История движется по спирали. В 2000ых внешний трафик был дорогой, а городской дешёвый. Покупали доступы к SOCKS5 прокси, через которые можно было играть в WoW.
Zil1
21.07.2025 08:19Спасибо за вашу программу, в свое время помогала запускать игры когда блочили AWS и CD, правда тогда она вылетала и работала не очень стабильно. Сейчас вот после тестов вроде все ок. И да как минимум античит BF5 не ругается на этот софт. Еще бы какую-то легкую гуюшку сюда, знаю был проект какой-то одинокий как раз для вашего софта, но сделан был так себе конечно. Ну и это позволит избежать ситуаций когда незнающий человек не очень внимательно напишет конфиг файл и из-за этого ничего не будет работать или будет работать не так как этого хочет пользователь, в моем случае видимо, так и было в одно время. Еще было бы такое же удобное и простое ПО под Линукс, цены бы не было, надеюсь когда-то увижу что-то подобное и там
SerpentFly Автор
21.07.2025 08:19Спасибо за отзыв! Рад, что софт помог. С GUI согласен — подумаю, что тут можно сделать.
Mupok
Спасибо вам за вашу программу. Другие прокси блокируются защитами от онлайн игр (например easy anti cheat), а ваша нет. Благодаря ей сидим с друзьями в дискорде
SerpentFly Автор
Спасибо большое за добрые слова! Рад, что программа помогает. В новой версии немного поработал над сетевой частью — если будет возможность, посмотрите, пожалуйста, как сейчас обстоят дела с пингом. Я сам немного потестировал, но очень хотелось бы услышать новости с полей :)