Обход цензуры через reverse proxy и sing-box

Добрый день! Подскажите, как лучше поступить. Есть сервер в Европе без внешнего IP, за NAT. Есть сервер в РФ с белым IP, доменом и прочим, на котором стоит sing-box (по историческим причинам, с уже настроенным нетривиальным роутингом для существенного числа родственников пользователей). На нём нужно как-то организовать outbound через тот самый зарубежный сервер.

Самый простой вариант, SSH + reverse proxy, имеет понятные проблемы. Можно сделать UDP-соединение через rathole или что-то подобное, и туда уже заворачивать Hysteria2. Насколько подобная комбинация имеет смысл в плане обхода DPI? Хочется замаскировать, чтобы для цензора это выглядело как QUIC на легетимный сайт в РФ.

Связка из 2х серверов хорошая, а вот маскировка под UDP (особенно QUIC) это вообще плохо.

QUIC это очень ресурсоемкий протокол для тспу, они могу его разобрать и достать оттуда ваш SNI (рф сайт) чтобы пропустить соединениие. Однако QUIC уже банили банальным блоком всего трафика udp на 443 порт без разбора

Используйте TCP/Vless и более того, там как раз есть документация по работе за NAT+Reverse proxy, никакие ssh-тунели не нужны

Это Xray, а у него sing-box и там, насколько я знаю, подобной технологии нет

Спасибо, не знал, что там есть поддержка reverse proxy. Но увы sing-box эту фичу для vless не подерживает (на github issue уже 4 года).

Да, ради reverse proxy пришлось переехать на ядро xray вместо sing-box. Все настраивал по выложенной выше оф. документации, там нюансы между вариантами в маршрутизации, параметры для самого reverse-подключения одинаковые и простые.

Единственные большие грабли, на которые ушло много времени - у меня outbound задействован в прямом режиме, если одновременно задействовать его же в режиме reverse (не просто поставить тэги, а включить на удаленном узле route и пустить какой-нибудь трафик в этот reverse), в этот момент трафик в прямом режиме ходить перестает. Есть гипотеза, что один конкретный outbound в моменте только в одну сторону может работать, либо прямой, либо reverse. В документации такого не нашел, но на практике у меня так. Стоит убрать route для reverse-трафика на удаленнном узле, трафик в прямом режиме сразу начинает ходить. Сами теги влияют на то, что outbound подключение висит в постоянном режиме.

В итоге просто два outbound, одно в прямом режиме, другое reverse, так все работает в обе стороны

Зависит от региона и оператора. ТСПУ у моего оператора блокирует QUIC “с разбором”, а не банально весь порт.

Тут недавно постили whitepaper, в котором утверждается что с 2023 г. на большинстве наблюдаемых линков отказались от полной блокировки протокола в пользу SNI-based.
E: там правда по большей части опираются на отзывы юзеров и данные Cloudflare, тестовых точек мало

https://ntc.party/t/on-russias-early-introduction-of-quic-sni-censorship-foci-2026/25670

в конце 23г ещё были проблемы, но уже очень давно quic работает
https://ntc.party/t/6317

ещё в 2020 или 2021 помню похожие проблемы