Как подружить XTLS Reality с Tor?

В тор браузере TLS_ERROR при подключении через VPN. Включение мостов помогает, но ценой отключения настроек EntryNodes & StrictNodes в torcc, вместе работать не хотят

Как и рыбку съесть и TLS_ERROR решить без использования мостов? На премиум амнезии TLS_ERROR не вылезает, она сейчас скорее всего OpenVPN over Cloak юзает либо Trojan. Reality с Tor без bridge не работал никогда, год назад та же проблема была. Настройки в X-UI дефолт для данного конфига, как у всех

Релейтед тред Tor через vless без нужды в мостах - #35 by Verve тут предлагали всякие танцы с бубном по типу webtunnel (не оч) и прокси

  • У вас должен быть уже настроен vless outbound, или что-то неблокируемое до VPS. Назовём это “proxy”.

  • Создаём второй локальный socks inbound. Назовём “socks-tor-in”.

  • Создаём ещё один outbound. Нужен такой, где трафик выглядит как случайный набор байт. Например, shadowsocks. (На VPSке соотв-но тоже должен быть). Назовём “ss-tor-out”.

  • В Tor Browser: ставим в настройках прокси “socks-tor-in”.

Это даёт эффект, что “выхлоп” outbound направляется не сразу наружу, а в следующий outbound, который тут указан (всё ещё внутри прокси).
Т.е.в нашем случае получается:
Tor → Shadowsocks → Vless → VPS → (всё разматрёшивается обратно) → internet.

Вопросы:

  1. Ведь я на эту tor-inbound прокси буду подключаться через VPN свой, т.е. получится как змейка в тетрисе когда сама себя съедает, какая-то хуйня выходит

  2. Какой протокол для tor-inbound-proxy выбрать в x-ui: tunnel/http/mixed?

  3. Поскольку сокс не шифруется, DPI распознать что это подключение к тору сможет, я пральна понимаю?

  4. В чем смысл параметра sockopt? Гуглил, не понял

Попробуйте на клиенте и сервере отключить сниффинг либо поставить его в режим “routeOnly”: true

у меня отключен он вообще

Делаю по гайду @Verve . Не понимаю как это работает. Поднял обычный сокс и шадоусокс. Проверяю ss-tor-in курлом - работает

image

Дальше пытаюсь зароутить траф с ss-tor-in в ss-tor-out, x-ui не дает, т.к. шадоусокс был поднят во вкладке inbounds. Ок, создаю во вкладке outbounds ss-tor-out, ставлю ему dialProxy - direct

image

Ставлю роут:

image

Ничего не получается, curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to ifconfig.me:443
Как диагностировать в чем я накосячил? Пытался напрямую во вкладке с подключениями в sockopt прописывать цепочку, ничего не меняется. Запутался уже

Выглядит как какой-то баг в xray-core, возможно даже этот.
Ранее я без проблем использовал следующую схему в sing-box (сервер и клиент):
весь системный трафик → tun inbound → vless-reality-vision → vps → интернет
Сейчас перешел на anytls, стало отзывчивее, никаких проблем с tor (и другим софтом).

Делать shadowsocks через vless это какой-то ужасный и прожорливый хак, не надо так. Попробуйте альтернативные варианты: отключить vision (если используется), полностью заменить vless на shadowsocks или другой встроенный аналог .

Если тор нужен только для доступа к безопасным ресурсам (условно книжки скачивать с z-library), то можно через fakeip сделать загрузку .onion сайтов в обычном браузере (с тором на vps).

Лучший вариант: поменяйте ядро. В xray-core серьезные проблемы с культурой разработки и документацией. Последней для чего-то нетривиального можно сказать что нет, ответы находятся только ковырянием исходного кода посредственного качества.

то что в гитхабе это другое, хотя будто бы тоже сталкивался с таким на амнезии. там вообще залупа и иногда по несколько раз перезагружать страницу приходилось, на это похоже

ss детектится dpi, trojan медленнее и тоже детектится, какие там еще аналоги взять можно даже не знаю. xtls vless reality это state-of-the-art связка

  1. попробовал через trojan (на xray-core) - один хуй TLS_ERROR

  2. попробовал sing box - та же самая ситуация, tls error без бриджей

то что хак ужасный согласен, но что имеем. как отключить vision? в v2box он просто not set что видимо значит установку по дефолту, поменять нельзя. в xui тоже не вижу, в config.json ни слова про vision. так и не понял вообще что в этой связке есть что, что такое xtls, что такое vless, что такое reality, что такое vision лол. xtls - форк tls для обхода блокировок, vless - “протокол общения” а-ля http, xtls-reality - улучшенный xtls 2.0 для маскировки, а vision?

Последняя версия ss выглядит как случайный UDP трафик, т.е. не сильно отличается от amnezia wg. Trojan действительно медленее, но достаточно быстрый для всех прикладных задач, в целом хорошо работает. Не знаю откуда у вас информация про “детектится”. Помимо РФ все это используется в Китае по сей день.

Напомню также, что у нас никого не волнует состояние мелкого бизнеса и сопутствующий урон. В сторону hetzner одно время шейпили весь трафик, некоторые подсети cloudflare просто заблокированы, к ряду рублевых зарубежных VPS режется TLS. Здесь постоянно всплывали темы вида “они научились обнаруживать X!”, однако в итоге все сводилось к простым блокировкам (или замедлениям) без разбора. Это я к чему - не переусложняйте.

Вы запутались в возможностях xray-core (не удивительно с такой-то документацией).

vless это действительно протокол общения между клиентом и сервером, но он не имеет отношения к “транспорту”, механизму передачи данных, коим может выступать raw (tcp) / xhttp / etc

xtls-vision - своеобразное дополнение к vless (sub-protocol), которое для TLS v1.3 убирает TLS-in-TLS при обмене данными. В нем что-то иногда ломается, об этом как раз в github issue писали. С пустым flow оно не используется.

reality позволяет подменить TLS характеристики сервера, можно выдать себя за какой-нибудь сторонний сайт.

Я вам крайне НЕ советую использовать различные ядра в паре клиент-сервер. Мейнтейнеры xray и sing-box враждебно настроены друг к другу, со временем совместимость будет ломаться все сильнее.

В TLS_ERROR я по прежнему подозреваю xray-core (сервер). Помочь с этим не смогу. Советую сделать тему в discussions репозитория xray-core. Опишите проблему, выложите json конфигурации. Веб панели часто неявно что-то меняют (поэтому я их не использую). Возможно ошибка в конфигурации, возможно программный баг.

Или полностью перейдите на sing-box. Там есть кроссплатформ туннель без всяких tun2socks, нормальное мультиплексирование, гибкие route правила, возможность использовать clash-ui и т.п. Xray-core в сравнении с очень костыльный.

Везде свои плюсы-минусы. Бокс “принципиально” не поддерживает некоторые топовые протоколы, вроде xhttp. Ещё там своеобразный автор, который периодически от версии к версии шатает опции конфига (для любителей пердолинга). Но да, есть свои преимущества, например нормальная поддержка wireguard, per-process routing.

Документация на мой взгляд одинаково непонятная и там, и там. Все выясняется по классике методом тыка и чата гпт.

@watashi По существу вопроса отписал в другой теме.

Скорее реализация xhttp настолько костыльная, что никто не хочет (или не может) адекватно это встроить куда-либо не потянув весь xray-core за собой. Насколько помню в mihomo тоже забили на xhttp, хотя vless encryption добавили.

Автор sing-box придерживается хороших практик версионирования. Все breaking changes случаются только при мажорном бампе версии, притом не сразу, а с громкими предупреждениями (минимум 1 версию deprecated фичи сохраняются с кучей варнингов).
В xray-core теперь используются даты. Смысла в них нет. Очень приятно когда "xPaddingBytes": "-1" резко становится невалидной опцией и все старые клиенты отваливаются, а в changelog ни слова… И это еще повезло, “громко” сломалось, очевидно где проблема. С TLS ошибками или мультиплексированием бывает совсем туго.

В общем устал от всех этих нюансов с супер-пупер хитрыми протоколами и транспортами. Ради удобства и стабильности перелез на sing-box. Через CDN помимо xhttp пролезают старые v2ray транспорты, притом скорость одинаковая (скорее всего упирается в ограничения CDN). А для чего оно еще было нужно? Ах да, какие-то теоретизированные статистические детекты обходить через разбиение uplink/downlink. К этому времени мы тут будем на гужевых повозках ездить, так что не страшно.

Сам протокол довольно простой и реализуется буквально на коленке, ничего тащить за собой там не надо. Это NIH-синдром в чистом виде, других объяснений нет.