Как стать автором
Обновить

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров347K
Всего голосов 37: ↑37 и ↓0+37
Комментарии304

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

ЗакрепленныеЗакреплённые комментарии
НЛО прилетело и опубликовало эту надпись здесь
# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic hybla vegas yeah

странно, нет bbr.

arch, ядро lts 6.1

необходимо добавить и ребутнуться

echo "tcp_bbr" > /etc/modules-load.d/modules.conf

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

У вас там в curl ссылочка небезопасная. Нужна вот эта.

НЛО прилетело и опубликовало эту надпись здесь

Большое спасибо за статью!

после предыдущих статей я получил довольно много комментариев типа "А
что так сложно, нужен домен, нужны сертификаты, и куча всего" - теперь
все будет гораздо проще.

Мне в этом плане https://github.com/WeeJeWel/wg-easy нравится, — докер контейнер поднял, опционально лейблы для траефика прописал и всё — удобно создаёшь конфигурации в минималистичном WebUI в пару кликов. Благодаря докеру машина чистенькая, кучи команд не делаешь, всё работает сразу без головняка. Из UI cразу доступен QR код, чтобы быстро на мобильных устройствах настроить соединение или передать (родителям/жене/девушке).

И вот мечтаю, чтобы подобное удобство было б доступно и для описываемых Вами в цикле статей bleeding-edge способов обходов блокировок. В идеальном мире ещё в контейнере (этом же или соседнем, в который DNS запросы бы ходили) можно резку рекламы + кеш днс. Надеюсь, комьюнити к этому ещё придёт, что простота установки и поддержки должна быть по возможности в приоритете.

НЛО прилетело и опубликовало эту надпись здесь

Hiddfy - хоть бы предупредили что он на вязи, а то я воткнул и привет, как на инглишь перейти хз... Еще и черт дернул его к wg на сервак подсадить, буду щас вычленять(

Зы вроде перешел на инглишь, он оказывается ругался на домен по умолчанию.... Мда чувствую это будет весело.

НЛО прилетело и опубликовало эту надпись здесь

Ого, в превеликой степени благодарен, про каждый репозиторий впервые слышу, кажется добавились кандидаты на поиграться!

Marzban

предлагает трив арианта установки

какой рекомендуете и почему?

Спасибо

НЛО прилетело и опубликовало эту надпись здесь

Marzban у меня сам не завелся. Юзеры, которые он создает, автоматически не добавляются в секцию clients в конфиге. Вручную добавить тоже не работает, что-то не так с uuid, которые он делает для юзеров. Если вручную сгенерить uuid через Xray и добавить в конфиг в Marzban, то тогда начинает работать.

НЛО прилетело и опубликовало эту надпись здесь

За Caddy такую конструкцию не спрятать?

НЛО прилетело и опубликовало эту надпись здесь

Исходя из собственной попытки, haproxy перед reality ломает reality, и пока своими силами не нашел как решить. Причем независимо от конфигурации, даже если голый haproxy все tcp отдает в reality в лоб.

Вот такая вот ситуация
curl -v --resolve www.microsoft.com:443:IP.IP.IP.IP https://www.microfost.com

* Added www.microsoft.com:443:IP.IP.IP.IP to DNS cache
*   Trying 20.76.201.171:443...
* Connected to www.microfost.com (20.76.201.171) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=WA; L=Redmond; O=Microsoft Corporation; CN=*.oneroute.microsoft.com
*  start date: Nov 29 18:53:30 2023 GMT
*  expire date: Nov 23 18:53:30 2024 GMT
*  subjectAltName does not match www.microfost.com
* SSL: no alternative certificate subject name matches target host name 'www.microfost.com'
* Closing connection 0
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.3 (OUT), TLS alert, close notify (256):
curl: (60) SSL: no alternative certificate subject name matches target host name 'www.microfost.com'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Ввиду необходимости на 443 еще и собственных ресурсов, haproxy решил не убирать, натравил sni на свой же домен. Думаю, этого хватит на ближайшее время. Ну если что, то доп IP возьму и по ним разрулю ( ну или отдельный VPS )

Но если вдруг у кого уже есть опыт дружбы reality с haproxy, я буду рад попробовать)

upd, проблема была в старом docker образе haproxy. С правильным конфигом, допустим, по примеру с marzban (Все на одном порту (marzban.ru) ) все ок.

НЛО прилетело и опубликовало эту надпись здесь

с точки зрения защиты от обнаружения пробниками - можете пяснить, обращаемся к вася_пупкин.ком и получаем сертифкат от гуггла - разве это не раскрывает систему?

НЛО прилетело и опубликовало эту надпись здесь

Но ведь в DNS microsoft.com не будет биться с IP нашего сервера. Подозрительно

НЛО прилетело и опубликовало эту надпись здесь

Мне кажется надо выбирать сервис к которому постоянное подключение и скачивание оправданно. Например нетфликс или YouTube. Желательно вообще выбрать что-то что не только на скачивание а в обе стороны работает.

А то как-то подозрительно что один из юзеров ходит только на сайты в России и… Microsoft.

Это вечная борьба меча и щита. Пока этого достаточно, когда будет недостаточно, будут работать с тем что будет.

не только на скачивание а в обе стороны работает.

Википедия жеж.

(А для больших объёмов — Викисклад)

Любая стриминг-платформа тоже подойдет

Не подскажите, в секции

Hidden text
realitySettings": {
			"show": false,
			"dest": "www.microsoft.com:443",
			"xver": 0,
			"serverNames": [
				"www.microsoft.com"
			],

serverNames и dest одинаковые записи должны иметь? В статье упоминается только о serverNames.

А клиент под MacOS подскажите?
Указанный Nekobox не имеет поддержки мака (

НЛО прилетело и опубликовало эту надпись здесь

Можете ткнуть носом?
На гитхабе в релизах только под линух, и вин, в ридми macOS вычернут
Wings X требует макось старше 13 и не хочет на старой моей системе запускаться (

НЛО прилетело и опубликовало эту надпись здесь

сделал конфиг как по ссылке выше, но не нравится ему, ругается
2023-04-26 15:33:06 INFO — [clash]: FTL [Config] parse config failed error=proxy 0: unsupport proxy type: vless
2023-04-26 15:33:06 INFO — clash core terminated

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

На будущее - интересно и полезно. Но зачем этим сейчас заниматься? Wireguard никто не блокирует и, возможно, не будет - может стоит решать проблемы по мере поступления?

Потом, если его заблокируют, заниматься этим будет сложнее.

Я, например, в качестве личного использую IKEv2 поднятый скриптом… Но на всякий случай ведь можно поднять рядом и такой, «резервный» канал, мало ли что будет дальше, или куда придётся временно поехать, один раз я так обломался с wireguard

P.S. Эх, хотелось бы целостную инструкцию по IKEv2+eap-tls+radius, ради статических ip внутри тоннеля… Но целостной так и не нашел

Поработав в своё время с IPSEC (и на цисках и в юниксах - привет, StrongSwan) я бы от него держался нафиг подальше.

Wireguard простой как тапок, быстрый и работает надёжно. А шансов на дыру в реализации гораздо меньше - код WG в десятки раз короче всей богодельни IPSEC.

Плюс я не уверен что при блокировке IKE портов (500/4500) его вообще возможно куда-либо перевесить в стандартных клиентах, WG же пофиг через какой порт работать.

Резервным можно держать какой-нибудь OpenVPN в Transparent TLS режиме, например.

НЛО прилетело и опубликовало эту надпись здесь

Привет из 7 августа 2023)

Ну да, я как раз два дня назад поднял на своём VPN ещё и v2ray вдобавок к wireguard после того как друзья в РФ пожаловались что с некоторых мобильных и не только провайдеров WG перестал подниматься...

Есть какая-то более подробная инфа почему и как блокируют?

dpi по рукопожатиям

А чем сейчас можно обфусцировать Wireguard, чтобы работало и на смартфонах и на Win? Сервер на Linux.

Интересно, что у автора статьи отрицательный рейтинг при отсутствии отрицательных комментариев и приличной карме. Как так?

  1. Очень рекомендуется настраивать на клиентах правила маршрутизации, чтобы трафик до .ru-доменов и хостов с российскими IP шел напрямую, а не через прокси (в клиентах для такого поставляется GeoIP база данных).

А где такую базу брать? В клиентах там все для Китая. По крайней мере я не нашел. Пробовал в nekobox в поля маршрутизации вставлять по всякому - не работает. По конкретному IP правила срабатывают. А домен .ru так и не смог заблокировать. А очень бы хотелось - я то могу и сам контролировать куда и как ходить - а вот с супругой будут проблемы. Ей бы надо как нить "железно" ограничить .ru )

НЛО прилетело и опубликовало эту надпись здесь

Спасибо! (вечером попробую .. * извиняюсь - забыл упомянуть что я именно nekobox для win имел ввиду )).

А вот такой вопрос про развитие технологии: я только на днях настроил сервер по Вашей предыдущей статье) .. Я так понимаю что можно просто переделать там конфиг и создать в клиенте новое подключение? А nginx "просто останется" ненужным? ( я не использую SS или WS ) . То есть все предыдущие варианты как бы обесценились? Или оставить vision как запасной вариант.. ? Хотя в чем там "запас"? - наверное смысла в предыдущих вариантах уже нет? Вот если я хочу иметь пару или тройку серверов на всякий случай - тогда на одном вот этот последний вариант с reality , на втором Naive уже есть (стОит на него надеяться?) а на третий? - сделать дубликат новой с reality или оставить как раз предыдущий с vision ? Что бы вы посоветовали?

НЛО прилетело и опубликовало эту надпись здесь

Попробовал поднять по вашему совету так: Reality на ipv4, а Vless-WS через ipv6 только

Почему-то при добавлении строки "listen": "127.0.0.1" перед портом (чтобы слушал только на ipv4) в inbound Reality, перестаёт проходить трафик , хотя Xray нормально запускается без ошибок

Очевидно, что пытаюсь разделить слушание 443 порта на ipv4 для Reality и ipv6 для nginx

НЛО прилетело и опубликовало эту надпись здесь

А домен .рф в этом окне можно указать? Поймёт?

НЛО прилетело и опубликовало эту надпись здесь

Насчёт .ru-доменов. Разве не работает domain:ru в стандартном окне настроек Nekobox?

НЛО прилетело и опубликовало эту надпись здесь

В новых версиях Nekobox костыль уже не работает) Но работает domain:ru

PS: Большое спасибо за серию статей!

про VPN есть ещё один интересный момент. Обычно все смотрят, как бы прикрыть трафик от условного РКН.
Но при этом я пару раз сталкивался с тем, что сервис к которому я подключался, отвергал подключение под предлогом "вы используете VPN".

Если бы в завершение цикла раскрыли тему "маскируем сервер" — я был бы вам очень благодарен.

Так они определяют это просто по принадлежности IP клиента к базе IP ДЦ\VPN.
Если к форуму любителей колли ломится какой-нибудь OVH — ну тут же понятно, что это не apt ошибся IP в поисках пакета, а какой-то клиент ломится через прокси\VPN.
Тут вы ничего не сделаете, только искать чистый "резидентный" IP как конечную точку.

НЛО прилетело и опубликовало эту надпись здесь

Интересно, заработает ли XTLS через прозрачный прокси (squid + mitm через установленный сертификат в системе). Все предыдущие варианты как правило используют websocket и не работают, т.к. отфильтровываются squid'ом и режимом http1.1 only. Не спрашивайте что за злой гений такое придумал, но имею такой интернет на одном из объектов.

НЛО прилетело и опубликовало эту надпись здесь
that's what i'm talking about; THAT'S how we get things done!

НЛО прилетело и опубликовало эту надпись здесь

... например о том как делать цепочки из двух прокси серверов ;)

НЛО прилетело и опубликовало эту надпись здесь

... эхх.. (( дело а том что "невелика наука" только для того кто в этом хорошо разбирается) А им и про серверы статьи не нужны я думаю - сами все установят. А вот тем кто делает по вашим статьям - для тех как раз наука велика... Я пытался гуглить - но доступных инструкций не нашел. То есть на первом сервере надо установить всё как в вашей статье . Только в конфиге надо (где то как то указать адрес второго сервера?) Тут мало того что надо хорошо понимать где и что указать - да еще соблюсти пунктуацию и все скобочки правильно расставить - ума не приложу.. А дальше? На втором сервере что? Надо тоже установить Xray? А что в конфиге? Где брать данные для входного конфига? ( и соответственного для выходного "как в клиенте"? ) ... тут короче еще какая "наука" .. Может все таки опишите поподробнее?

НЛО прилетело и опубликовало эту надпись здесь

Спасибо огромное! Просто Огромное! Благодаря вашему обьяснению с примерами конфигов - которые можно сравнить и понять что куда относится и где какой синтаксис - я вроде с этим разобрался. Настроил последовательно два сервера VLESS -> SS. Заодно добавил на другой сервер с Naive "до кучи" еще и SS ( в качестве тренировки)))) И отдельное спасибо за совет с он лайн - валидатором.

Но возник вопрос : а почему необходимо избегать посещения через прокси зоны RU ? (кроме лишнего трафика и нагрузки - это несущественно). Какие риски это несет? ( я вот думаю - нужно ли взять дешевый vps в России для этого? )

НЛО прилетело и опубликовало эту надпись здесь

Даа.. получается что самое палево - это геолокация по соте или gps... тут наверное сложно маскировать.. А вот в цепочке двух прокси (даже если оба за бугром) - у последнего не будет ничего на 443 порту - ибо там уже выходной сервер маскировать не надо. Соответственно пробивка ничего не даст. Ну и в идею сравнивать ВСЕ входящие данные в страну (или на госуслуги) с исходящими частными миллионами адресов и квадратиллионами байт - задача пока не выполнимая. ( это возможно наверное в частных случаях - когда например есть какое то крамольное сообщение или угроза - тогда вот только один этот заход можно сравнить с исходящими - да и то наверное не со всеми -а с определенным кругом лиц подозреваемых). Короче - вся жесть в gps и сотовых...

! А вот как быть тогда с логами на российском промежуточном прокси? Там же будет видно откуда я зашел и куда пошел? То есть внутри хостера будет видна (и наверно заблокирована) попытка идти на забаненный роскомнадзором ресурс.?

А на Windows сервер XRay как поднять? :-[

НЛО прилетело и опубликовало эту надпись здесь

Спасибо! Попробую... ))

Ребят у кого-нибудь получилось? Пытался и сайт Майкрософт и нвидиа и ничего не заработало, последняя команда на сервере вроде выполнилась без проблем, ничего не ругались, но в итоге через клиент подключиться не слог, а по предыдущей статье настроить смог и всё работола

НЛО прилетело и опубликовало эту надпись здесь

Спору нет, гайд отличный но у меня пока не получается, будет время попробую твои советы, но кажется проблема не решиться, думал что-то на стороне vps

(Как же долго модерируются комментарии, майор из на листочек записывает что-ли...)

Сделал на втором VPS, прлучилось, спасибо! Есть ещё пару непонятных моментов: Если в NekoBox не поставить галочку впн или прокси то инет а не будет? Ну или пакеты не пойдут через наш сервер

  1. После последний команды в этом гайде сервак от сервака можно уже отключаться? Просто в предыдущем гайде показалось что нужно использовать screen чтобы процесс не убивался

НЛО прилетело и опубликовало эту надпись здесь

Это понял, большое спасибо!

сделал, работает. но показалось что серфить стало чуть медленее чем ss2022. мб попробовать добавить опции в sysctl.

НЛО прилетело и опубликовало эту надпись здесь

Для увеличения производительности можно настроить на сервере Bottleneck Bandwidth и Round-trip propagation time (BBR) congestion control algorithm:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confsysctl -p

как насчет более глубокого тюнинга?

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 10000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_mem = 25600 51200 102400
net.ipv4.udp_mem = 25600 51200 102400
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_slow_start_after_idle=0

НЛО прилетело и опубликовало эту надпись здесь

А можете поподробнее рассказать про эти параметры и/или подскажите, что можно почитать про настройку bbr на серверах? Заранее спасибо!

# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic hybla vegas yeah

странно, нет bbr.

arch, ядро lts 6.1

необходимо добавить и ребутнуться

echo "tcp_bbr" > /etc/modules-load.d/modules.conf

НЛО прилетело и опубликовало эту надпись здесь

да. можно так.

Если вот так пишит curl из командной то все верно? Просто не получилось через hosts чекнуть вроде написал туда мой ип адресс и майков, потом написал только мой ип адрес в браузер и ничего не вышло

НЛО прилетело и опубликовало эту надпись здесь

Спасибо огромное, я просто новичок еще в этом и рад что все верно вышло. Но почему у меня теперь гугл на китайском и еще проверки дает? Все время капчу кидает, это из-за того что я настроил без шедоусокс 2022? Я удалил его в json из inbouns для полной маскировки по вашему совету

Кстати, вы не знаете как уникальные ключи создавать, чтобы на одном устройстве работали, так сказать админка выданных ключей, не хотелось бы мне чтобы друг передавал другому мой ключ. Заранее спасибо

Через ПК работает, а через клиент V2ray не хочет, а вот прошлый гайд с бесплатным днс работает и на смартфоне, у меня два вопроса?

  1. Как использовать свой ДНС домен

  2. Почему не работает на мобильном?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Повторюсь мы в другом гайде использовали сайт FreeDNS он вроде называется, а если вместо бесплатного арендовать домен .com у какого-нибудь хостера. При использовании FreeDNS чере зприложение v2ray всё работает. А в этом гайде я ссылаюсь на сайт нвидиа и не работает на смартфоне

НЛО прилетело и опубликовало эту надпись здесь

Спрошу так: как мне настроить XTLS-Vision со воим доменом? Его тупо в конфигах указать или как?

НЛО прилетело и опубликовало эту надпись здесь

У меня к сожалению на смартфоне никак не получилось заставить работать, уже и в ручную вводил - всё равно ошибка. Это очень странно, настроил на ПК в NekoBox'e - Share - QR Cоde and link - не работает) Подожду может у кого тоже не заработает)

НЛО прилетело и опубликовало эту надпись здесь

Андроид, v2rayNG v1.7.38

НЛО прилетело и опубликовало эту надпись здесь

АХахаха прикол, это очень странно т.к. скачал приложение пару дней назад) Проверю, может обновление есть

ЗАРАБОТАЛО!!! Спасибо большое друг! Но это не очивидно было, я бы без тебя не разобрался бы, итак подытожу вдруг кто тоже сталкнётся!

На андроид вступаем в бета тест v2rayNG и получаем свещую версию которая поддерживает  Reality.

Но замечана проблема, с ПК в инсту не заходит, постоянно обновляет страницу после нажатия войти и всё, даже ошибок нет

Спасибо огромное, я просто новичок еще в этом и рад что все верно вышло. Но почему у меня теперь гугл на китайском и еще проверки дает? Все время капчу кидает, это из-за того что я настроил без шедоусокс 2022? Я удалил его в json из inbouns для полной маскировки по вашему совету

Товарищи вы не знаете как уникальные ключи создавать, чтобы на одном устройстве работали, так сказать админка выданных ключей, не хотелось бы мне чтобы друг передавал другому мой ключ. Заранее спасибо

НЛО прилетело и опубликовало эту надпись здесь

Благодарю! Значит мне создать новый конфиг в некобоксе как показано выше, но уже с другими uuid и shortid, а потом чтобы отобрать доступ у друга просто удалить конфиг? А с этого нового uuid могут сразу 2 чела заходить?

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

НЛО прилетело и опубликовало эту надпись здесь

Значит там где написано в конфиге "id": "4c3fe585-ac09-41df-b284-70d3fbe18884", нужно еще раз так нажав enter вторым добавить "id":цифры для друга закинуть в некобокс и сделать share?

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

Думаю не стоило мне удалять протокол носков2022

НЛО прилетело и опубликовало эту надпись здесь

С shortid точно также дублировать его блок вместе с приватным ключом где? А потом как нибудь можно в сервера глянуть чем друг с этим uuid занимается? то есть сколько скачал, качал ли торрент ну и посмотреть девайс?

НЛО прилетело и опубликовало эту надпись здесь

Что-то не завелось. Пишет

proxy/vless/encoding: invalid request version

хотя версии и xray и nekoray последние

НЛО прилетело и опубликовало эту надпись здесь

Не могу понять, что не так. Все как в статье сделал

А вот взял и просто скопипастил ваш конфиг из статьи и тут же заработало

А когда вручную забивал, ругается на версию.

Что ж буду разбираться, где ошибся. Спасибо :)

НЛО прилетело и опубликовало эту надпись здесь

Спасибо за цикл ваших статей, однозначно буду наблюдать дальше. Такой вопрос: я могу, следуя инструкции из прошлой вашей статьи, прикрутить в этот конфиг vmess с фларой на всякий случай? Сайт имеется, и даже уже есть в cf, раньше пользовался ss+v2ray+cf, и надо ли nginx трогать для этого?

НЛО прилетело и опубликовало эту надпись здесь

Большое спасибо за развернутый ответ.

Есть ещё вопрос по geoip и правилам. В интернете вообще по этой теме одни китайские иероглифы, я немного не понял. Допустим у меня есть ПК и Андроид, на ПК стоит v2rayn, на Андроиде nekobox. Если я выставлю правила geoip, но при этом добавлю ру сайт в проксирование, то что будет главенствующим? Такой вопрос возник, потому что не понял, в каком режиме могут работать правила? На ПК у меня просто локалхост и порт слушает, а через proxifier выставляю нужные приложения, а в браузере через расширение соединяюсь, на Андроиде за неимением рута режим впн и там выбираю нужные приложение. Будут ли в таких режимах работать эти правила или нужно что-то вроде tun выставлять и гнать весь траффик через прокси, отсекая только ru geoip. И если на ПК достаточно включать/выключать прокси на каких угодно сайтах, то на Андроиде в хроме весь траффик идёт через мой прокси (знаю, что есть firefox, но я к хрому привык и пользуюсь только им)

И видимо я что то не так выставил, у вас в инструкции в nekobox поля для суффиксов, а где это найти в v2rayn и nekobox на Андроиде? У меня получается только в таком формате задать:

geoip:ru

geoip:private, но 2ip показывает айпишник впски

НЛО прилетело и опубликовало эту надпись здесь

На rutracker через такой прокси не заходит почему-то

НЛО прилетело и опубликовало эту надпись здесь

У вас хост в россии или зарубежом?

НЛО прилетело и опубликовало эту надпись здесь

Кто то знает как прикрутить блокировщик рекламы в сервер?

НЛО прилетело и опубликовало эту надпись здесь

Установил себе на сервер PiHole - но не понятно как его подключить к Xray? Что именно надо написать в "outbound " ? Подскажите пожалуйста.. Очень хочется рекламу порезать)

Можно ли в NekoBox нормально настроить автозагрузку, а то он после ребута включается, но запускать подключение (профиль) всё равно нужно каждый раз вручную. При этом галочка System proxy остаётся включённой и получается что после включения компа нет интернета пока не включишь профиль.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо! Сделал по инструкции, все работает!

Заметил интересный момент:
При проверке на утечку ip-адреса через webRTC на андроиде (V2RayNG) показывает утечку ip-адреса 26.26.26.1:

Вижу что в исходниках этот адрес определен константой. Но для чего? При использовании того же хоста на десктопе (Nekobox Linux) и на iOS (Wings X) никаких утечек нет.

НЛО прилетело и опубликовало эту надпись здесь

Если на сервере поднят Outline и Wireguad, установка XTLS-Reality ничего не испортит?

НЛО прилетело и опубликовало эту надпись здесь

Действительно, на работу никак не повлияло. Столкнулся со следующей ошибкой:

[Info] infra/conf/serial: Reading config: /usr/local/etc/xray/config.json
xray[1287]: Failed to start: main: failed to create server > proxy/shadowsocks_2022: create service > decode psk: illegal base64 data at input byte 2
systemd[1]: xray.service: Main process exited, code=exited, status=23/n/a
systemd[1]: xray.service: Failed with result 'exit-code'.
systemd[1]: Started Xray Service.

Гугление не принесло успехов.

НЛО прилетело и опубликовало эту надпись здесь

Вот только что разобрался)) Все завелось и работает на ура. Спасибо за статью, последний вопрос - как все это чудо поддерживать в актуальном состоянии? Как обновлять новыми версиями?

НЛО прилетело и опубликовало эту надпись здесь

При подключении из NekoBox на Винде получаю ошибку - [[VLESS] VLESS] test error: Get "http://cp.cloudflare.com/": context deadline exceeded. Не подскажите, как пофиксить ?

НЛО прилетело и опубликовало эту надпись здесь

Не "взлетало", пока пытался редактить VL конфиг в NekoBox-е. SS заработал сразу. Потом удалил и просто пересоздал заново VL конфиг и ... всё запустилось. Может, кому поможет....

И на роутер бы всё это дело запилить ещё для полного счастья...

НЛО прилетело и опубликовало эту надпись здесь

Если сравнивать с Outline, то скорость намного выше, у меня почему-то были фризы 2-4 секунды (периодически) при переходе по ссылкам. С Xray все отлично работает, пинг правда так себе с США.

Вопрос про Shadowsocks2022 в конфиге - Если его оставить и не пользоваться, он влияет как-то на маскировку?

НЛО прилетело и опубликовало эту надпись здесь

А если есть mitm (подмена сертификатов), то такой вариант безопасен? Сам трафик шифруется еще чем-то помимо tls?

НЛО прилетело и опубликовало эту надпись здесь

А как у него логирование отключается? У меня за несколько дней syslog и daemon.log забили всё место на VPS. Понимаю, что в теории нужно настроить ротацию, но если оно стабильно работает, мне эти логи соединений в принципе не особо нужны. Да и на ПК лог-файл Nekobox многовато весит. А настройки не нашёл.

НЛО прилетело и опубликовало эту надпись здесь

И у демона (в xray.service) ещё нужно выставить в блоке [Service]

LogLevelMax=4

для уровня warning, например. Иначе каждое соединение будет в логе.

Поставил по вашей инструкции все. Подключился через nekobox, nekoray, все работает. Вот только скорость на скачку 30 мбит максимум, на отдачу 100. Потестил на самом серваке - там по 200 туда-обратно. Можете подсказать, из-за чего это может быть или это так и задумано?

НЛО прилетело и опубликовало эту надпись здесь

после включение bbr, еще веселей стало :)

НЛО прилетело и опубликовало эту надпись здесь

А чем отличается этот конфиг, от того что в статье? Кстати приложение для ios Wings X, пропало из магазина appstore. Не знаю с чем связанно, я успел скачать. Ваши настройки по geoip для этого приложения, очень помогли.

Попробовал использовать ваш конфиг для сервера и клиента. Сервер стартует отлично, а вот у клиента проблема:

(packet-tunnel) error: create service: create service: parse route options: parse dns rule[0]: missing conditions

Не подскажите в чем может быть проблема?

НЛО прилетело и опубликовало эту надпись здесь

Подскажите, а что добавить, чтоб клиент NekoBox или v2rayNG для Windows смог через http прокси ходить?

НЛО прилетело и опубликовало эту надпись здесь

Второй вариант. Нужно пройти через корпоративный http прокси.

НЛО прилетело и опубликовало эту надпись здесь

Помогите разобраться. Где мог налажать и как исправить?
По инструкции настроил. Работает.
Использовал протоколы XTLS-Reality / SS из инструкции.
Вчера получил бан ("Недоступно в вашей стране") от ИИ-чата Bing.
Получается геолокацию спалили.
Переключил на конфиг wireguard (находится на том же сервере, такой же ip адрес) - работает.
Попробовал другой носок (нашёл в открытом доступе) - работает.
На ПК и на смартфоне одинаковая картина - бан.

Настроил серверную(vps) и клиентскую(домашний сервер на beelink) части. Ошибок нет, вро все работает, но я не понимаю как мне подключиться к прокси? Помогите кто силен в этом, я вообще дуб-дубом в этих маршрутизациях. При наборе curl ifconfig.me, выдает адрес провайдера, а не vps

root@beelink:~# ip route
default via 192.168.1.1 dev enp1s0
192.168.1.0/24 dev enp1s0 proto kernel scope link src 192.168.1.4

root@beelink:~# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10123 0.0.0.0:* LISTEN 440/sshd: /usr/sbin
tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN 428/xray
tcp 0 0 127.0.0.1:1081 0.0.0.0:* LISTEN 428/xray
tcp6 0 0 :::10123 :::* LISTEN 440/sshd: /usr/sbin
udp 0 0 0.0.0.0:68 0.0.0.0:* 411/dhclient
udp 0 0 127.0.0.1:1081 0.0.0.0:* 428/xray

Может еще какая информация нужна?

Xray же не впн, а прокси. Можно было на домашнем сервере ничего не поднимать, а просто на клиентском ПК поставить оболочку с xray и подключаться сразу к впс.

Или повесьте на beelink порты tcp 1080/1081, udp 1081 на интерфейс, смотрящий в локальную сеть и тогда на ПК можно будет в браузере указать сокс прокси beelinklocalip:1080 или не в браузере, если поставите клиент xray с гуи.

Дошло до меня, спасибо. Только мне именно в beelink нужен прокси для некоторых сервисов. Получается, что мне нужно теперь , например через системный прокси в debian прописать 127.0.0.1:1080 и все через xray-client пойдет пойдет?

НЛО прилетело и опубликовало эту надпись здесь

Ничего у меня не получается, хоть тресни. С настройками разных типов серверов никаких проблем, но вот то единственное, что мне необходимо, автор в качестве примера не указал-"Как на linux Debian без gui запустить это хозяйство" Я уже кучу всяких разных конфигов клиентов перепробовал, ни в какую. Пошел я wireguard лучше настрою))

НЛО прилетело и опубликовало эту надпись здесь

Пример клиентского конфига в TUN-режиме можете привести?

Подскажите если перенести работу xray на 444 порт например, оно будет корректно работать ? Просто на сервере крутится nginx и два сайта https порт занят. При переносе xray на 444, он работает и домен microsoft открывается если прописать для него публичный адрес сервера в host.

НЛО прилетело и опубликовало эту надпись здесь

Простите за глупый вопрос. Я разрулил свои домены с помощью модуля ssl_preread, но только я не понимаю как интегрировать совместную работу с reality. Можете дать подсказку )

НЛО прилетело и опубликовало эту надпись здесь

Я настроил таким образом, такая конфигурация не демаскирует со стороны стороннего наблюдателя ?

config
map $ssl_preread_server_name $sni_name {
    www.microsoft.com        reality;
    torr.******.pp.ua      torr;
    adg.*****.pp.ua       adg;
    default                  reality;
}

upstream reality {
    server 127.0.0.1:8443;
}

upstream naive {
    server 127.0.0.1:7443;
}

upstream torr {
    server 127.0.0.1:1443;
}

upstream adg {
    server 127.0.0.1:4443;
}

server {
    listen          443 reuseport;
    proxy_pass      $sni_name;
    ssl_preread     on;
    proxy_protocol  on;
}


server {
    listen 443 udp;
    proxy_pass 127.0.0.1:443;
}

Мои домены работают корректно, только со стороны сервера http запрос на домен который указан в reality выполняется c ошибкам. Клиент прокси также работает.

resolver
Added www.microsoft.com:443:89.187.129.*** to DNS cache
* Hostname www.microsoft.com was found in DNS cache
*   Trying 89.187.129.***:443...
* Connected to www.microsoft.com (89.187.129.182) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.0 (OUT), TLS header, Unknown (21):
* TLSv1.3 (OUT), TLS alert, decode error (562):
* error:0A000126:SSL routines::unexpected eof while reading
* Closing connection 0
curl: (35) error:0A000126:SSL routines::unexpected eof while reading

Проблему с http запросом решил добавив в конфиг xray.

 "tcpSettings": {           
   "acceptProxyProtocol": true        
 },         
"sockopt": {           
  "acceptProxyProtocol": true  
},

Также со стороны клиента подключение к серверу по 443 порту происходит, значит все работает как надо )

НЛО прилетело и опубликовало эту надпись здесь

спасибо, это то что мне было нужно!


а можно как то shadowsock так же разруливать?

НЛО прилетело и опубликовало эту надпись здесь

Если настроить всё так, как сказано в этой статье, то сервисы вроде whoer обнаруживают ДНС-сервера российского провайдера, раздающиеся по DHCP. Как нужно настраивать DNS в рамках данной схемы, чтобы скрыть факт хождения на заблокированные ресурсы от провайдера, и при этом не выглядеть подозрительно?

НЛО прилетело и опубликовало эту надпись здесь

Автор, огромное спасибо за цикл статей!

Хотел бы поделиться ещё тем, как сделать так, чтобы соединение от VPS до сайтов ходило через сторонний VPN.

Hidden text

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

Т.е. общая схема будет такая:

  1. От вас в стране с цензурой до заграничного VPS будет продолжать работать XRay с XTLS-Reality (или другой XRay вариант), чтобы скрывать сам факт обхода блокировок.

  2. От вашего заграничного VPS трафик будет идти к оплаченному серверу VPN какой-нибудь компании, предоставляющей такие услуги. Он будет идти через обычный OpenVPN шифруясь, но не маскируясь (считаем, что на той территории факт наличия VPN не пытаются вычислять и срубать), таким образом, мы скрываем статичный IP уже нашего VPS, плюс получаем возможность ходить через разные страны. Наш VPS относительно именно VPN будет выступать просто клиентом.

Я буду считать, что у вас настроен VPS по этой статье, но, в принципе, сойдёт любой работающий XRay-конфиг.

Идём на сайт вашего VPN провайдера, логинимся, получаем от них ovpn-файл. Обычно такие файлики дают скачивать, если мы выберем опцию в стиле, что хотим настроить VPN-клиент на роутере, либо на линуксе. Вот, чисто как пример.

Нам потребуется один файлик с одной локацией, через которую будем выходить. Логично взять ту же страну/город, в которой находится ваш VPS, чтобы меньше терять на пинге. Потом можно будет заморочиться с переключением на другие страны, если захотите. Скачиваем нужный ovpn-файл. Если скачали на свою машину, на VPS можно перекинуть по SSH (с винды см. Передача файлов с Windows на Linux Ubuntu по SSH).

Далее все инструкции на VPS.
Ставим OpenVPN:

apt update
apt install openvpn -y

Переименовываем ovpn-файл в client.conf и переносим его в папку /etc/openvpn/
Открываем полученный файл на редактирование:

nano /etc/openvpn/client.conf

Находим там строчку

auth-user-pass

и меняем её на

auth-user-pass /etc/openvpn/pass

Создаём файл

nano /etc/openvpn/pass

В нём записываем две строчки:

логин
пароль

Это те логин и пароль, с которыми вы подсоединяетесь к VPN. Защитим их уровнем доступа:

chmod 400 /etc/openvpn/pass

Дальше снова открываем на редактирование файл

nano /etc/openvpn/client.conf

и дописываем в нём в конце файла такие строчки:

# Писать максимум 50 повторяющихся сообщений в логи (чтобы их не засорять)
mute 50

# Не рулить маршрутизацией. ВПН захочет развернуться для всех соединений,
# но это совсем не то, что нам нужно, маршрутизацией мы будем рулить сами.
route-nopull

# Сохранять соединение и переподключаться, если оно прерывается
keepalive 10 60

# Скрипт, который будет выполняться для установленного соединения
# Там мы будем рулить маршрутизацией
up /etc/openvpn/custom.sh

Создаём теперь вышеупомянутый скрипт

nano /etc/openvpn/custom.sh

В нём:

#!/bin/sh
# Таблица 200 пойдёт через tun0 (т.е. через впн)
ip route add default dev tun0 table 200

# Удаляем и добавляем правило, что пакеты, маркированные
# числом 2, будут отброшены
ip rule delete fwmark 2 blackhole
ip rule add fwmark 2 blackhole

# Удаляем и добавляем правило, что пакеты, маркированные
# числом 2, будут отправлены в таблицу 200 (и пойдут через впн).
ip rule delete fwmark 2 table 200
ip rule add fwmark 2 table 200

# Применяем правила
ip route flush cache

Мы получим два правила, которые касаются пакетов, маркированных двойкой, при этом их порядок будет такой, что сначала пакет полетит на впн, а если не получится (впн будет выключен), то пакет не пойдёт никуда. Если отбрасывание не написать, то мы при отсутствии впн будем ходить напрямую с VPS.

Даём скрипту права на выполнение:

chmod +x /etc/openvpn/custom.sh

Теперь залезаем в конфиг xray:

nano /opt/xray/config.json

И у outbounds меняем freedom с такого:

{
	"protocol": "freedom",
	"tag": "direct"
},

на такой:

{
	"protocol": "freedom",
	"tag": "vpn",
	"streamSettings": {
		"sockopt": {
			"mark": 2
		}
	}
},

Т.е. все исходящие из xray пакеты, которые летят напрямую к сайтам (freedom), будут средствами XRay помечаться как 2, роутингом все пакеты с меткой 2 будут заворачиваться в таблицу 200, а она будет лететь через VPN.

Теперь осталось только запустить клиент OpenVPN как демона:

nano /etc/default/openvpn

Раскаменчиваем # у строчки

AUTOSTART="all"

Дальше регаем демона:

systemctl enable openvpn@client.service

Перегружаем демоны:

systemctl daemon-reload

Стартуем OpenVPN:

service openvpn@client start

И перегружаем xray:

systemctl restart xray

Разумеется, XRay можно настроить и получше, создав себе несколько пользователей, часть из которых будет ходить через VPN (помечая пакеты), а часть напрямую с VPS.

Сам я не настоящий линукс-пользователь, если кто предложит, как это сделать получше, буду только рад.

Ориентировался на эти инструкции:

UPD: у этого способа обнаружились такие проблемы:

  1. DNS leak — сервисы определения утечки детектят VPS. Пробовал всякое, но забороть так и не смог, если кто подскажет, буду благодарен.

  2. Проблемы на некоторых провайдерах (обнаружил, когда был в другом регионе), тогда как напрямую через VPS всё работает — увы, разбираться тогда было некогда, просто ходил напрямую.

  3. Почему-то пару раз не работал телеграм (ios) — уходил в бесконечное обновление каналов, тогда как напрямую через VPS работал. Возможно, что-то на стороне VPN или tg? Твиттер, например, работал при этом.

в режиме прокси такой проблемы нет...

Вроде настроил, всё работает, но почему то chatGPT пишет что сервис не доступен в этой стране. Ещё инстаграм сбрасывает подключение (HTTP ERROR 429) или выдаёт заглушку на любую страницу "К сожалению, эта страница недоступна". Это единственные сайты где я столкнулся с таким поведением, не могу понять что с этим делать.

Ещё добавлю что до этого настраивал по прошлому гайду (Shadowsocks, VLESS, XTLS-Vision) и сидел на другом хостинге, была абсолютно та же ситуация.

НЛО прилетело и опубликовало эту надпись здесь

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

НЛО прилетело и опубликовало эту надпись здесь

Я на https://browserleaks.com/ip проверял - нигде ничего не торчит. IP адрес везде тот что на VPS, WebRTC отключил чтоб не палил, DNS leak test показывает только нидерландские сервера google и cloudflare. Всё что есть это строчка в информации о браузере "language: ru" сомневаюсь что блочат по ней.
Единственное, оказывается у меня нет ipv6 потому что хостинг даёт только ipv4. Не уверен что его там можно как то включить, но на обнаружение локации это никак влиять не должно.
Ещё зашел в логи xray на сервере, там подключение к instagram ничем не отличается от подключения к другому домену, ничего подозрительного.

НЛО прилетело и опубликовало эту надпись здесь

Мне тут @Marvy написал в личку и прояснил в чём дело. Проблема в хостинге. Я пока пробовал два - TimeWeb и LLhost, и если у первого очевидно российское происхождение, то второй активно делает вид что он из европы. Оба в бане у вышеупомянутых сайтов. Для проверки, по совету, поднимал на обоих WireGuard и столкнулся с теми же блокировками.

НЛО прилетело и опубликовало эту надпись здесь

chatgpt блокирует подключение с большинства датацентров, не важно какой хостер.

Upd: такая возможность есть если использовать многоуровневую схему с SNI-proxy (типа haproxy), при необходимости расскажу в комментариях.

Очень интересно, расскажите :)

Сейчас стоит версия 1.8.3 и со вчерашнего дня XTLS-Reality не работает. В логах Nekobox такое:

ERROR[0000] dns: exchange failed for EIFCFFFDFECACACACACACACACACACACA. IN NIMLOC: Post "https://8.8.8.8/dns-query": EOF

ERROR[0000] dns: exchange failed for dmd.metaservices.microsoft.com. IN A: Post "https://8.8.8.8/dns-query": EOF

ERROR[0001] dns: exchange failed for ipv4only.arpa. IN A: Post "https://8.8.8.8/dns-query": EOF

ERROR[0001] dns: exchange failed for example.org. IN A: Post "https://8.8.8.8/dns-query": EOF

ERROR[0001] dns: exchange failed for detectportal.firefox.com. IN A: Post "https://8.8.8.8/dns-query": EOF

ERROR[0001] dns: exchange failed for dmd.metaservices.microsoft.com. IN A: Post "https://8.8.8.8/dns-query": EOF

Так же не работает и на телефоне. Причем шадоусокс пашет, мистика какая-то.

Удалось решить данную проблему заменой сервера www.microsoft.com:443, на любой другой из списка.

Автор, не в курсе что там с майкрософтом? :)

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

Спасибо, тоже microsoft стоял и отвалился

Microsoft отключала протокол TLS 1.3 на несколько дней на своем сайте в это время (причину не знаю, просто через TLS Checker проверил). Для работы XTLS-Reality требуется TLS 1.3 и HTTP/2, это и привело к неработоспособоности с www.microsoft.com. Пару недель уже как работает и с www.microsoft.com, кстати, TLS 1.3 включили в какой-то момент. Для простой проверки можно использовать RealiTLScanner.

Перестал работать. Поменял microsoft на другой - заработало. Зашел сюда спросить/сообщить - а тут уже написали. Интересно только что бы это значило - и не начнутся ли отваливаться другие сайты маскировки?

Да, было бы неплохо знать каким образом можно выяснить, что сайт поддерживает такой схематоз с сертификатами и насколько это надёжно..

Наверное я плохо усвоил материал, но как рулить разных килентов на разные выходы?

Пример:
Есть 2 клиента:
"inbounds": [

{
"settings": {

"clients": [
{
id:A,
},
{
id:B
}
],

Клиент А, хочет web browsing - вот ему второй прокси который выпустит его в общую сеть.
Клиент Б хочет пообщаться с сервисом висящем на локалхост:5050 сервера.

Прошу заметить, что вызывающий софт на клиенте ничего не знает про удаленный адрес. Т.е. мы хотим, к примеру, подключиться SSH через тунель и все что мы знаем это пара IP-PORT на локальной машине, где крутится клиент. Ок, inbounds я могу наплодить несколько и сделать отдельный для нужного мне подключения (т.е. у этой штуки будет свой уникальный ID, как бы второй клиент на той же удаленной от сервера машине).

Как их разрулить в конфигурации?

Сам спросил, сам и добавлю =)

"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"user": "user@myserver",
"ip": "8.8.8.8",
"outboundTag": "ssh"
},
{
"type": "field",
"user": "user@myserver",
"outboundTag": "proxy"
}
]
},

При таком кривом подходе, мы можем через наш SOCKS5 пойти на 8.8.8.8:22 и нас "сплюнет" на нужный outbound, который может быть простым freedom с перенаправлением на адрес по выбору (локалхост:порт).

Такой вариант рабочий, но мне не нравится. Возможно я вообще не туда копаю, а смотреть нужно в сторону tproxy?..

И там ошибка

  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
	"type": "field",
	"ip": [
	  "10.19.0.8/32"
	],
	"network": "tcp",
	"inboundTag": [],
        "outboundTag": "direct",
	"enabled": true
      }
    ]
  },

Вот в такой конструкции можно ловить запросы по конкретному IP. Добавьте туда "port" и получится нужная связка.

Другое дело, что если применять sockstun или его аналоги (tun2socks) то получаетя некая петля, когда пакеты не понимают куда им деваться (мы же шлем их на адрес интерфейса tunX и его же указываем в "ip" ). Как эту петлю побороть я не придумал, но это решается виртуальными адресами на любом другом интерфейсе. И все - вот нам VPN готов вообще без каких-либо канальных демонов. Т.е. это почти аналогично cloak, ток приходится применить еще одно средство проксирования.

З.Ы. И да, это дикий геморой с прописыванием адресов тут там и здесь ручками. Но увы, так как изначально решение не подразумевало классического "сетевого" транспорта, то приходится мучаться. Тема для крутого стартапа =)

почему-то по умолчанию он ставит старую версию 1.7.5, которая не поддерживает Reality, поэтому нужно явно указать более свежую

На 07.08.2023 все версии ветки 1.8.x имеют статус pre-release.
Если скрипту при запуске передать параметр '--beta', то будет установлен последний pre-release.

Спасибо за инструкцию!

На DigitalOcean завелось без проблем, на Azure с теми же настройками ни в какую не коннектится, мб кто скажет, в какие настройки азура стоит смотреть? Не особо шарю во всём этом :(

В статье описано как подключить компьютер или телефон. У меня есть другое устройство: шлем виртуальной реальности Oculus. Раньше я его подключал через роутер со встроенным VPN. Сейчас этот VPN не работает.

Можно ли как-то настроить подключение через XTLS-Reality для произвольных устройств, без установки клиента на них?

1) Роутер с OpenVRT и XRay на нем

2) XRay на компе или планшете, включить "принимать запросы из локльной сети", указать его в качестык прокси в Oculus

Сам не пробовал, но как вариант вроде есть клиент для openwrt
https://github.com/yichya/luci-app-xray

Те относительно вашего вопроса, схема должна остаться та же, роутер на openwrt с клиентом вышеуказанным, а все остальные девайсы подключаются к нему как обычно.

Что-то по инструкции XRay даже не стартует:
Failed to start: app/proxyman/inbound: failed to listen TCP on 443 > transport/internet: failed to listen on addr

НЛО прилетело и опубликовало эту надпись здесь

Спасибо за инструкцию. Вопросы:

  1. А условный цензор не вычислит легко подделку просто зная что какой-нибудь microsoft.com должен иметь другой адрес? Это же тривиально проверяется причем для любого сайта.

  2. Будет ли это работать в обратную сторону, т.е. канал в РФ и какие можно взять сайты для маскировки в РФ?

  3. Обязательно ли ставить сервис на 443 порт (подключения на него блокируются провайдером) и какие риски это несет: ведь маскировка тогда не сработает как предполагается?

НЛО прилетело и опубликовало эту надпись здесь

Популярные высоконагруженные сайты обычно сидят не на одном адресе, а за CDN с десятком разных IP-адресов на домен.

Согласен, но все же есть некая недоговоренность. В адресах облачного провайдера, у которого хостятся подобные сайты, спрятаться можно, но что делать если адрес xray сервера стоит особняком и вообще выдан домашним провайдером? Все-таки очень подозрительно увидеть на таком адресе условный microsoft.

Нужно начать с того, блокируют ли VPN-протоколы в стране вашего пребывания.

В стране пребывания не блокируют, но блокируют в РФ. А нужен канал туда, во всю подсеть, на которой сидит openvpn. Да и некоторые сайты (банки, госуслуги, налоговая и т.д.) лучше открывать из РФ. Про возможность "завернуть" openvpn через shadowsocks как прокси в курсе, буду пробовать, спасибо.

Сервис должен быть именно на 443 порту

Вот с этим засада. И IP адрес у меня "домашний", а не облачный и порт заблокирован. Но все равно попробовать можно, главное чтобы связь была.

Отдельное огромное спасибо за просвещение, статьи и ответы на всякие вопросы.

НЛО прилетело и опубликовало эту надпись здесь

Подскажите OpenVPN/Wireguard не только для обхода блокировок используется, но и для хождения в другую сеть, рабочую например. Есть ли возможность XRay для этого же использовать?

НЛО прилетело и опубликовало эту надпись здесь

>насчет UDP не уверен

Не работает, увы.

Автор, оффтоп, конечно. Вы человек в этом разбирающийся. Посоветуйте, плиз, что почитать для человека-айтишника с познаниями в сетевых технологиях уровня "слышал про протоколы и настраивал роутеры"

НЛО прилетело и опубликовало эту надпись здесь

Спасибо!

Автор, возможно можешь подсказать как эту махину завести с Nginx, как реверс? Не сильно хочется, чтобы оно полностью оккупировало порт 443.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо тебе, потанцую с бубном :)

Вариант первый, SNI-прокси. Например, перед Nginx и XRay поставить HAproxy либо настроить Nginx с ssl_preread-модулем, чтобы TLS-подключения на домен хостящегося сайта отправлялись на Nginx, а все остальное на XRay.
Если кто-то настроит, поделитесь примером nginx.conf, а то ssl_preread я поднял, а вот достучаться с ним до xray так и не вышло.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, слона-то и не заметил.

Я потанцевал с бубном и пока сделал вариант 3. Всё работает чётко - спасибо тебе :)

НЛО прилетело и опубликовало эту надпись здесь

А есть x-ray который умеет роутить? Про всякие tun2socks знаю, но хотелось бы попроще. Думаю чем заменить туннели WG между своими роутерами внутри РФ и вне.

НЛО прилетело и опубликовало эту надпись здесь

Да, нормальный роутинг аля OpenVPN/Wireguard, tun/tap или что-то своё.

Хм, если обратный траффик не поддерживается - это печально. Я сейчас поверх WG гоняю OSPF и хотелось бы чтобы оно работало дальше...

НЛО прилетело и опубликовало эту надпись здесь

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

Спасибо, попробую эти.

В итоге пока попробовал пока Nebula - mesh-сеть от Slack, работает неплохо. Никакого TLS там, конечно, нет - обычный UDP на рандомном порту.

Посмотрим сколько оно проживёт под РКНом, может быть будет как неуловимый Джо - кому оно нафиг надо.

Подскажите, а как добавить второго пользователя в настройки сервера?

можно так и оставить на одном uuid, а можно сделать так:

"settings": {
"clients": [
{
"id": "xxx",
"email":"usr1@myserver.com",
"flow": "xtls-rprx-vision"
},
{
"id": "xxy",
"email":"usr2@myserver.com",
"flow": "xtls-rprx-vision"
},
{
"id": "xxz",
"email":"usr3@myserver.com",
"flow": "xtls-rprx-vision"
}
],

"decryption": "none" },

Автор, спасибо за проделанную работу!
Настроил на сервере по инструкции, ошибок не наблюдаю, выдача journalctl -u xray:

Hidden text
Aug 08 22:19:15 vm414479 systemd[1]: Started Xray Service.
Aug 08 22:19:15 vm414479 xray[269382]: Xray 1.8.1 (Xray, Penetrates Everything.) Custom (go1.20.3 linux/amd64)
Aug 08 22:19:15 vm414479 xray[269382]: A unified platform for anti-censorship.
Aug 08 22:19:15 vm414479 xray[269382]: 2023/08/08 22:19:15 [Info] infra/conf/serial: Reading config: /opt/xray/config.json
Aug 08 22:19:15 vm414479 xray[269382]: 2023/08/08 22:19:15 [Info] transport/internet/tcp: listening TCP on 0.0.0.0:443
Aug 08 22:19:15 vm414479 xray[269382]: 2023/08/08 22:19:15 [Warning] core: Xray 1.8.1 started

Почему-то меня царапнула строчка "listening TCP on 0.0.0.0:443", но наверное так и надо :).


Стал настраивать клиенты - не работают. Но вопрос мой сейчас именно про сервер - как точно понять, что с ним все ОК, чтобы знать, что ковыряться надо на стороне клиента?

Netstat -nlp сделал. В выдаче только одна строка, касающаяся xray:

tcp6       0      0 :::443                  :::*                    LISTEN      269382/xray

А так и надо, что там ТОЛЬКО IPv6?

Спасибо

НЛО прилетело и опубликовало эту надпись здесь

На первом пункте чек-листа сразу остановился :)

просто сходить браузером на IP-адрес сервера - браузер должен ругнуться на несоответствие сертификата, и в деталях сертификата показать домен фейкового сайта

ERR_CONNECTION_ABORTED
и в подробностях - "Your connection to this site isn't secure. This site does not have a certificate."

Если что - сам сервер в порядке, на нем еще кое-что крутится и оно работает.

НЛО прилетело и опубликовало эту надпись здесь

Тогда можно попробовать сделать то же самое с помощью curl

curl: no URL specified!

пробовал на двух разных фейковых доменах (asus и amd)

НЛО прилетело и опубликовало эту надпись здесь

Вы совершенно правы, прошу прощения, не дописал в curl кусок команды.
Исправился. Вот выдача (IP своего сервера заменил на строку <MY_SERVER_IP>)

Hidden text
> curl -v --resolve www.amd.com:<MY_SERVER_IP> https://www.amd.com
* Added www.amd.com:443:<MY_SERVER_IP> to DNS cache
* Hostname www.amd.com was found in DNS cache
*   Trying <MY_SERVER_IP>:443...
* TCP_NODELAY set
* Connected to www.amd.com (<MY_SERVER_IP>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=CALIFORNIA; L=Santa Clara; O=Advanced Micro Devices, Inc.; CN=amd.com
*  start date: Feb 21 00:00:00 2023 GMT
*  expire date: Feb 20 23:59:59 2024 GMT
*  subjectAltName: host "www.amd.com" matched cert's "www.amd.com"
*  issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=GeoTrust RSA CA 2018
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55bb739a12f0)
> GET / HTTP/2
> Host: www.amd.com
> user-agent: curl/7.68.0
> accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 403
< server: AkamaiGHost
< mime-version: 1.0
< content-type: text/html
< content-length: 260
< cache-control: max-age=900
< expires: Thu, 10 Aug 2023 15:30:47 GMT
< date: Thu, 10 Aug 2023 15:15:47 GMT
< set-cookie: pmuser_country=md; expires=Thu, 24-Aug-2023 15:15:47 GMT; path=/
< strict-transport-security: max-age=31536000
< content-security-policy: frame-ancestors 'self' https://amd.pathfactory.com *.reachcm.com reachcm.com
<
<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>

You don't have permission to access "http&#58;&#47;&#47;www&#46;amd&#46;com&#47;" on this server.<P>
Reference&#32;&#35;18&#46;6dac1002&#46;1691680547&#46;95b56b9
</BODY>
</HTML>
* Connection #0 to host www.amd.com left intact

НЛО прилетело и опубликовало эту надпись здесь

Поставил.
В логах последняя запись "Xray started" и нет никаких знаков того, что к серверу пробует подключиться клиент.

Такое ощущение, что клиент вообще не может дотянуться до сервера. При запущенном v2rayN (виндовый клиент) страницы браузер не открывает, а лог клиента пишет много строчек вида

[[38;5;226m2222084306[0m 5.3s] inbound/http[http]: process connection from 127.0.0.1:62760: dial tcp <MY_SERVER_IP>:443: i/o timeout

С nekoray ситуация аналогичная

Сам спросил - сам ответил. На сервере был на вход 443-й порт закрыт. Открыл - завелось.

почему-то по умолчанию он ставит старую версию 1.7.5

Потому что в релизах на гитхабе она помечена как стабильный релиз, а более новые - как пре-релизы.

FoXray на ios обновилась и все настройки (маршрутизации слетели), то есть сейчас не заходит в ru сегмент без впн. Тыкал и не смог настроить, сейчас надо Json делать. Не поделишься, если есть конечно.

Сам спросил, сам ответил :) у кого не получается маршрутизация в Foxray, вот конфиг:

{
"routing" : {
"rules" : [
{
"domain" : [
"geosite:private",
"geosite:CATEGORY-GOV-RU",
"geosite:YANDEX",
"geosite:MAILRU",
"geosite:YOUTUBE",
"regexp:.ru$"
],
"outboundTag" : "direct",
"type" : "field"
},
{
"ip" : [
"geoip:private",
"geoip:RU"
],
"outboundTag" : "direct",
"type" : "field"
}
]
}
}

я у себя ещё добавил
"regexp:.рф$"

А подскажите, плз, куда серверная часть XRay логи пишет? В /var/log у меня пусто...

НЛО прилетело и опубликовало эту надпись здесь

Добрый день. Напишу сюда вопрос про Vision - поскольку под той статьей коменты уже закрыты.

... через три месяца возникла проблема - перестало работать) Не обновился сертификат. Попытка обновить вручную выдала ошибку что порт 80 занят - обновить невозможно. Нагуглил что это из за nginx и решение проблемы - временная остановка :

certbot certonly --standalone --pre-hook "service nginx stop" --post-hook "service nginx restart" -d exsample.com

Так ( вручную) обновилось. Вопрос: как это прописать для обновления автоматом? - это первое.

А второе - в статье написано что поле обновления надо перезапустить :

" и там в конец добавим строку

renew_hook = systemctl reload xray

" - но при вводе в терминал вручную ругается и не работает. Но работает " systemctl restart xray " - можно исправить reload на restart или тут что то другое?

@Tyrkin

Так ( вручную) обновилось. Вопрос: как это прописать для обновления автоматом? - это первое.

# systemctl status certbot-renew.timer  

certbot-renew.timer - Run Certbot twice daily

можно исправить reload на restart или тут что то другое

можно. reload перечитывает конфиг. restart делает килл и запуск процесса заново.

Подскажите пожалуйста, есть ли инструкция для настройки роутинга для FoXray? Имеется ввиду роутинг чтобы ходить до ru ресурсов без VPN. В nekobox всё делается легко, но для РФ он к сожалению недоступен на iOS

Посмотри выше ) я уже скидывал настройки.

Спасибо, помогло :)

Теперь они пришли и за мной.
PIA умер полностью, схема по Trickster VPN с этого сайта (потому что WG) умерла на мобильном интернете (МТС).

Сел, заморочился, сделал. Сначала была ошибка, будто что-то висело на 443 порту — а висел только xray. Пришлось прибить. Тогда все запустилось.
Юзаю Foxray на iOS и вопрос возник — там есть роутинг — то есть, указав RU, открываются при включенном VPN сайты на RU. Но, я так понимаю, в таком случае ни о какой маскировке речь и не идет? Я чот за пару лет прям без VPN allthetime чувствую себя будто голым...
Ранее я через Trickster VPN схему на extended-сервере добавлял исключения и направлял на сервак в России. А тут при таком роутинге ты как будто не под VPN? Или все же какая-то "маскировка" присутствует?

так-с, ну вроде разобрался, как добавить кастомный роутинг.
Но странно то, что можно указать домен, но не IP. Вроде в type указываю ip, но не дает ввести IP, требует URL

И да, я все же не совсем понял, как добавить второго пользователя? Ну, точнее, профиль.
Я так же генерирую UUID, ключи и ID? Но PrivateKey всегда будет одинаков при данной генерации? Или я что-то не понял?

НЛО прилетело и опубликовало эту надпись здесь

хммм, я поменял только UUID — работает...
Но это уже нюансы?

НЛО прилетело и опубликовало эту надпись здесь

RE: Очень рекомендуется настраивать на клиентах правила маршрутизации (пример в комментариях), чтобы трафик до .ru-доменов и хостов с российскими IP шел напрямую, а не через прокси (в клиентах для такого поставляется GeoIP база данных).

Извиняюсь за некропостинг, но нужна ли эта настройка, если включать VPN только на время захода на определённые сайты? Просто, по опыту, иногда на ru-домен без VPN тоже не зайти.
Вообще, я правильно понял, что эти правила маршрутизации нужны не для экономии трафика через сервер VPNa, а для того, чтобы цензурирующая организация не увидела, что к подконтрольным ей сайтам идёт трафик с подозрительного IP?

НЛО прилетело и опубликовало эту надпись здесь

Ещё раз спасибо! VPN, настроенный по этой инструкции, работает, и даже удалось настроить маршрутизацю на десктопе.
Но остались две проблемы:

  1. Я не смог настроить маршрутизацию в NekoBox на Андроиде. Думаю, проблема не только у меня, так что, если бы вы объяснили, как это сделать, то объяснение можно было бы добавить в статью.

  2. Почему-то не работает переадресация IP на www.nvidia.com : при отключённом VPN браузер пишет "Не удаётся получить доступ к сайту xx.xx.xxx.xx не позволяет установить соединение", при включённом "Страница недоступна Сайт xx.xx.xxx.xx не отправил данных.". При этом при выключенном VPN и добавленной строке в hosts www.nvidia.com не открывается и при запросе по названию. Насколько это всё плохо, и что с этим можно сделать?
    Подробности:

Hidden text
c:\Windows\System32\drivers\etc\hosts 

xx.xx.xxx.xx www.nvidia.com
/usr/local/etc/xray/config.json

{
  "log": {
    "loglevel": "info"
  },
  "routing": {
    "rules": [],
    "domainStrategy": "AsIs"
  },
  "inbounds": [
    {
      "port": 23,
      "tag": "ss",
      "protocol": "shadowsocks",
      "settings": {
        "method": "2022-blake3-aes-128-gcm",
        "password": "aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb",
        "network": "tcp,udp"
      }
    },
    {
      "port": 443,
      "protocol": "vless",
      "tag": "vless_tls",
      "settings": {
        "clients": [
          {
            "id": "id",
            "email": "user1@myserver",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
		"realitySettings": {
			"show": false,
			"dest": "www.nvidia.com:443",
			"xver": 0,
			"serverNames": [
				"www.nvidia.com"
			],
			"privateKey": "privateKey",
			"minClientVer": "",
			"maxClientVer": "",
			"maxTimeDiff": 0,
			"shortIds": [
				"shortIds"
			]
		}
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ]
}

При работе NekoBox постоянно жалуется на ошибки типа таких, но это, наверное, не связано:

ERROR[0501] dns: exchange failed for crl3.digicert.com. IN A: Post "https://8.8.8.8/dns-query": tls: failed to verify certificate: x509: certificate is valid for 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888,

НЛО прилетело и опубликовало эту надпись здесь

Да вроде с этим там никаких особых нюансов не было. Расскажите, что именно пытаетесь настроить и что именно не работает.

Я просто не нашёл идентичных настроек в андроидной версии NekoBox, а разобраться по аналогии не смог, потому что не понимаю, что именно делаю. GeoIP:ru вбил, но этого явно мало.

Hidden text

По поводу файрволла - попробовал отключить, ничего не изменилось.

По поводу DNS - да, старая "семёрка" (да, я знаю, что пора переходить на десятку. Руки не доходят). Попробовал убрать HTTPS, NekoBox ругается на неподдерживаемый протокл, и не включается.
Но, наверное, раз с https как-то работает, то и ладно.

НЛО прилетело и опубликовало эту надпись здесь

В Nekobox достаточно всего пару правил (раздельных, не два условия в одном правиле!), одного для доменов, другого для group.

Работает, спасибо!

Вот выдача cURL. К сожалению, не знаю, что она должна выдавать в норме, но, кажется, что-то другое.

Hidden text
d:\Programs\curl-8.3.0_2-win64-mingw\bin>curl -v --resolve www.nvidia.com:443:my_ip https://www.nvida.com
* Added www.nvidia.com:443:my_IP to DNS cache
*   Trying 50.87.144.124:443...
* Connected to www.nvida.com (50.87.144.124) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: d:\Programs\curl-8.3.0_2-win64-mingw\bin\curl-ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=*.hostgator.com
*  start date: Aug 30 00:00:00 2023 GMT
*  expire date: Sep 29 23:59:59 2024 GMT
*  subjectAltName does not match www.nvida.com
* SSL: no alternative certificate subject name matches target host name 'www.nvi
da.com'
* Closing connection
* TLSv1.3 (OUT), TLS alert, close notify (256):
curl: (60) SSL: no alternative certificate subject name matches target host name
 'www.nvida.com'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

www.nvida.com

не в этом проблема?

Хм, может, они и правда из России не открываются? Что-то мне это в голову не пришло.

Виноват, вчера вечером уже засыпал, написал с ошибкой.
Если написать правильно, то cURL не ругается, насколько я понял:

Hidden text
* Added www.nvidia.com:MyIP to DNS cache
* Hostname www.nvidia.com was found in DNS cache
*   Trying MyIP:443...
* Connected to www.nvidia.com (MyIP) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: d:\Programs\curl-8.3.0_2-win64-mingw\bin\curl-ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=California; L=Santa Clara; O=NVIDIA Corporation; CN=it.nvid
ia.com
*  start date: Jan 25 00:00:00 2023 GMT
*  expire date: Jan 25 23:59:59 2024 GMT
*  subjectAltName: host "www.nvidia.com" matched cert's "*.nvidia.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://www.nvidia.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: www.nvidia.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.3.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: www.nvidia.com
> User-Agent: curl/8.3.0
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/2 307
< server: AkamaiGHost
< content-length: 0
< location: https://www.nvidia.com/fi-fi/
< date: Sat, 30 Sep 2023 05:02:37 GMT
< last-modified: Sat, 30 Sep 2023 05:02:37 GMT
< akamai-cache-status: Redirect from child
<
* Connection #0 to host www.nvidia.com left intact

То есть, какая-то проблема с браузером/Windows.

Автор, вопрос снят. Благодарю за советы. Совет про роутинг с телефона я бы даже в шапку поднял.
@andToxaтоже благодарю, за внимательность, :- ).

НЛО прилетело и опубликовало эту надпись здесь

Осталось завернуть всю эту инструкцию в GUI-визард (или на худой конец, консольный визард) для чайников вроде меня (ну, в моем случае - я больше не чайник, а лентяй...) Я предпочел бы пошаговый установщик с последовательными вопросами, а не кучу разных окон + голые консольные команды. В идеале визард бы должен помочь:

  1. Выбрать VPS хостинг

  2. Установить и настроить OpenVPN на сервере

  3. Установить и настроить XRay с XTLS-Reality

  4. Протестировать подключение и проверить скорость трафика

  5. Настроить оптимизацию трафика при необходимости

  6. Настроить клиенты

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Забавно, кстати, что порой это куда проще, чем разобраться, что в очередном UI чем является и как в этот JSON потом подставляется.

Система ругается на конфигурацию сервиса:

systemd[1]: [🡕] /etc/systemd/system/xray.service:7: Special user nobody configured, this is not safe!

Нужно с этим что-то делать?
И ещё. Я оставил на ночь систему ненастроенной, приведенная запись - первая в журнале xray. В то же время, в которое была сделана эта запись, на сервере было зафиксировано повышение активности. Что это было?

По поводу "что это было" - это было unattended-upgrades.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, так и сделал.

Настроил, всё работает, но вылезла одна проблема: почему-то не отправляются файлы и картинки в Discord. Начинает грузить, и потом пишет upload fail. Что можно проверить?

НЛО прилетело и опубликовало эту надпись здесь

Браузер говорит:

Request Method:
PUT
Status Code:
403 Forbidden
Remote Address:
127.0.0.1:2080
Referrer Policy:
strict-origin-when-cross-origin

Когда пишешь текст то запрос идет на: https://discord.com/api/v9/channels/11502670452501/messages

А когда картинка: https://discord-attachments-uploads-prd.storage.googleapis.com/ca6463de-0f62-40b9-aa38-0ff92/image.png?upload_id=ABPtcPpGIiUTK

Видимо проблема где-то здесь...

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Взлетело на Windows и Android, большое спасибо. Хотел бы отметить пару моментов, с которыми столкнулся:

  • Не забываем открыть 443 порт в файрволе сервера. Вроде очевидная штука, но сначала потупил.

  • Находил упоминания о том, что в Nekobox может быть ошибка "reality verification failed" по причине неправильного времени на серваке: https://github.com/aleskxyz/reality-ezpz/issues/33. Нужно установить ntp, чтобы расхождений не было.

  • У меня аналогичная ошибка была по другой причине, выбранный левый сайт что-то не поддерживал. Сменил на MS и заработало.

Кстати, отметил сегодня (17 января) ошибку соединения с настройкой SNI www.microsoft.com, смена настройки на другой домен проблему решила. Вообще, решил свой домен поднять пока для такого случая, благо их есть у меня...

Спасибо! После прикрытия WG и OVPN очень полезная статья :)

Подскажите пожалуйста, а куда вообще идет UDP траффик у клиента при использовании vless+reality? nekoray вроде поддерживает tun, но вот поддерживает ли сервер я так и не понял. По конфигу там вроде только tcp и все.

В VLESS весь UDP-трафик заворачивается в TCP, на сервере разворачивается обратно.

Использование или неиспользование TUN-режима на клиенте на сервер никак не влияет и никакой отдельной поддержки с его сторон не требует.

Публикации