Обновить

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

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров498K

Статья опубликована под лицензией Creative Commons BY-NC-SA.

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

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

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

XTLS-Reality

Коротко про XTLS-Reality. Это самое новое изобретение от авторов XRay. Про XRay (и его прородителя V2Ray, он же V2Fly) я рассказывал в предыдущей статье. XTLS-Reality поддерживается в последних релизах XRay, Sing-box и многих клиентах.

Он предназначен для защиты от выявления методом active probing. В отличие от старых протоколов (Shadowsocks, VMess, VLESS, и транспорта XTLS-Vision), определение “свой/чужой” здесь происходит еще на этапе TLS-хендшейка в момент чтения ClientHello. Если клиент опознан как “свой”, сервер работает как прокси, а если нет - вжух! - и TLS подключение передается на какой-нибудь другой абсолютно реальный хост с TLS (например, google.com или gosuslugi.ru), и таким образом клиент (или цензор, желающий методом active probing проверить, а что же прячется на том конце) получит настоящий TLS-сертификат от google.com или gosuslugi.ru и настоящие данные с этого сервера. Полное соответствие. Механизм определения "свой/чужой" во многом схож с механизмом работы Cloak, и позволяет достоверно определить подлинность клиента, но вместе с тем не вызывает подозрения у цензоров и устойчив к replay-атакам - со стороны систем анализа трафика это выглядит как подключение к настоящему популярному сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит до предела аутентично и не вызывает подозрений. Еще XTLS-Reality может оказаться вариантом для обхода суровых корпоративных прокси с Man-in-the-Middle, которые перешифровывают весь трафик из сети своим сертификатом (нередко подобные прокси имеют список исключений для ресурсов с HSTS и certificate pinning, либо для экономии ресурсов, и подобрав правильный домен можно пролезть во внешнюю сеть без расшифровки трафика). Бонусом еще XTLS-Reality обычно используется в паре с XTLS-Vision, то есть мы имеем очень достоверно выглядящие паттерны трафика из-за отсутствия двойного шифрования TLS-in-TLS (и заодно еще очень высокую производительность, у меня между хостами в Москве и в центральной Европе XRay легко выдает >100 мегабит).

Единственный минус подобного решения - в отличие от более старых протоколов (VLESS без XTLS) нет возможности работать через websocket-транспорт, и, соответственно, через CDN типа Cloudflare. Upd: такая возможность есть если использовать многоуровневую схему с SNI-proxy (типа haproxy) или второй IP-адрес - см. Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Установка сервера XRay

А теперь настало время все это настроить. Дано: VPS на Linux (Debian или Ubuntu, на других дистрибутивах плюс-минус то же самое) с IPv4 или IPv6-адресом.

Установку XRay я уже описывал в предыдущей статье, поэтому здесь буду краток.

Можно установить XRay руками:

wget https://github.com/XTLS/Xray-core/releases/download/v1.8.1/Xray-linux-64.zip
mkdir /opt/xray
unzip ./Xray-linux-64.zip -d /opt/xray
chmod +x /opt/xray/xray
nano /usr/lib/systemd/system/xray.service
systemctl enable xray
xray.service
[Unit]
Description=Xray Service
Documentation=https://github.com/xtls
After=network.target nss-lookup.target

[Service]
User=nobody
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/opt/xray/xray run -config /opt/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23
LimitNPROC=10000
LimitNOFILE=1000000

[Install]
WantedBy=multi-user.target

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

bash -c "$(curl -L https://raw.githubusercontent.com/XTLS/Xray-install/046d9aa2432b3a6241d73c3684ef4e512974b594/install-release.sh)" @ install --version 1.8.1 

Скрипт установит XRay и создаст для него systemd-юнит.

Настройка сервера XRay

Для настройки нам понадобится ряд параметров. Часть из них нам может сгенерировать сам XRay:

/usr/local/bin/xray uuid # /opt/xray/xray если устанавливали вручную
/usr/local/bin/xray x25519 # /opt/xray/xray если устанавливали вручную

На выходе вы получите UUID (идентификатор пользователя для протокола аутентификации VLESS), а также приватный и публичный ключи - запишите их, они вам понадобятся.

Еще один параметр, который нужен - short ID, он представляет собой просто шестнадцатиричное число (символы 0-9, a-g) длиной до 8 байт (16 символов) - можно набрать любую абракадабру типа "aabbccdd" или запустить openssl rand -hex 8

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

Требования довольно простые:

это должен быть иностранный сервер (вне РФ), не забаненный по домену Роскомнадзором, поддерживающий подключения по TLSv1.3 и HTTP/2, имеющий заглавную страницу, которая не переадресовывает на какой-нибудь другой домен. Если совсем упарываться, то неплохо было бы если бы IP-адрес был из диапазона того же облачного хостера, что и у вас, и чтобы сервер поддерживал Online Certificate Status Protocol (OCSP). Если вы не знаете, что вся эта фигня значит - не заморачивайтесь, выбирайте что-нибудь простое, например

  • www.samsung.com:443

  • www.googletagmanager.com:443

  • www.asus.com:443

  • www.amd.com:443

  • www.cisco.com:443

  • www.microsoft.com:443

  • dl.google.com:443

  • www.linksys.com:443

  • www.nvidia.com:443

    и т.д.

Лучше всего выбирать что-нибудь из сети того же хостера, каким пользуетесь вы.
Для этого есть специальный инструмент: https://github.com/XTLS/RealiTLScanner

Скачиваете его под Windows/Linux со страницы Releases, или собираете сами (go build).

Далее, запускаете как-то так:

./RealiTLScanner -addr IP_вашего_VPS -showFail

и ждете.

Сканер будет перебирать IP-адреса из той же подсети, что и ваш сервер, и пытаться к ним подключиться по TLS. Если он что-то найдет - вы это увидите. Пример (я сканирую рандомный IPшник):

89.116.243.206:443 	TLS handshake failed: EOF
89.116.243.207:443 	TLS handshake failed: EOF
89.116.243.208:443 	----- Found TLS v1.3	ALPN   	CN=caprover.com,O=CapRover.com,L=Vancouver,ST=British Columbia,C=CA,1.2.840.113549.1.9.1=#0c11696e666f40636170726f7665722e636f6d
89.116.243.209:443 	TLS handshake failed: EOF
89.116.243.210:443 	----- Found TLS v1.3	ALPN   	CN=patentpath.io
89.116.243.211:443 	----- Found TLS v1.3	ALPN   	CN=vps3.gecon.pl
89.116.243.212:443 	TLS handshake failed: EOF
89.116.243.213:443 	TLS handshake failed: EOF
89.116.243.214:443 	TLS handshake failed: EOF
89.116.243.215:443 	TLS handshake failed: read tcp 192.168.136.132:55142->89.116.243.215:443: i/o timeout
89.116.243.216:443 	----- Found TLS v1.3	ALPN   	CN=localhost,OU=none,O=none,L=Sometown,ST=Someprovince,C=US,1.2.840.113549.1.9.1=#0c137765626d6173746572406c6f63616c686f7374
89.116.243.217:443 	TLS handshake failed: EOF
89.116.243.218:443 	TLS handshake failed: EOF
89.116.243.219:443 	TLS handshake failed: EOF
89.116.243.220:443 	TLS handshake failed: EOF
89.116.243.221:443 	TLS handshake failed: EOF
89.116.243.222:443 	----- Found TLS v1.3	ALPN   	
89.116.243.223:443 	----- Found TLS v1.3	ALPN   	CN=milapanel.milahosting.com
89.116.243.224:443 	----- Found TLS v1.3	ALPN   	CN=vps-us.workx.dev
89.116.243.225:443 	----- Found TLS v1.3	ALPN   	CN=www.google.com
89.116.243.226:443 	----- Found TLS v1.3	ALPN   	CN=www.bookifynow.com
89.116.243.227:443 	----- Found TLS v1.3	ALPN   	CN=next.tasosvl.cc
89.116.243.228:443 	TLS handshake failed: EOF
89.116.243.229:443 	----- Found TLS v1.3	ALPN   	CN=alpaca-dreams.com
89.116.243.230:443 	TLS handshake failed: EOF

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

Сервер выбрали, настало время редактировать конфиг. Если вы ставили XRay вручную то он будет лежать в /opt/xray/config.json, если скриптом - то в /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": "4c3fe585-ac09-41df-b284-70d3fbe18884",
"email": "user1@myserver",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.microsoft.com:443",
"xver": 0,
"serverNames": [
"www.microsoft.com"
],
"privateKey": "GOTPj_klK7_j_IvjxiCtyBL80RYotYSOdBBBSfFOMH4",
"minClientVer": "",
"maxClientVer": "",
"maxTimeDiff": 0,
"shortIds": [
"aabbccdd"
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}

На что обратить внимание: в "serverNames" указан домен, под сервер которого вы маскируетесь (в данном случае www.microsoft.com), "id" в секции "clients" - это тот самый UUID, что мы сгенерировали выше. "privateKey" и первый элемент в массиве "shortIds" - это приватный ключ и short ID, что мы тоже сгенерировали выше. Публичный ключ не теряйте, он будет нужен на клиенте.

В этом конфиге так же на 23 порту настроен Shadowsocks-2022, на всякий случай, вдруг пригодится. Если не надо, или хочется полной маскировки - можно удалить этот элемент из "inbounds".

Перезапускаем еще раз xray:

$ systemctl restart xray

Проверяем что все нормально запустилось:

$ journalctl -u xray

Например, XRay может ругнуться что не удается распарсить JSON-файл, обычно это связано с лишними запятыми в конце {} блока, в этом случае он укажет, на какой строке ошибка. Исправляем ошибки, перезапускаем еще раз, и переходим к настройке клиентов.

Настройка клиентов

Сначала Nekobox на десктопе (Windows, Linux, и есть неофициальные билды под MacOS).

Если вы раньше им не пользовались, нужно переключить его на использование движка sing-box, Preferences -> Basic Settings -> Core:

Идем в Server -> New profile и заполняем все вот так:

Address - IP-адрес вашего сервера, UUID - соответственно, UUID, SNI должен соответствовать домену, под который вы маскируетесь (один из списка "serverNames" из конфига сервера), uTLS - я выбираю Chrome (это маскировка клиента под обычный браузер), Reality Pbk - публичный ключ (не приватный, а второй, публичный), Reality Sid - shortId из конфига выше.

Сохраняем, кликаем правой кнопкой мыши на новый сервер в списке, жмем Start, и проверяем подключение выбрав там же Current Select -> URL test.

Если все нормально, то галочками "VPN Mode" или "System proxy" можно завернуть трафик всех приложений на прокси.

Настройка v2rayN под Windows аналогична, набор параметров тот же, вот скриншот (не мой, из гугла):

Автор Nekobox перестал собирать версии под macOS, поэтому я рекомендую использовать Wings X / FoXray. Настройки точно такие же.

Если вдруг вам нравятся Clash-based клиенты (например, Clash Verge под Windows, Linux, MacOS или для мобильных устройств), то нужно использовать ядро Clash.Meta и специальный конфиг для Clash. В случае с Clash Verge можно сделать так:

  1. Settings -> Clash Core -> Выбрать Meta

  2. Сохранить конфиг в какой-нибудь локальный файл:

clash-reality.yml
mode: global
mixed-port: 7890
allow-lan: false
log-level: info
ipv6: true
secret: ''
external-controller: 127.0.0.1:9090
proxies:
- name: vless-reality-vision
type: vless
server: xxx.xx.xx.xx # ваш IP
port: 443
uuid: 4c3fe585-ac09-41df-b284-70d3fbe18884 # ваш UUID
network: tcp
tls: true
udp: true
flow: xtls-rprx-vision
servername: www.microsoft.com # ваш фейковый домен
reality-opts:
public-key: kbITklNKTdfvB6e3xy97pTV7gjl3Z3irv246oRZ5Gnk # public key
short-id: aabbccdd # short ID
client-fingerprint: chrome

  1. Profiles -> New - Type : Local -> выбрать ваш файл и кликнуть по нему в окне Clash

  2. Proxies -> выбрать ваш новый прокси на вкладке Global -> кликнуть по полю справа чтобы протестировать подключение, должно появиться значение пинга

  3. Settings -> System proxy: вкл - после этого трафик всей системы пойдет через прокси. Можно использовать и TUN, но для этого надо запускать Clash Verge от рута.

Далее, мобильные клиенты. Вариант раз: в Nekobox или в v2ray кликнуть правой кнопкой мыши на ваш сервер из списка, выбрать Share -> QR code или Link, и получить ссылку или QR-код, которые потом можно отсканировать/вставить в мобильные клиенты. Либо вбить все те же данные руками, вот как это выглядит в андроидовском v2rayNG (версия из Google Play еще не обновилась и не умеет работать с Reality, скачиваем APK с Гитхаба):

скриншоты

Под iOS я рекомендую использовать Shadowrocket (3$) или Wings X / FoXray (он бесплатный). Настройки подключения полностью аналогичны описанному выше.

Советы бывалых

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

  2. Обязательно используйте uTLS на клиентах, выставляя правильный TLS fingerprint (например, Chrome).
    Если при использовании XTLS вы почему-то не можете подключиться, в логах сервера видна ошибка типа "failed to use xtls-rprx-vision, found outer tls version 771", попробуйте сменить версию uTLS. У меня, например, при выборе "android" клиент не подключается, а при выборе "chrome" все окей.

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

  4. Чтобы проверить, что маскировка работает как надо, добавьте IP-адрес вашего сервера и домен, под который вы маскируетесь, в hosts-файл (на Linux это /etc/hosts, на Windows это c:\windows\system32\drivers\etc\hosts), например, "38.25.63.10 www.microsoft.com", и после этого попробуйте зайти на этот адрес браузером - должна открыться настоящая страница этого домена с настоящим TLS-сертификатом:

    Другой вариант: использовать CURL.
    curl -v --resolve www.microsoft.com:443:151.101.65.69 https://www.microsoft.com 
    (вместо 151.101.xx.xx должен быть IP вашего сервера)

О VLESS

Мы настроили протокол VLESS. Иногда в интернете можно встретить утверждения, что, мол VLESS не шифрует данные, а значит он небезопасен. Это не так. То, что VLESS не предусматривает шифрования на уровне протокола, не значит, что данные передаются в нешифрованном виде. VLESS всегда работает поверх TLS, трафик шифруется именно механизмами TLS, а не самого VLESS. Никакой проблемы с безопасностью тут нет, все секьюрно :) То же самое с XTLS. XTLS отключает свой слой шифрования только в случае, если определяет, что обмен между пользователем и конечным сервером уже зашифрован TLS v1.3.

О надежности

Как сделать хорошую, правильную маскировку для XTLS-Reality? Внимание к мелочам.

  1. Выбирайте домен для маскировки от сайта, который хостится у того же хостера, что и вы (см. начало статьи).

  2. Перевесьте SSH на вашем сервере с 22 порта на какой-нибудь другой сильно повыше, а то слишком палевно

  3. Если вы используете панель типа X-UI или 3X-UI - то перевесьте ее тоже со стандартного порта на какой-нибудь нестандартный сильно повыше. В идеале стоит вообще заставить ее слушать на 127.0.0.1 (localhost), а подключаться к ней через SSH: например, если панель у вас на 127.0.0.1 и порту 48888, то сделав
    `ssh -L 8080:127.0.0.1:48888 user@serveradd -p <ssh_port>`
    вы сможете попасть на панель пройдя браузером по адресу http://127.0.0.1:8080

  4. Сделайте проброс порта не только на 443/TCP-порт (его делает XTLS-Reality), а еще на 443/UDP и 80/TCP до сервера, под который вы маскируетесь. Например, если вы маскируетесь под www.microsoft.com, то отрезолвте его IP-адрес (с помощью nslookup, ping или какого-нибудь онлайн-сервиса), а потом добавьте правила iptables (можно засунуть в /etc/rc.local, если он у вас есть - см. инструкции для вашего Linux-дистрибутива):
    iptables -t nat -A PREROUTING -i eth0 -p udp --dport 443 -j DNAT --to-destination fake_site_ip:443
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination fake_site_ip:80
    (вместо eth0 должен быть ваш сетевой интерфейс, иногда бывает ens3, например).

  5. Если ваш хостер позволяет менять PTR-записи для IP-адресов (так называемые "обратные DNS"), то поменяйте ее на такую, какая есть у IP-адреса сайта, под который вы маскируетесь, или хотя бы просто на сам этот домен.

О клиентах

Весьма важно настроить на клиентских устройствах правила, чтобы доступ к внутренним (российским, если вы в РФ) ресурсам не шел через прокси-сервер.

Примеры настроек разных клиентов для этого есть в FAQ:
FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc. для обхода блокировок

Там же есть ответы на многие другие частые вопросы и советы по устаранению проблем.

На этом всё.

Удачи, и да прибудет с вами сила.

Если вы хотите сказать спасибо автору — сделайте пожертвование в один из благотворительных фондов: "Подари жизнь", "Дом с маяком", "Антон тут рядом".

Теги:
Хабы:
Всего голосов 37: ↑37 и ↓0+37
Комментарии310
+310
Закрыть

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

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

ЗакрепленныеЗакреплённые комментарии
НЛО прилетело и опубликовало эту надпись здесь
# 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-режима на клиенте на сервер никак не влияет и никакой отдельной поддержки с его сторон не требует.

по поводу проброса портов tcp 80 и udp 443 для маскировки. это не будет работать, потому что хоть пакет и улетит на указанный dnat to хост, но ответ от хоста не вернется отправителю.

На VDSINA взял сервер за $4.8/мес сразу с установленной панелью 3X-UI. И там же XRay и всё остальное, чего я не понимаю. Но поставил Nekobox и как-то работает.

Вот и пригодилось :( Сегодня вдруг перестал работать Shadowsocks. Не понял по какой причине: смена порта и протокола шифрования (пока?) помогла, но на будущее настроил VLESS по этой инструкции. Спасибо!
Вопрос: а консольного клиента под Linux нет?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

189 540 ₽/мес.

— средняя зарплата во всех IT-специализациях по данным из 44 079 анкет, за 2-ое пол. 2024 года. Проверьте «в рынке» ли ваша зарплата или нет!

60k 90k 120k 150k 180k 210k 240k 270k 300k 330k

Читают сейчас

Истории

Топ-7 годноты из блогов компаний
Конкурс красоты кода
Как продвинуть машину времени?
Учим английский
Узнай свою еду лучше

Работа

Ближайшие события

24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань