Обновить

Комментарии 42

Sing-box великолепен использую его уже несколько лет..очень простая и быстрая настройка .. Позволяет очень многое в том числе буквально прям в конфиге писать правила маршрутизации для доменов..ip..или использовать списки geoip ..делать для них разные аутбаунды..причем аутбаунды могут иметь совершенно другой протокол) короче очень рекомендую) на мой взгляд более удобного инструмента в нашей нынешней ситуации просто нет)

На Windows оригинального удобного клиента нет.

What is Hiddify app?

A multi-platform proxy client based on Sing-box universal proxy tool-chain. Hiddify offers a wide range of capabilities, like automatic node selection, TUN mode, remote profiles etc. Hiddify is ad-free and open-source. With support for a wide range of protocols, it provides a secure and private way for accessing free internet.

В статье упомянут Hiddify. Написано про то, что это сторонний клиент, который использует ядро sing-box. Ядро там обновляется редко, настроек мало. Оригинального же sing-box с GUI с его мощным конфигом под Windows нет. Об этом написано в тексте.

Так это же open source, комитте, форкайте, вайбкодьте. )

Клиент как клиент, работу свою делает.

Throne обновляется не редко, сейчас под капотом 1.13.2

На windows 11 последняя hiddify 4.1.1 не работает.

Хотел еще изначально вставить мнение автора sing-box о VLESS. Подумал, что в статье будет лишним (не по теме). Но для комментариев пойдет. Его претензии:

  • Вред чужим серверам — каждое новое подключение к прокси создает паразитную нагрузку на сервер, чей домен используется (и это же создает вам дополнительную задержку). При каждом новом подключении к такому прокси, прокси сначала соединяется с доменом, указанном в конфиге (под который маскируемся). Если этот сторонний сайт не ответил, то и прокси не будет работать.

  • Решение несуществующей проблемы — на самом деле ни РКН, ни GFW не особо смотрят на сертификаты. Насколько я знаю, у нас еще никого не блокировали за самоподписанные сертификаты. Да, SNI смотрят, но не более.

  • Первоначальный отказ от мультиплексирования (лишние подключения, лишние задержки). Да, сейчас уже используют xhttp, но это уже другое.

  • Использование uTLS, который вроде бы и маскируется под конкретный браузер, но делает это очень топорно. Имитируем буквально один пакет, а всё остальное другое.

  • Вторичность архитектуры — Sekai называет сам протокол VLESS низкокачественной копией Trojan. По его мнению, все эти надстройки (Vision и Reality) можно было точно так же прикрутить к старому доброму Trojan, а сам по себе VLESS не принес никаких реальных инноваций.

По его мнению

Её.

Вред чужим серверам — каждое новое подключение к прокси создает паразитную нагрузку на сервер, чей домен используется (и это же создает вам дополнительную задержку). При каждом новом подключении к такому прокси, прокси сначала соединяется с доменом, указанном в конфиге (под который маскируемся). Если этот сторонний сайт не ответил, то и прокси не будет работать.

Есть другой вариант: открыть несколько пайпов и держать их незакрывающимися (делать хелсчек), пайпы (outbounds) объединить в “type”: “urltest” и юзать потом его с опцией “interrupt_exist_connections”: false

Большая часть этих пунктов - не про «вред VLESS», а про «вред» Reality и других штук (типа uTLS), никакого отношения к самому VLESS не имеющих.

про п.2 классическое: сейчас не смотрят, а в любой момент могут начать смотреть. «Решать проблемы по мере их возникновения» в вопросе обхода блокировок и противодействия цензуре - это плохая и очень опасная практика.

Сейчас когда говорят VLESS без уточнения, то имеют ввиду именно VLESS + Reality. Как и обычные прокси называют VPN.

Сейчас когда говорят VLESS без уточнения, то имеют ввиду именно VLESS + Reality.

Вообще даже близко нет. Ну и мы все-таки не на пикабу, а на профильном техническом ресурсе, надо аккуратнее с терминами и формулировками.

Еще про sing-box vs Xray и про автора sing-box. Многие считают его токсичным (неохотно идет на контакт, часто игнорирует чужие pull request, жестко защищает свое детище от чужого вмешательства). Впрочем, это не всегда плохо (все мы слышали про характер Линуса Торвальдса). Автор Xray, наоборот, часто общается в комментариях к issue, предлагает какие-то решения, вносит правки в угоду пользователям. Популярности Xray поспособствовал протокол VLESS (в том числе благодаря статьям на хабре), который появился именно там (а потом уже был интегрирован в sing-box).

Спасибо за статью. Месяц назад очень пригодился бы хороший готовый конфиг. Было потрачено много времени и нервов на попытку настройки nekoray_core на линуксе. В итоге через гуй всё стабильно, быстро и без ошибок, но сервисом запускать core так и не осилил. Плюнул, перешёл на другое ядро и стэк, за 10 минут настроил и теперь оно просто работает, как должно. Быстро, стабильно, перманентно.

На что вы перешли, не подскажете?

xray, под протоколы, которые не любит sing-box. v2raya для ui

А на что перешли?

Автору спасибо. Познавательно для затравочки.

Но в современных реалиях, когда любой российский сайт, и любое российское приложение, могут отслеживать всю эту маршрутизации по IP и доменам, просто добавив коннект на западный IP и домен, как это реализовали в скаме, сложные настройки маршрутизации видимо и не требуются. Актуальной становится только маршрутизация на уровне как раз приложений на смартфоне или на Windows/MacOS.

Так что большой и страшный конфиг можно и подсократить.

Схема для примера. Плюс для примера мессенджер Max идёт всегда в direct как на уровне исключения из tun, так и на уровне маршрутизации по процессам. По этому примеру можно пустить, например, Firefox всегда через прокси, а условный Chrome всегда напрямую. Все варианты конфигов не рассмотреть (да и ситуации у всех разные), хотелось дать минимальную базу для старта.

Так форки этот тоже умеют, только в виде галочек и переключателей. Не нужно писать конфиг, просто тыкнул хром ходить через впн, фф не ходит через впн и все.

Другой интересный момент, к примеру на андроид приложения видят, что есть подключенное vpn-соединение, на винде тоже видны были, просто не все это отслеживают, но такие приложения как банки точно проверяют, макс уверен так же ну и разные там госуслуги думаю тоже могут молча чекать

Насколько мне известно sing-box клиент для iOS есть свежий, но чтобы получить его надо немного задонатить (сколько не знаю). подробности на этой странице: https://sing-box.sagernet.org/clients/apple/

Да, об этом написано в статье. Нужно задонатить любую сумму, но обязательно через github. После этого вступить в телеграм-канал и дать их боту ограниченный доступ к своему github. После этого бот добавит в спонсорский чат, где будет ссылка на TestFlight. Проблема в том, что sing-box будет постоянно обновляться, нужно будет постоянно заходить в приложение, принимать правила и каждый раз заново запустить ядро кнопкой. Не очень удобно, но работает.

В качестве современного решения автор sing‑box видит протокол NaiveProxy, который использует код сетевого стека Chromium, что хорошо маскирует трафик под обычный браузер

Это очень интересно! Можете подробнее рассказать? Сам сижу на sing-box, настроил как хочу, всё устраивает. Доку вкуривал довольно долго... :) Вот про NaiveProxy не понял, как/чем он лучше VLESS+reality over ws

Этот протокол добавили в sing-box недавно. Вот основной репозиторий: https://github.com/klzgrad/naiveproxy
Тут просто взяли весь сетевой стек от chromium и стали использовать его для проксирования. Со стороны трафик один в один соответствует трафику браузера (в плане всевозможных отпечатков). Не нужно никаких uTLS. Встроенное мультиплексирование. Плюс легко настраивается fallback. Нужно настроить Caddy перед sing-box, но там буквально несколько строк конфига. Разделение на фейковый сайт или прокси проходит через http-заголовок авторизации. При активном пробинге открывается сайт. Если клиент передает нужные логин и пароль, то идет проксирование.

Протокол-то добавлен, но я сильно сомневаюсь, что автор sing-box перетащил к себе всю целую реализацию сетевого стека chromium, а скорее всего он просто запилил соответствующий по формату протокол, таким образом потеряв основное преимущество naiveproxy.

Там cronet в комплекте идет.

Он именно взял оригинальную реализацию. Более того, теперь sing-box для Windows поставляет с dll, без которой Naive не работает (libcronet.dll).

Ещё, заметил, что sniff довольно сильно просаживает пропускную способность канала (да, понятно, зато можно ru отлавливать). Прям показательно просаживает. До снифа - почти 90% утилизации максимальной пропускной способности. После снифа - около 20-30% (правда я в dns по tls хожу)

Это у Вас какая-то персональная проблема. Вот это прошло через синг со сниффом на канале в 2.5 гбит -

Download 2505.04 Mbit/s
Upload 2465.92 Mbit/s

Шикарно! изучу, где накосячил.

Ещё хорошо бы подтюнить vps по сетевому стэку

net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 5
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 16384
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_slow_start_after_idle=0
net.core.netdev_max_backlog=16384
net.core.rmem_max=16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
net.ipv4.tcp_fin_timeout = 30

А не страшно ставить такого клиента не из официального Google Play или App Store?

Я изначально, когда перешел с iOS на Android, тоже боялся ставить из F-Droid. Но потом понял, что из F-Droid даже безопаснее, чем из официального магазина. В F-Droid всё собирается из открытых исходных кодов (100% кода должно быть открыто). И гарантируется, что сборка именно из публичного кода. Что за бинарник в магазине Google - никто не знает. Так что при наличии выбора я всё ставлю теперь из F-Droid.

Что за бинарник в магазине Google - никто не знает.

Что-то сомнительно, я для браузера делал расширение с селективной маршрутизацией (т.е. чтобы один сайт шел через один прокси, другой сайт через другой прокси, а YouTube/Netflix - напрямую). Так в Chrome Store каждая новая версия проходит ручную модерацию, даже если несколько стилей поправил (в Firefox после первоначальной модерации быстро проверяют, видимо на автомате diff смотрят)

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

На всякий случай укажу несколько недостатков sing-box с которыми столкнулся сам..ни смотря на то, что считаю его сегодня лучшим решением....

  1. Sing-box работает в юзерспейсе со всеми вытекающими т.е. если захочется использовать его на роутере с жирным каналом в 1 гигабит..то будет грустно .. Тк он использует 1 поток и в реальности грузит одно ядро .. Хотя инструменты вроде htop могут показывать загрузку всех ядер ..соответственно на двух разных достаточно производительных роутерах мне не удалось выжать из него более 450 мегабит).

  2. Еще одна головная боль это его tun интерфейс .. Во первых он поднимается далеко не во всех ОС куда можно sing-box поставить и даже на ubuntu разных версий не всегда взлетает) во вторых этот интерфейс довольно специфичен..он умеет пропускать только tcp и udp т.е. icmp и другие специфичные протоколы мимо) другими словами он не будет работать как привычный tun интерфейс как этого ожидаешь когда слышишь tun)

Он в целом умеет в ICMP, но видимо есть какие-то ограничения. Из документации:
https://sing-box.sagernet.org/configuration/inbound/tun/#loopback_address

For legacy reasons, when neither strict_route nor auto_redirect are enabled, all ICMP traffic will not go through TUN.

У меня так и не вышло заставить работать icmp...в лучшем случае отвечает сам роутер независимо от адреса который пингуешь например ))

Практические никакие протоколы, которые он умеет, не поддерживают транзит ICMP, они не на L2 и даже не L3 работают, а уровнем выше.

Если рассматривать роутер на Openwrt, то в чём отличия sing-box от пакета PBR? Я не успел до конца ознакомиться с подробностями, но кажется, что PBR делает примерно то же самое (направление трафика на разные интерфейсы), но на уровне TCP/IP-стека ядра.

В комментарии выше уже сказано, что sing-box работает в юзерспейсе.

Теплое vs красное (

2 дня увлекательного секса, но удалось написать рабочий конфиг под socks5.

Да, это только для локальной сети. Основной профит - удобство включения/выключения и возможность настроить, для каких приложений (Android) оно будет применяться. Даже если приложение вообще не работает с socks5. Например, chatgpt.

{ “dns”: { “servers”: [ { “type”: “https”, “tag”: “proxy-dns”, “detour”: “proxy”, “server”: “8.8.8.8” } ], “strategy”: “ipv4_only” }, “inbounds”: [ { “type”: “tun”, “tag”: “tun-in”, “address”: “172.19.0.1/30”, “auto_route”: true, “strict_route”: true, “route_exclude_address”: “your_socks5_proxy_ip/32”, “stack”: “gvisor” } ], “outbounds”: [ { “type”: “socks”, “tag”: “proxy”, “server”: “your_socks5_proxy_ip”, “server_port”: your_socks5_proxy_port, “version”: “5”, “username”: “yourlogin”, “password”: “yourpassword”, “udp_over_tcp”: false }, { “type”: “direct”, “tag”: “direct” } ], “route”: { “rules”: [ { “port”: 53, “action”: “hijack-dns” }, { “protocol”: “dns”, “action”: “hijack-dns” }, { “inbound”: “tun-in”, “action”: “sniff” }, { “protocol”: “quic”, “action”: “reject” } ], “final”: “proxy”, “default_domain_resolver”: “proxy-dns” } }

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации