Подскажите пожалуйста, в чем может быть проблема. Пытаюсь в 3x-ui создать еще один инбаунд, но с xhttp.
В настройках указываю порт 8443 (в системе его же открыл), но с таким портом ничего не работает.
Как только отключил существующий инбаунд на 443 и перевесил на него инбаунд с xhttp - все заработало.
Должен ли он вообще работать на отличных от этого портах?
И в догонку вопрос, порт который указывается в Target, должен всегда быть 443?
В целом, если я хочу два инбаунда, один с xhttp другой с обычным tcp транспортом, на какие порты я должен их повесить и что дополнительно сделать чтобы все работало?
XHTTP может работать на любом порту, но логично иметь его на 443 как нормальный HTTPS.
Если у вас XHTTP самодостаточный (с TLS-сертификатом и т.д.), то на клиенте port должен быть такой же как и у inbound.
Если же вам надо…
два инбаунда, один с xhttp другой с обычным tcp транспортом
то на 0.0.0.0:443 вешается обычный VLESS-TCP (с TLS), у него указывается fallback на 8443, а XHTTP-inbound слушает на 127.0.0.1:8443. В клиенте во всех случаях тогда указывается 443.
Пытаюсь настроить разделение загрузки и выгрузки, но никак не получается. Есть два рабочих клиентских конфига. Один SFY, второй - Reality. В конфиг SFY в секцию downloadSettings добавляю Reality. Делаю всё по инструкциям, но ничего не работает. Клиенты: Streisand, HAPP. Вот мой конфиг, что в нём не так? Синтаксис валидный. ID для обоих конфигов одинаковый, путь тоже.
Во внешний блок xhttpSettings добавь: “host”: “mydomain.com”, а во внутренний с реалити: “host”: “” . В остальном все ок. На всякий случай спрошу - ты же понимаешь, что трафик загрузки и выгрузки в конечном итоге должен сходиться на одном сервере? То есть нужно не просто направить его на два разных сервера, где подняты xray-core, а на один и тот же, просто второй сервер будет в качестве реверс прокси для первого. Попробуй для начала разделить потоки на одном сервере для простоты.
Попробуй для начала разделить потоки на одном сервере для простоты.
Я думал, что в режимах packet-up и stream-up потоки разделяются автоматически и секция downloadsettings нужна для разделения на разных серверах. Как тогда это сделать на одном сервере, если uid и path должны быть одинаковы?
Я думал, что в режимах packet-up и stream-up потоки разделяются автоматически
Да это так, но там используется один и тот же способ подключения (из основных настроек “streamSettings”) для обоих потоков, если явно не указать второй способ в downloadSettings. Когда ты скопировал основные настройки в downloadSettings ты по сути вручную воспроизвел стандартное поведение в режимах packet-up/stream-up на одном сервере: оба потока идут по отдельности на один сервер через один и тот же инбаунд на сервере.
Я предлагал сделать чуть сложнее - сделать на одном сервере ДВА отдельных инбаунда (для теста можно хоть два реалити инбаунда на двух разных портах 443 и 8443), убедиться, что они работают по отдельности сами по себе, и затем настраивать xhttp с разделением через них. Когда получится настроить это, после этого уже можно думать о портировании этой схемы на два отдельных сервера.
Я предлагал сделать чуть сложнее - сделать на одном сервере ДВА отдельных инбаунда (для теста можно хоть два реалити инбаунда на двух разных портах 443 и 8443), убедиться, что они работают по отдельности сами по себе, и затем настраивать xhttp с разделением через них. Когда получится настроить это, после этого уже можно думать о портировании этой схемы на два отдельных сервера.
Мне нужно знать, uuid и path у обоих inbound должен быть одинаковым?
Это в принципе ничего не меняет. Настраиваете точно так же как я выше написал: на 443 порту слушает обычный VLESS-TCP inbound который уже сейчас у вас есть, у него как fallback задается 8443, и XHTTP inbound слушает 127.0.0.1:8443. В клиенте для XHTTP настраиваете и Reality тоже.
Единственный недостаток такой схемы - не переживет блокировку TLSv1.3, это ограничение Reality.
Нет, там надо с обоих сделать фоллбек на третий инбаунд xhttp (его можно на локалхосте повесить). И на клиенте указывать path и uuid именно с этого третьего инбаунда как в основном блоке, так и в download. В общем идея в том, чтобы оба потока в итоге попали на один инбаунд, это можно сделать как фолбеками, так и через реверс прокси.
Вот два моих инбаунда в панели. Подскажите, пожалуйста, каким образом их заполнить/изменить чтобы в итоге все завелось? Я просто уже подзапутался, читая все темы.
И сюда же добавлю несколько вопросов, может на них тоже получится найти ответ:
Вчера пробовал убрать обычный TCP Reality и повесить на 443 порт инбаунд с xhttp. Как бы не танцевал с бубном ничего не завелось. В чем может быть причина?
Также пробовал создавать отдельные инбаунды на разных портах (предаварительно открывая их через ufw или вовсе отключая его), но в итоге ни на каком порту кроме 443 даже обычный TCP Reality не завелся. Сайт под который мы маскируемся не должен быть разным же для каждого инбаунда?
Специально вчера обновил панель, xray и все клиенты. Грешил уже на что-то из этого, но видимо нет..
Если вам нормально, что у вас и основной inbound и XHTTP будут работать через Reality - то у первого inbound’а (на 443) добавьте в Faalback 1 → Dest: 127.0.0.1:8443
Ну и клиент надо будет настроить вручную (прописать IP, порт 443, UUID, параметры Reality, URL для XHTTP), потому что панели тупые и в таких случаях нормально подписки генерить не умеют (раньше так точно не умели)
Вообще в чем угодно. Мы тут не телепаты. Если вы убрали Reality, то как минимум надо чтобы у вас там были указаны правильные пути до валидных TLS-сертификатов для вашего домена (или если вы обращаетесь по IP в качестве SNI - сгенерить самоподписанные и поставить на клиенте allowInsecure = false).
Опять же. Мы не телепаты. Надо видеть полные конфиги клиента и сервера, логи клиента и сервера в момент подключения (желательно с уровнем debug), и что показывает curl при попытке стукнуться по нужному домену (если не используется Reality).
насколько я помню, а fallback’ах для path идет точное сравнение (wildcard использовать нельзя), а у XHTTP путь каждый раз новый генерится для каджой сессии, поэтому если указать, то оно не заработает. пустое значение означает “для всех путей”, дальше уже XHTTP inbound разберется.
вот там уже “путь” можно указать, какой-нибудь секретный URL типа /myverysecretproxyhahaha (на клиенте он тоже должен быть указан - тот самый URL для XHTTP). “Хост” вроде не обязателен, не помню, но можно вписать ваш домен.
Расскажите, пожалуйста, о параметре maxConnections.
Правильно ли я понимаю, что это настраивается только на клиенте, и отвечает за количество TCP-соединений? tcpdump вроде действительно не уходит за N подключений, но хотелось бы знать наверняка.
Как влияет увеличение/снижение числа на скорость? При уменьшении числа мои тесты как будто дают бОльшую скорость, но возможно это случайное совпадение.
Какие недостатки возникают при увеличении/уменьшении с точки зрения обхода DPI (по крайней мере, теоретически)?