Предисловие
С момента написания первой статьи о B4 прошло полгода. Казалось бы, не очень много времени, но софтина получила ну очень большое количество фич, о которых хочется рассказать подробно. Не буду скрывать: хабраэффект сделал своё дело, и благодаря большому интересу после первой статьи очень многие не разочаровались в отсутствии какого-то функционала, а активно помогали - коммуникацией, запросами, тестированием, - благодаря чему все эти фичи в B4 и появились.
В итоге на сегодняшний день B4 - это не инструмент для обхода блокировок (коим базово и задумывался изначально), а полноценный сетевой мультитул с гибкой и продвинутой маршрутизацией таргетированного трафика.
Какой еще мультитул…
B4 - это linux/netfilter-инструмент для работы с живым трафиком, преимущественно нацеленный на сетевые устройства типа роутеров. Да, сегодня существует множество классных и проверенных тулзов (например, zapret и byedpi), но мне хотелось заложить в принцип работы функции, которых в них нет, но которые существенно упрощают работу с сетевым трафиком. Мир сетевого трафика в linux, и его мини-мир обхода блокировок в частности, довольно сложен и местами неочевиден.
Основные задачи, которые я хотел решить с помощью B4:
Максимально возможное применение изменений без перезапуска сервиса.
Мультифункциональность. Не одним DPI живём: если что-то не обходится, это можно соединить с другими сервисами - скажем, пустить конкретный трафик в VPN не отходя от кассы.
Визуализация и популяризация подобных инструментов. Да, UI - это главное.
Так что там под капотом
Сеты - сердце B4. Сеты - это не маленькие злобные египетские боги ярости (хотя некоторые пользователи точно скажут, что порой их настройка выбешивает). Сет - это сгруппированный большой набор параметров, направленный на определенные сетевые ресурсы (сайты, сервисы - you name it).

Если вкратце, сет состоит из:
цели - на какой трафик он должен примениться;
стратегий манипуляции с трафиком для обхода блокировок;
дальнейшей маршрутизации и манипуляций с DNS;
эскалации - каскадного перенаправления в другой сет.
В B4 сеты зависимы друг от друга, и их порядок очень важен. Менять его можно на лету, простым перетаскиванием оных.
Гибкая настройка целей
Первое, что встречает нас при создании сета, - это, конечно, таргетирование. Буквально для начала нужно определить, ради чего мы его создаём, а уже потом думать, что со всем этим делать.

У нас есть возможность:
указывать как конкретные домены и поддомены, так и целые группы (благодаря проекту v2ray);
аналогично указывать отдельные IP и целые подсети;
таргетировать сет по конкретным устройствам в нашей сети;
управлять версиями TLS;
управлять версиями IPv4/IPv6 (в случае если ipv6 доступен);
управлять кэшированием DNS/IP.
Короче говоря, B4 может таргетировать один и тот же сервис по-разному для разных устройств. Из практики: один сет для YouTube может иметь одни параметры обхода для компьютера, а другой сет, для того же YouTube, - другие для смарт-тв.
вDOH/выDOH и мы опять играем в любимых
В B4 была сильно переработана манипуляция с DNS-трафиком и его перенаправление. Главное - появилась возможность перенаправлять конкретные DNS-запросы в нужный нам DoH. Провайдер при этом не видит, что именно вы резолвите, и не может подсунуть подмененный ответ.
Понятно, что это актуально только для обычного DNS-трафика по UDP: уже существующий DoH-трафик B4, очевидно, недоступен, поэтому стоит проверить, не включён ли DoH в браузере или на роутере - иначе он пройдёт мимо B4.

Вот показательный пример сета, наглядно демонстрирующий перенаправление:
{"b4_version":"1.72.0","name":"browserleaks","targets":{"sni_domains":["browserleaks.org","browserleaks.com","browserleaks.net"],"ip":["213.180.204.0/24"],"geosite_categories":["digitalocean"],"geoip_categories":["digitalocean"]},"enabled":true,"dns":{"enabled":true,"doh_url":"https://xbox-dns.ru/dns-query"},"routing":{"enabled":true}}
Заходим на https://browserleaks.com/dns и проверяем результат.
От «ломай меня полностью» до «в какую психушку?? Вы чё угораете??»
Изначально сеты только фрагментировали трафик и создавали фейки. С усложнением методик DPI стало понятно, что в определённых случаях куда проще просто перенаправить трафик дальше по течению, а там уже «соответствующие органы разберутся».
Тут важно понять принципиальную разницу. Обход DPI - это когда пакет идёт напрямую к сайту, но выглядит для провайдера иначе. Маршрутизация - это когда пакет уходит совсем другим, подпольным, путём. Механизм выбора трафика остаётся тем же самым - те же сеты, те же таргеты, - а вот исход может быть любым из перечисленных ниже.

На данный момент в B4 существует маршрутизация:
В конкретный интерфейс - например, в tun, удобно созданный рядом крутящимся sing-box, WireGuard или xray.
В SOCKS5-сервер - причём поддерживается и UDP-трафик, что, между прочим, в подобных редиректах встречается не так уж часто.
Telegram-WebSocket bridge - мост для Telegram; о нём и о поддержке Telegram в целом - в отдельной главе чуть ниже.
Blackhole - аналог затычки в xray, удобно для блока всякой нечисти вроде рекламы; на блокировке мы, как и на телеге, отдельно остановимся ниже.
Отдельно отмечу то, из-за чего обычно и мучаются с ручными ip rule: маршрутизация в B4 самовосстанавливающаяся. Когда VPN или туннель переподключается и меняет адрес, когда рестартит tun2socks или меняется дефолтный маршрут - B4 сам подхватывает изменения и перестраивает маршруты, ничего трогать руками не нужно.
Что? Что ты там промямлил про телеграм?...
Ну да, в B4 была добавлена нативная поддержка Telegram. На данный момент существует два способа пустить трафик телеграмма через B4:
внутренний MTProto-сервер;
Tg-WS-bridge.
MTProto-сервер и Я
В общих настройках можно включить MTProto-сервер. Указываем порт, fakeSNI, создаём секрет (или несколько секретов - удобно, когда мы уверены в себе и готовы раздать родственникам и друзьям отдельные строки подключения, но всё же хотим это контролировать). Напротив каждого секрета есть кнопка показать QR-код, чтобы поделиться строкой подключения.
Пара слов о том, как это прячется от провайдера. Сервер работает через fake-TLS обфускацию: снаружи трафик к нему выглядит как обычный HTTPS к безобидному хосту, а не как «подозрительное подключение к прокси».
Это базовый сетап MTProto, и очень вряд ли он у вас заработает прямо из коробки (хотя чем чёрт не шутит). Чуть ниже располагаются настройки для взрослых.
B4 поддерживает работу телеграмма в разных транспортах:
Классический TCP - по сути убитый на сегодня в РФ.
Только WebSocket - большое спасибо проекту tg-ws-proxy за вдохновение.
Авто - B4 сам определит за вас, что и куда (но если и так понятно, что нужен websocket, лучше сразу выбрать ws, чтобы не мучать систему).

Поверх транспортов есть ещё несколько помощников на случай, когда даже websocket не пробивается напрямую:
DC Relay - перенаправляет трафик телеграмм-DC на внешний VPS через socat (почему бы и нет).
Cloudflare Worker и резервные Cloudflare-серверы - можно завести свой Worker как персональный релей. Базовый endpoint с конфигом прокси-серверов я вам любезно предоставляю через себя, либо можете указать свой альтернативный.
При наличии заведомо открытого порта можно подключиться к своему серверу с B4 снаружи, и телеграм имеет шанс заработать. Такой сетап удобен, когда вы вышли из дома и нужно подключиться к условному прокси прямо через настройки в самой телеге.
И приятная мелочь из свежего: раз секретов может быть несколько именных, на главной видно статистику по каждому - сколько соединений, сессий и трафика идёт через «Маму», «Жену» и «Васю» по отдельности. Фактически вы становитесь маленьким прокси-провайдером для своих, но с контролем и наглядностью. Секреты можно на лету включать-отключать.
Telegram Bridge Mod
B4 позволяет за счёт специального сета заставить телеграмм работать внутри домашней сети вообще без каких-либо подключений к прокси. Во-первых, вот этот сет:
{"b4_version":"1.64.0rc1","name":"telegram-ws","targets":{"geosite_categories":["telegram"],"geoip_categories":["telegram"]},"enabled":true,"routing":{"enabled":true,"mode":"mtproto-ws"}}

Что в этом сете:
таргетирован по geosite- и geoip-категории telegram;
маршрутизация выбрана «Telegram через WebSocket» (mtproto-ws).
Таким образом, весь трафик в локальной сети, связанный с телеграмом, будет заворачиваться во внутренний WebSocket-мост. Никаких настроек на самих устройствах больше не нужно - работает прозрачно, в том числе на телефонах.
Важный момент: обе фичи - и роутинг на уровне сета, и внутренний MTProto-сервер - могут работать одновременно и независимо друг от друга.

Сам себе БуРКНо
Ну и, завершая экскурс в маршрутизацию сетов B4, стоит упомянуть возможность блокировать трафик. Как будто эта фича родилась абсолютно естественно: таргеты есть, роутинг есть - осталось дело за малым.

Важное уточнение, из-за которого блокировка в B4 - это не просто «ещё один чёрный список доменов». Она работает в три слоя сразу:
DNS sinkhole - на запрос заблокированного домена возвращается
NXDOMAIN, домен как будто не существует.Блокировка по SNI - B4 смотрит на имя хоста прямо в TLS/QUIC handshake. Это ловит даже тех клиентов, которые резолвятся через свой собственный DoH в обход вашего DNS (привет, умные телевизоры и приложения со вшитым резолвером).
Блокировка по адресу - по IP, CIDR и geoip-категориям прямо в firewall.
Работает это по всей сети сразу, включая сам роутер, и не требует никакого выходного интерфейса.
В опциях есть два поведения отбраковки трафика:
быстрый отказ (reject) - B4 генерирует RST-пакет, тем самым давая приложению моментально понять, что соединение сброшено;
молча отбросить (drop) - «умерла так умерла», более классический и нейтральный вариант, соединение умрёт по таймауту.

Самый очевидный сценарий - блокировка рекламы для всей сети разом. То, что на компьютере делает uBlock, тут работает на уровне сети для всех устройств, включая телефоны и телевизор, куда расширение не поставишь. А на дашборде под это есть отдельная панель Blackhole: сколько всего заблокировано, топ доменов и какие устройства в сети чаще всего ломятся в рекламу.
В качестве бонуса - вот готовый сет, отбраковывается кучу рекламы, а заодно набор сайтов, где эту блокировку можно проверить:
{"b4_version":"1.72.0","name":"adblock","fragmentation":{"strategy":"none"},"faking":{"sni":false},"targets":{"sni_domains":["ad.mail.ru","advertronic.io","vu.okcdn.ru","adkernel.com","adfox.ru","nr-data.net","rubiconproject.com","adition.com","mc.yandex.com","log.strm.yandex.ru","analytics.yahoo.com","criteo.com","taboola.com","ad4m.at","1rx.io","hbx.media.net","media.net","adform.net","analyticsengine.s3.amazonaws.com","analytics.s3.amazonaws.com","ad.doubleclick.net","analytics.google.com","api.bugsnag.com","app.bugsnag.com","browser.sentry-cdn.com","app.getsentry.com","ads-api.twitter.com","log.byteoversea.com","log.fc.yahoo.com","adtech.yahooinc.com","appmetrica.yandex.ru","metrika.yandex.ru","fingerprintjs.com","px.srvcs.tumblr.com","device-metrics-us.amazon.com","cdn.cookielaw.org","consent.cookiebot.com","sdk.privacy-center.org","cdn.privacy-mgmt.com","api.impact.com","cdn.dynamicyield.com","widget.intercom.io","bnc.lt","bingads.microsoft.com","ads.microsoft.com","snap.licdn.com","ct.pinterest.com","geolocation.onetrust.com","consent.trustarc.com","app.usercentrics.eu","advertising-api-eu.amazon.com","fls-na.amazon.com","advertising.yandex.ru","ironsource.mobi","is.com","pangleglobal.com","posthog.com","o0.ingest.sentry.io","lr-ingest.com","mineralt.io","pixel.quora.com","qevents.quora.com","ads.vk.com","advertising.apple.com","ads.huawei.com","ngfts.lge.com","xp.apple.com","cmp.osano.com","consentcdn.cookiebot.com","zenaps.com","clientstream.launchdarkly.com","match.adsrvr.org","smartyads.com","adcolony.com","mouseflow.com","edge.fullstory.com","stats.wp.com","adsrvr.org","c.bing.com","app-measurement.com","cdn.segment.com","quantcast.com","rudderstack.com","snowplowanalytics.com","adjust.com","singular.net","wzrkt.com","ads.pinterest.com","ads.x.com","ads-sg.tiktok.com","tracking.rus.miui.com","cookiebot.com","ads-api.tiktok.com","business-api.tiktok.com"],"ip":["5.255.255.77/32"],"geosite_categories":["category-ads-all"]},"enabled":true,"routing":{"enabled":true,"mode":"block"}}
NFQUEUE? Зашёл не в ту дверь
До этого момента я как бы подразумевал, что B4 ловит трафик прозрачно, через netfilter (и это то, под что он максимально заточен). На самом деле дверей на вход у него уже три, и дальше по конвейеру сетов трафик едет одинаково, кем бы он ни зашел.

NFQUEUE - наша база. B4 забирает пакеты прямо из ядра через netfilter-очередь, никто на устройствах ничего не настраивает, всё прозрачно. Это движок по умолчанию, и вся статья выше и ниже по большей степени про этот мод работы B4.
-
SOCKS5-сервер. Вот это свежая и, на мой взгляд, недооцененная штука: B4 умеет сам быть SOCKS5-сервером. Указывается порт, при желании логин-пароль - и любой клиент, который умеет ходить через SOCKS5 (браузер, телега, торрент-качалка, да хоть весь системный трафик), направляется прямо в B4. А дальше этот трафик матчится по тем же сетам и обрабатывается ровно так же, как если бы он зашёл через netfilter, - те же таргеты, тот же обход, та же маршрутизация. Поддерживается и UDP.

настройки сокс5 сервера TUN - альтернатива NFQUEUE для устройств с сильно урезанной поддержкой netfilter (тех самых, где B4 раньше просто не стартовал). Пока это экспериментальная опция, и часть фич с ней не работает (тот же дискавери), но сам трафик она уже обрабатывает (работает на ~60% от общих возможностей B4).
Зачем это надо, если есть прозрачный перехват? Затем, что прозрачный перехват требует прав на firewall и, по-хорошему, чтобы B4 стоял на шлюзе. А SOCKS5-сервером B4 можно поднять вообще где угодно - хоть на обычной рабочей машине без всякого netfilter, - и точечно заворачивать в него отдельные приложения.
И чтобы два раза не вставать: очевидно не стоит это путать с маршрутизацией во внешний SOCKS5 из главы про маршрутизацию. Там B4 выступает в качестве клиента, который отдаёт ваш трафик чужому прокси. Здесь B4 - сам себе такой сервер, который трафик принимает. Он умеет быть обоими сразу, если вам зачем-то так надо. Вашу маму и там и тут показывают.
Нажми на кнопку - получишь результат (ну нет)
А вот теперь про фичу, вокруг которой у людей больше всего завышенных ожиданий, - про авто подбор стратегий. Сам я им практически не пользуюсь, и сейчас объясню почему.
Программно «пробить» url и открыть сайт в живом браузере - это две очень разные вещи. Чтобы понять, как именно провайдер душит ресурс, в идеале нужно полноценное браузерное поведение со всеми потрохами, вплоть до headless-хромиума. А теперь представьте headless-хром на роутере за пять копеек - вот и я не могу (ах да, помимо того, что сам B4 нормально так жрет ресурсы в силу того, что написан на golang). Поэтому любой автодетект на таком железе видит лишь грубую тень происходящего и в нынешних реалиях DPI частенько может ошибаться.
Что это значит на практике: процентов 95 случаев быстрее и надёжнее закрыть руками. Указал сайт в сете, потыкал пару заведомо рабочих настроек (их обычно и так знаешь наперёд, или они описаны в инструкции или в группе телеги) - открылось. Никакого дискавери. Автоподбор по-настоящему полезен ровно в одной ситуации: когда ты вообще не знаешь, с чего начать, и нужна хоть какая-то отправная точка.
Дискавери - это про сайты и урлы, то есть про TCP/TLS.
Были примеры - человек пробивает discord.com, видит успешный сет, радостно бежит звонить - а звонки не идут. Потому что голос и видео в дискорде - это UDP, отдельная песня, которую проверка по урлу в принципе не щупает. Открылся сайт - не значит заработали звонки.
Да-да, ок, по Дискавери что в итоге?
Как стартовая точка дискавери штука полезная, и за полгода он видоизменился. Берёт домен, прогоняет через набор пресетов, смотрит, как именно рвётся соединение (мгновенный RST, таймаут, TLS-ошибка), и предлагает то, что выстрелило.

Из интересного:
крутится в отдельном потоке и больше не мешает общему трафику B4 во время подбора;
умеет одновременно обрабатывать несколько сайтов разом и искать одну общую стратегию на группу, с применением в один клик;
подбирает под конкретную версию TLS и прото-версию IPv4/IPv6;
проверяет DNS на отравление (а если резолв отравлен - ищет тестовые сайты через DoH);
лог подбора теперь живёт на сервере;
Watchdog - мониторинг
Мониторинг мониторит. Он ничего не «разблокирует магией с нуля». Он держит уже работающий сетап живым. Можно задать список важных урлов, фоновый сервис следит за ними, и как только доступ деградировал - B4 пытается переподобрать стратегию и “сделать красиво” как может.

Мониторинг по факту это дискавери на автопилоте. Можно сразу на авось загнать сайт в мониторинг, и B4 через какое-то время сам должен подобрать стратегию и создасть сет. Если же уже существует сет с указанным доменом, то мониторинг в случае деградации соединения будет пытаться поправить существующий сет.
Диагностика трафика и дебаг
Инструмент логирования в B4 и раньше был неплохой, но и он оброс полезностями.
Логирование контролируется уровнем логов в настройках.
Логи можно писать в файлы (B4 складывает их в свою директорию - errors.log, update.log), а можно включить галочку syslog и сливать всё в системный журнал (но вообще не стоит).
Отдельная удобная штука - трассировка прямо из веб-интерфейса. В разделе логов можно нажать на «начать трассировку», B4 переходит в режим слежки и собирает всё происходящее в единый файл, а по завершении отдает его вам на анализ. Идеально, чтобы приложить к issue.

Маленький лайфхак напоследок. Когда тестируете подобные тулзы (не только B4), браузер вас будет обманывать закешированными соединениями. Загляните (тут пример для хрома, у остальных есть похожие альтернативы) в chrome://net-internals/ разделы #sockets и #dns, потыкайте там кнопки сброса сокетов и DNS-кэша - иначе легко полчаса гадать, почему сайт «всё ещё не открывается», когда он на самом деле давно открывается, просто хром держит старый коннект.
Интеграция
Их есть у меня. Весь этот веб-интерфейс - на самом деле просто клиент поверх REST API. Всё, что вы делаете кнопками, точно так же делается обычными HTTP-запросами. А значит, B4 можно не только настраивать руками, но и встраивать во что угодно своё - скрипты, автоматизацию, мониторинг, свою собственную морду, если моя вам не по душе.
Наружу торчит вся кухня: конфиг и сеты, DNS, SOCKS5, watchdog, geosite/geoip, ASN-запросы - словом, всё то же, что и в UI. Авторизация по Bearer-токену, так что дёргать это можно и из соседнего сервиса. Отдельно есть WebSocket-стримы реального времени - логи, метрики, ход дискавери и живой список соединений сыплются прямо в сокет, если хотите строить что-то своё поверх.
И самое приятное для тех, кто любит покопаться: есть живой Swagger прямо в браузере. Можно подключить свою инстанцию B4, выбрать нужную версию API
Документация: https://daniellavrushin.github.io/b4/
Swagger API: https://daniellavrushin.github.io/b4/swagger

Послесловие
Первая статья, честно говоря, залетела сильнее, чем я ожидал, и дала проекту такой буст, какого я себе не представлял. Причем многие пришли не те, кто поворчал “а вот здесь не работает” и ушёл, а те, кто увидел потенциал и остался - что-то подкрутить, о чём-то спросить, что-то сломать и рассказать, как именно сломалось. Собственно, добрая половина того, о чём эта статья, выросла именно благодаря таким людям.
Я и сам развиваю B4 в первую очередь потому, что мне это интересно, я сам многого не знаю, и потому что открыт к новым запросам - когда приходит человек со своим сценарием, которого я не предусмотрел или не знал, это не головная боль, а повод сделать инструмент лучше и узнать что-то новое. За эти полгода случился какой-то совершенно неприличный рывок, и это заслуга не столько моя, сколько всех, кто заглянул и захотел подстроить B4 под себя.
Тема, что и говорить, непростая. Сетевой трафик в linux, сам по себе DPI, обход анализа и блокировок - это область, где кто-то знает чуть больше, кто-то чуть меньше, и легко почувствовать себя дураком, открыв незнакомую настройку. Вот с этим я и хочу бороться больше всего: моя главная цель - не столько «сделать ещё одну тулзу», сколько популяризировать всю эту кухню и показать, что она не так страшна, как кажется, пока есть возможность.
Спасибо, что дочитали.
Пишите в комментариях - как и в прошлый раз, из ваших сообщений вполне может вырасти третья статья. А так же у нас есть небольшая телеграм группа, можно так же туда задавать вопросы и, тем более, писать запросы.

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

Andreas_Fogel
03.07.2026 05:59Ого я уже давно твой тулз в закладках держу. Ждал глобального обновления, та как думал что это вайбкод гадость. У меня вопрос к тебе, B4 запускается изолированно? Стабильно ли работает? Требует ли первоначальных настроек и изменений стратегий обхода?

Jholinar Автор
03.07.2026 05:59Мне лично кажется, что если все эти свистопляски вокруг блокировок настроены и работают, то и не стоит ломать уже рабочий проверенный сетап (ну типа, запрет работает и ладно).
Изолированно - что ты имеешь ввиду? Docker? Да, есть.
- https://hub.docker.com/r/lavrushin/b4
- для микротиков, кстати, есть отдельный специально заточенный под них контейнер любезно собираемый Виктором - https://hub.docker.com/r/wiktorbgu/b4-mikrotik
Вопрос про стабильность - ну такое себе, кто ж тебе даст тут уверенный ответ ).

Ahtuhka
03.07.2026 05:59У меня вопрос практический: насколько это реально поднять обычному человеку на домашнем роутере? И есть ли набор типовых сетов, чтобы не собирать всё с нуля?

Jholinar Автор
03.07.2026 05:59Ну, как мне кажется, нет ничего сложного. Сложное начинается уже по настройкам каких-то больших сервисов. Ради интереса, можно попробовать установить, и попытаться пробить какой-нибудь простенький заблокированный сайт. Сразу пытаться пробить discord врядли получится, без общего понимания :).
Кстати, возможно из баланса "простое-результативное" можно попробовать настроить телеграм, там как раз не сильно нужно возиться с настройками и добиться работы можно в пару кликов. Тут можно подробнее почитать про настройки для ТГ.

alex09102026
03.07.2026 05:59для начала подними openclaw или hermes agent ну а дальше уже будет все совсем просто.
P.S> Hermes agent предпочтительнее у него есть десктопная версия

foxyovovich
03.07.2026 05:59Что за машинка на последнем фото?

MountainGoat
03.07.2026 05:59По виду - FriendlyElec NanoPi R2S
Гопота предлагает аналоги:
| Device | Ethernet | USB-C Power | Other Ports (may be hidden) | |--------|----------|-------------|----------------------------| | **GL.iNet Brume 2 (GL-MT2500A)** | 1 WAN + 1 LAN (both GbE) | Yes | 1× USB-A on side | | **Radxa E25** | 2× 2.5GbE | Yes | microSD, optional internal headers | | **Orange Pi R1 Plus** | 2× GbE | Yes | USB-A, microSD | | **Waveshare Mini Dual Gigabit (CM4 carrier)** | 2× GbE | Yes (Type-C) | Internal GPIO header | | **Firewalla Purple** | 2× GbE | Yes | USB-A, but it's a commercial firewall product |Хабр не умеет таблицы в маркдаун, или я?

Jholinar Автор
03.07.2026 05:59Это мне скинул в личку один пользователь, не моя затея ). Говорит `Orange Pi R1 Plus LTS`

valera_efremov
03.07.2026 05:59Очень много настроек, что отбивает желание начинать разбираться.
Есть кнопка "Всё сделать чтобы работало"? Или простой пошаговый мастер настройки?

Blacpaul57
03.07.2026 05:59Идея хорошая, но ресурсы дешевых домашних мыльниц он выест моментально

max9
03.07.2026 05:59а не надо мыльницы покупать. x86_64 бокс, чуть пожирней авторского фото стоит 7-10к. вставляете в разрыв перед вай-вай роутером и все. ну мак еще склонить для упоротого провайдера.

Lucifurry
03.07.2026 05:59Ъуь, как вижу цветастые несуразные градиенты в юае - сразу понимаю, что верстка навайбгажена) как же много в последнее время плодится нейрослопного дизайна..
Господа, вайбкодеры, может хватит воспринимать юайки с вайбом "дорохо-бохгато и ваще как неоновый киберпунк" за хороший дизайн?)
А тулза мб и хорошая, просто сетую на сегодняшние реалии разработки интерфейсов)

Jholinar Автор
03.07.2026 05:59С развитием ИИ появился модный тренд - шеймить всех подряд "вайбкодерами".
Как по мне есть разница - когда "вайбкодит" условно человек вне области программирования и когда профессиональный разработчик ПО. В обоих случаях это инструмент, разница в том, кто как его использует и с каким опытом за плечами.
Мне как 40 летнему разработчику с 20-летним опытом программирования не очень понятны (и что уж скрывать - не приятны) подобные обвинения. Использую я иишки для ускорения своей работы? Ну конечно использую, я же не идиот. Это все равно, что откреститься от какой-нибудь ide типа vscode и объявить, что теперь я провославно пишу только на бересте, ибо это true-кодинг, а вы все пуси с этими подсказками intellisense и вот это вот все.
Насчет, свистелок-перделок в веб-морде - я, кстати, как раз и не ui-разраб (всю жизнь backendил), и очень не люблю верстку - это моя слабая сторона, по этому как раз вебморда именно что кажется иишным "произведением искусства" (потому что прошу тот же клод сделать то, что самому буквально лень делать, ибо убью тупо вечер на это). Отметил-пометил себе, цифровой раб получит по жопе за черезмерную кретивность.
Честно, это все проект выходного дня и абсолютно для собственного развития и поддержания сетевых знаний (раз уж РКН палки в колеса вставляет, почему бы не использовать эту возможность).
В противном случае, лично я это все итак могу написать и без всяких ИИ, только к тому времени у вас уже интернет будет по талонам раздаваться в лучшем случае.

Klione
03.07.2026 05:59Немного надоедает такое отношение к нейросетям. Не зря заминусовали коммент. Критикуешь - предлагай. Ребята разбираются в своём деле с точки зрения программного обеспечения и работы всего нужного для создания такой вещи. Даже если UI рисовала нейросеть, что с того? Не умеют ребята сами рисовать, нет у них художника, как и нет денег на него. Может раз ты такой критикан и дашь им денег на художника? Я вот делаю свою игру мечту, но я вынужден пользоваться нейросетями. Я ж не плотник, пекарь и аптекарь. Рисовать не умею и денег нет на художника. А мечта есть и я иду к ней.

Radmin
03.07.2026 05:59Боже, как же хорошо всё в этой статье. И новые фичи, по сравнению с тем, что я помню с прошлого раза, просто нереально логичные и нужные, и описано всё по каждой подтеме максимально понятно и ожидаемо – просто читаешь с мыслью: "во, да, я бы именно так и хотел", и отдельное спасибо за неблагодарную работу в направлении mtproto...
P.S. Редко пишу такие слюнявые комментарии, простите. Но зато от чистого сердца.

Jholinar Автор
03.07.2026 05:59Спасибо большое за фидбек, дружище ). Очень приятно, когда не лень оставить положительные комментарии - это многого стоит. Классика жанра, когда все работает, то и нет смысла идти что-то куда-то писать об этом. Негативные же оставляют люди, получившие плохой опыт. А "художника обидеть может каждый" ).
Спасибо, это правда важно - важное ощущение, что кому-то было полезным.

exzon
03.07.2026 05:59если стоит подкоп /подкоп плюс не сломает ? Если для теста посмотреть )

Jholinar Автор
03.07.2026 05:59если честно, я не сильно изучал подкоп. Пересечения и конфликты возможны, потому что все пытаются перехватывать, маркировать и ломать траффик в netfilter. Я старался сделать b4 максимально нейтральным, чтобы он не конфликтовал с другими приложениями, но полностью гарантировать такое не могу.
Из положительного - при старте b4 добавляет свои правила в таблицы, а при выходе - удаляет все, что там надобавлял, приводя систему в прежнее состояние.

qwef
03.07.2026 05:59
Ты должен был бороться со злом, а не примкнуть к нему! 
zaelcovsky
03.07.2026 05:59вспомнился Паша Техник, захотелось процитировать

Jholinar Автор
03.07.2026 05:59Да, мне тоже не очень нравится перевод, но это буквально blackhole - затычка из xray, а мне ее концепция всегда нравилась :). Перевел тупо в лоб как есть.

vagon333
03.07.2026 05:59Их есть у меня. Весь этот веб-интерфейс - на самом деле просто клиент поверх REST API. Всё, что вы делаете кнопками, точно так же делается обычными HTTP-запросами. А значит, B4 можно не только настраивать руками, но и встраивать во что угодно своё - скрипты, автоматизацию, мониторинг, свою собственную морду, если моя вам не по душе.
А слабо еще встроить MCP сервер, чтобы можно было создавать 'Сеты' в среде разработки, типа Cursor или Claude Code?
Я бы еще и Browser Extension подтащил для интеграции с чат-ботом, но это уже более сложная задача.
Jholinar Автор
03.07.2026 05:59Не знаю, почему твой коммент заминусовали. Я абсолютно открыт ко всем запросам. Вариант B4, который задумывался базово мной, давно ушел в историю, все фичи, что там сегодня - это буквально доработки, pull-реквесты, идеи и запросы сообщества, которые появились по мере использования.
Насчет MCP, я просто не очень понимаю, какой в этом смысл? Ну сгенерит он тебе сет, а при чем тут разработка в ide? Как буд-то более логичная история, это через токены напрячь Иишки подбирать сеты для конкретного сайта в рабочем b4 инстансе, но даже тут возникает куча проблем.
Кстати, я прикручивал поддержку ии в веб морде, но просто было интересно как это все работает. Дальше чем динамических tooltip дело не зашло, оставил до лучших времен (авось кто-то что-то предложит позже).


vagon333
03.07.2026 05:59Насчет MCP, я просто не очень понимаю, какой в этом смысл? Ну сгенерит он тебе сет, а при чем тут разработка в ide? Как буд-то более логичная история, это через токены напрячь Иишки подбирать сеты для конкретного сайта в рабочем b4 инстансе, но даже тут возникает куча проблем.
Рассматривай IDE не как среду разработки, а как чат-бот, который может прочитать все возможности конфигурирования твоего сета через MCP, понять назначение каждой опции и сгенерить/исправить Сет.
Сет меняется:
- либо с автоматическим сабмитом в твоё приложение,
- либо с выдачей тебе некоторого файла для импорта вручную.
Рассматривай MCP как API для чат-бота.
Чат-бот может запросить возможности твоего приложения через MCP, получить от тебя задачу в чате и сгенерить согласно задачи и возможностей обратно через MCP новую настройку (Сет), либо подправить текущую или целую группу текучих настроек (Сет).
Browser Extension открывает настройки твоего приложения через бесплатный чат-бот.
Я могу показать чат-бот, который управляет серверами через SSH и работает с базами через сиквельные запросы, но эта задача чуток сложнее.

Djaler
03.07.2026 05:59Было бы круто иметь UI отдельно от самого сервиса, как сделано в https://github.com/nfqws/nfqws2-keenetic, чтобы можно было через этот самый UI управлять состояним сервиса без необходимости через SSH делать /opt/etc/init.d/S99b4 start/stop

Jholinar Автор
03.07.2026 05:59Хм, а в чем практический смысл? Мы в шаге от запроса поддержки нескольких node?)
Я понимаю, о чем речь, но концептуально не совсем попадает под текущие возможности. `/opt/etc/init.d/S99b4` мало отношения имеет непосредственно к b4, это просто системный отдельный скрипт для контроля сервиса под конкретное окружение. Вебморда это полноценная часть b4 и просто фича непосредственно поднимаего сервиса.
Тут скорее надо смотреть в сторону расширения возможностей под разные окружения, типа добавить кнопки в merlinwrt/openwrt странички.
Кстати, вроде я помню, что в openWRT где-то буквально можно сделать то, что тебе нужно - стартануть и заглушить конкретный S99b4.
Djaler
03.07.2026 05:59У меня сходу не получилось настроить B4, чтобы пересесть с вышеупомянутого nfqws2-keenetic. Какие-то стратегии подбираю под домен, но не заводится, а в nfqws общий конфиг как-то работает. Но это дело третье, надо разбираться.
Юзкейс у меня такой, что установлено сразу и то и то, и в рамках экспериментов нужно переключаться с одного инструмента на другой - вместе они вряд ли могут адекватно работать. И вот один инструмент позволяет управлять своим состоянием из UI, а другой нет - приходится подключаться к роутеру по SSH и переключать там.
Согласен, юзкейс не самый полезный, но было бы удобно

Djaler
03.07.2026 05:59Telegram Bridge Mod не завелся, хотя MTProto прокси работает. Возможно, каких-то настроек не хватает для Bridge Mod, как можно отладить?
pewpew
В каком будущем мы живём.... 10 лет назад никто бы и подумать не мог, что для того чтобы просто зайти в интернет надо обходить витиеватые ограничения, за которые мы сами же платим налоги, чтобы нас ограждали от лишней и не нужной нам информации. И ведь одно дело ограждают. И другое - гео-ограничения с другой стороны тоже приходится обходить. То "вам из этой страны сюда нельзя", то какой-нить Озон или Почта России работает только внутри страны.
Прорвавшись в этот интернет надо ещё маршрутизацию так настроить, чтобы не пришлось постоянно включать-выключать обход блокировок.
И этот набор костылей каждый день то работает, то нет, а то и вообще надо заново искать обходные пути, чтобы опять хоть как-то работало.
NineInchNail
Странно, но уже в 2011-12м все начало приобретать очертания, в 14м и далее уже стало все предельно ясно, и не только насчет "наших" начальничков, а и других всех тоже. Далее везде.
alexanderniki
А что странного?
Johnny_Depp
"назад никто бы и подумать не мог", так большинство не увидит даже если их тыкать в это, ещё начнёт высмеивать.
Знаю некоторых персон кто говорил людям в промежутке между 10 и 14, что интернет ваш начнут контролировать.
Ну это и так понятно, такой пласт общения людей и т.п. Как не захватить такое
Zanaffar
"что интернет ваш начнут контролировать. "
Проблема в том, что это не контроль интернета, а его целенаправленное уничтожение. Контроль подразумевает управление. А тут делают так, что пользоваться невозможно в принципе.
Johnny_Depp
Контролирование включает в себя в том числе и ограничение доступа к интернету
Blacpaul57
Зато у нас целое поколение сетевиков выросло на попытках зайти на заблокированные сайты. Отличная школа жизни..
iceeeeeeeeEeeeeeeeeeeeee
У меня друг живет в британии, у них порно без фото лица или паспорта не посмотреть, ввели судебный запрет на шифрование айклауда в облаке и запрет общаться голосом в играх сделали) Все с впна сидят) Велком ту дивный новый мир)
cmyser
Несравнимые ситуации
Svinna_golova
Вся эта движуха идёт уже очень давно. По сути нынешняя сеть мобильной связи с централизованным ядром сети подразумевает контроль за трафиком, придумали первопроходцы из США. Интернет и так по паспорту, либо по аккаунту который легко идентифицировать. Шутки шутками, но например в Англии реально гигантский сегмент интернета заблочен, если тебе нет 18 или не хочешь светить паспорт. К сожалению наши власти в России успешно используют цензуру и прочие новатораство запада