Это у вас из-за реализации протокола в конкретном клиенте или настроек клиента. В Naive мультиплексирование есть из коробки, потому что встроено в HTTP/2. Автор Naive в документации настаивает, чтобы использовалось только 1 соединение до прокси (а внутри него уже все конечные соединения).
–insecure-concurrency=
Use N concurrent tunnel connections to be more robust under bad network conditions. More connections make the tunneling easier to detect and less secure. This project strives for the strongest security against traffic analysis. Using it in an insecure way defeats its purpose.
If you must use this, try N=2 first to see if it solves your issues. Strongly recommend against using more than 4 connections here.
Автор sing-box по сути цитирует этой в своей документации:
insecure_concurrency
Number of concurrent tunnel connections. Multiple connections make the tunneling easier to detect through traffic analysis, which defeats the purpose of NaiveProxy’s design to resist traffic analysis.
Так что в нормальном клиенте по умолчанию до прокси будет только 1 соединение, как и задумано протоколом. Можно вручную установить 2 или более (что теоретически может улучшить работу на некачественном интернете), но автор не рекомендует.
Сегодня как раз решил поиграться с naive по статье hdrover, с телефона оператор мегафон всегда держится один коннект ESTAB 0 267631 [::ffff:<IP сервера>]:443 [::ffff:<IP телефона>]:6224 users:(("caddy",pid=124983,fd=8))
Еще в sing-box есть anytls, который тоже без проблем работает.
Я правильно понимаю, что его мультиплексирование не очень совместимо с сибирской блокировкой? У меня он вроде бы создает по отдельному соединению на каждый хост со страницы, и эти соединения очень долго висят (настройки таймаута не сильно влияют).
Не совсем. Anytls использует долгоживущие соединения и переиспользует их. VLESS Reality открывает новое соединение на каждое новое конечное. С anytls, если есть старое свободное соединение с прокси, то будет использоваться оно, а не создаваться новое. В итоге, новых соединений меньше, чем с VLESS Reality.
Еще есть дополнительные настройки:
idle_session_check_interval - интервал проверки неактивных сессий (30 секунд по умолчанию)
idle_session_timeout - через сколько секунд неактивности закрывать старые сессии (тоже 30 секунд)
min_idle_session - сколько держать неактивных сессий про запас (по умолчанию 0)
AnyTLS нормально подойдёт для совсем лёгкого использования. Я делал нагрузочное тестирование и получил в Wireshark 36 tls сессий (пакеты с ClientHello со sni аутбонда)
Настройки AnyTLS:
"min_idle_session": 1
"idle_session_timeout": "600s"
"idle_session_check_interval": "60s"
При таких настройках вполне быстрый и отзывчивый протокол. Но только, если у вас не так много единовременно маршрутизируется в него
тестирование
date
for u in
https://netflix.com
https://vmware.com
https://adobe.com
https://netlify.com
https://redis.io
do
for i in $(seq 1 5); do
curl --http1.0 -I -s “$u” >/dev/null
done
done
sleep 120
date
for u in
https://salesforce.com
https://habr.com
https://x.ai
https://intel.com
https://terraform.io
do
for i in $(seq 1 5); do
curl --http1.0 -I -s “$u” >/dev/null
done
done
5 сайтов по 5 раз, потом перерыв и снова 5х5. Плюс специально листал тг каналы с большим количеством медиа. Я пытался воспроизвести свою предположительную нагрузку) Ну и в фоне что-то ещё какие-то устройства были.
Но до вашей жёсткой нагрузки, да, далеко))
я ещё делал для себя сравнение по скорости AnyTLS и Naive
Получилось как-то так: iperf3 Напрямую OpenWrt ↔ ВПС (Германия, 1 гбит), скорость моего провайдера заявлена 500 мбит:
МГТС Москва скорость даже до Selectel режет до 30 мегабит в секунду, когда все российские speedtest (яндекс, РТ, МГТС) показывают 500 мегабит. До зарубежных серверов реальная скачка 2-3 мегабайта в секунду.
До недавнего времени Наив работал через QUIC (Qwerty, Билайн, Мос. обл.). Сегодня проверил, везде не коннектит. Знающий народ, подскажите. Может, какие-то настройки поменять?
Ребят, привет, я мало что шарю, не кидайте палками. Смог установить naive по одному проекту через панель на свой впс. Проблема: через мой каринг на айфоне соединение то работает, то нет. Иногда пишет “тайм аут” и вылезает красный треугольник. От мобильной сети и проводов это не зависит, может статься в любое время дня и ночи, но как правило больше часа-двух стабильно не работает. Есть ощущение что каринг как клиент обрабатывает его хреново. Тестил у друга на телефоне, на shadowrocket, почти два дня продержали - ни одного отвала. Реально ли лучше потратиться на ракету, или я просто чего то не догоняю в настройках каринга? У обоих айфоны.