В статье рассмотрим 3 способа настройки VPN-подключения с VLESS и Reality.
VLESS — это современный протокол передачи данных, разработанный для обеспечения высокой скорости и конфиденциальности в интернете. Его часто называют VLESS VPN, хотя строго говоря, речь пойдет об установке прокси с протоколом VLESS на базе сервера XRay с Reality.
Начнем с самого простого и универсального варианта, не требующего технических знаний.

Подготовка
Для начала нам нужен виртуальный сервер (VPS), на котором будем всё настраивать. Арендовать можно самый дешевый у любого хостинг провайдера. После оформления заказа получим данные для доступа к нему — IP-адрес и root-пароль.
Способ 1. Простая установка
Самый быстрый и удобный вариант настройки VLESS — с помощью Амнезии, инструкция здесь.
Устанавливаем на компьютер или телефон приложение AmneziaVPN, запускаем его, жмем на «Self-hosted VPN» (настроить VPN на собственном сервере) и вводим IP-адрес и root-пароль виртуального сервера. На следующем шаге кликаем на «Выберите VPN-протокол» и выбираем «XRay» (XRay with Reality).
Затем программа настроит всё на сервере и предложит подключиться к своему VPN. По умолчанию используется протокол VLESS.
Способ 2. Виртуальный сервер с 3X-UI
У некоторых хостинг-провайдеров при заказе сервера можно выбрать установку 3X-UI — удобного графического интерфейса для настройки XRay с VLESS. Когда сервер будет готов, вы получите ссылку для входа в 3X-UI с логином и паролем.
Открываем ссылку, авторизуемся и переходим в раздел «Подключения». Далее жмем «Добавить подключение» и во всплывающем окне выполняем следующие действия:
- Протокол указываем как vless, порт меняем на 443 
- В строке «Безопасность» выбираем Reality и нажимаем кнопку «Get New Cert» 
- В секции «Клиент» заменим Email на любое понятное название, а для Flow выберем xtls-rprx-vision 
- Больше ничего не меняем, кликаем «Создать» и убеждаемся, что новая конфигурация добавлена и доступна в виде QR кода или URL ссылки (иконка «Информация») 
Для наглядности, покажу это на видео:

Сервер настроен, и чтобы к нему подключиться, нужно установить программу-клиент.
Вот наиболее популярные клиенты:
- для Windows: Hiddify, InvisibleMan-XRay, NekoBox 
Для подключения большинства клиентов достаточно отсканировать QR-код конфигурации или вставить соответствующую URL ссылку. В отдельных случаях, если в клиенте нет функции импорта, конфигурационные данные из URL ссылки нужно переносить вручную.
Способ 3. Самостоятельная установка
Этот вариант самый трудозатратный и включает несколько шагов.
Шаг 1. Заходим на сервер от имени root, обновляем списки пакетов и запускаем установочный скрипт XRay:
apt update -y
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ installШаг 2. Создаем необходимые учетные данные для конфигурации и сохраняем их где-то, позже они понадобятся:
xray uuid
xray x25519Шаг 3. Для работы VLESS нужен сайт, поддерживающий HTTP/2, TLS 1.3 и сертификат X25519. Проверить это можно так:
curl -I --tlsv1.3 --http2 https://example.com
openssl s_client -connect example.com:443 -briefПример проверки Хабра:

Шаг 4. Содержимое файла /usr/local/etc/xray/config.json заменяем шаблоном конфига ниже. Шаблон нужно отредактировать и дополнить в соответствии с комментариями в нем:
config.json
{
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [
        {
            "port": 443, 
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "",          // здесь вставить uuid, сгенерированный на шаге №2
                        "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none"
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
                "realitySettings": {
                    "dest": "example.com:443",	// здесь заменить `example.com` на ваш сайт из шага №3, порт оставляем
                    "serverNames": [
                        "example.com",		// заменить на ваш сайт из шага №3
                        "www.example.com"   // и добавить альтернативные имена (если есть)
                    ],
                    "privateKey": "",		// вставить приватный ключ (Private key), созданный на шаге №2
                    "shortIds": [   
                        "0a381e1fa219",		// Список уникальных коротких идентификаторов, доступных клиентам, чтобы их различать
                        "be0ce04754dc",		// Длина: от 2 до 16 символов. Используемые символы: 0-f. 
                        "41beec74f4bc" 		// Для удобства, значения можно сгенерировать командой `openssl rand -hex 6`
                    ]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls"
                ]
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        }
    ]
}Шаг 5. Перезагружаем XRay и убеждаемся, что всё работает:
systemctl restart xray
systemctl status xrayСервер готов. Список приложений-клиентов для подключения мы рассматривали в предыдущем способе настройки, используйте их.
Подготавливаем URL-строку конфигурации, чтобы вставить ее в клиент, вот шаблон:
vless://<uuid из шага 2>@<IP-адрес сервера>:443?type=tcp&security=reality&pbk=<публичный ключ из шага 2>&fp=chrome&sni=<домен из serverNames в конфиге>&sid=<одно из значений shortIds в конфиге>&flow=xtls-rprx-vision#<произвольное название, под которым профиль будет сохранён в приложении>Из этой строки любым QR-генератором можно сделать графический код для удобного импорта конфигурации в дальнейшем. Например так:
apt install qrencode -y
qrencode -o qr.png 'vless://...'В результате мы получим файл qr.png  содержащий QR-код, просканировать который можно любым совместимым клиентом.
Комментарии (41)
 - gudvinr24.12.2024 10:40- Заходим на сервер от имени root, обновляем списки пакетов и запускаем установочный скрипт XRay - Запускаем от рута рандомный скрипт из интернета, не посмотрев что запускаем. - Отличный гайд, спасибо.  - nolirpaf24.12.2024 10:40- Кажется, я уже просил Вас написать правильный гайд. Пожалуйста, хоть кто-то из здешних комментаторов в стиле "недогайд без настройки защиты", "рандомный скрипт, спасибо", напишите правильную инструкцию. Пожалуйста. 
 
 - Vindicar24.12.2024 10:40- Ключевой момент не указал. - Если ходить через прокси на ресурсы в россии - пустя несколько дней ловишь замедление трафика до своего сервера. - Более того, если у тебя большой процент трафика идёт через твой сервер - тоже прекрасно ловишь замедление. - Так что позарез нужно настраивать клиент-прокси так, чтобы пускал через сервер только заблокированное. А вообще пора искать клиент, который будет умело спамить "нормальными" запросами, чтобы поддерживать имидж "обыкновенного юзера".  - Andrevich24.12.2024 10:40- А про замедление могли бы подробнее рассказать? Как определили что это именно замедление ТСПУ/провайдера, а не на самом прокси?  - Vindicar24.12.2024 10:40- Потому что у друга в Москве замедления на этом же сервере не наблюдается, и у меня на мобильном операторе тоже. При это у меня пров и OpenVPN начал блокировать раньше, чем у них (но мой пров через ростелеком работает, так что может там начали). - А симптомы простые: даунлоад ровнёхонько один мегабит, тогда как аплоад - те же 50. Мерял спидтестом.  - ganzmavag24.12.2024 10:40- А симптомы простые: даунлоад ровнёхонько один мегабит, тогда как аплоад - те же 50. Мерял спидтестом. - О, вчера на такое наткнулся. Магистральный канал, судя по tracert, тоже Ростелеком. На мобильную сеть переключаешься - все работает с нормальной скоростью, на домашнюю - загрузка 1-2 мегабита при нормальном аплоаде. 
 
  - Okeu24.12.2024 10:40- можно замерить скорости от выходной точки до целевых хостов. 
 А потом от себя до выходной точки)
 
  - Alexsey24.12.2024 10:40- Там кстати по разному бывает если палят соединение. Бывает замедление, бывает просто блочит весь трафик. А бывает что по какой-то абсолютно странной причине блочит только ssh хоть он вообще и не связан с обходом блокировок.  - Okeu24.12.2024 10:40- если блочит, то хотя бы можно трассировками/дампами в обе стороны спалить) 
 А замедление, я вообще хз как достоверно обнаружить, если честно - Vrag24.12.2024 10:40- Например залить/скачать файл на VPS по SSH/SCP и сравнить со скоростью которую показывает условный спидтест внутри впна. Если в первом случае 10ки мегабит, а во втором единицы, то это оно. Ещё я как-то наблюдал ситуацию, что канал по ощущениям не шейпят, а начинают сильно дропать пакеты. Что приводит к тому же грустному результату.  - Okeu24.12.2024 10:40- Например залить/скачать файл на VPS по SSH/SCP - кстати пришла в голову идея, (у меня xray прокся на компе в TUN режиме) 
 когда я подрублю проксю, то и ssh туда будет завернут, получается я тупо могу down/upload чекнуть с и без прокси, или iperf (или типа того) прогнать.
 По потерям и дропам, с высокой степенью достоверности наверное можно MTRом чекнуть, правда хз, по каким признакам можно отличить это от какого-нибудь временного сбоя где-то на линии
 
 
 
  - orefkov24.12.2024 10:40- А не можете подсказать андроид-клиента, который может направлять в прокси только сайты из списка?  - dochkosmonavta24.12.2024 10:40- V2raytun (databridges technologies) умеет по приложениям. - И айос и андроид. Реально умеет маршрутизировать трафик по приложениям. - V2rayng якобы умеет (в настройках можно указывать) однако на деле маршрутизация не работает.  - orefkov24.12.2024 10:40- Спасибо, нашёл для себя NekoBox. Умеет роутить трафик по доменам, приложениям и ещё куче параметров. Настроил список, какие домены заворачивать в прокси, а какие пропускать напрямую. 
 Умеет в много разных протоколов, для себя просто кинул ssh на vps в Нидерландах.
 
  - TheBakerCat24.12.2024 10:40- V2rayNG и NekoBox точно умеют. Настройка V2RayNG под кастомные geoip/geosite базы неоднократно мелькала на NTC.  - orefkov24.12.2024 10:40- Да, спасибо, уже разобрался. Использую NekoBox, создал rule_set по domain_suffix, забил туда список из антизапрет плюс ютуб плюс myip.com для проверки, пускаю через прокси. Остальное напрямую. 
 
 
  - Corplish24.12.2024 10:40- Настроена амнезия с X-ray, сервер свой в США. Раз в сутки приходится менять подменный урл в настройках X-Ray, потому что палят и блочат. С новым урлом работает сутки-двое, видимо как то автоматом отслеживается уже 
  - ashuu24.12.2024 10:40- Расскажи тогда сам подробнее, как этого избежать, настроил себе, но блин началась фигня тоже, как это обойти, если можно. А если нет, то скинь где почитать плз 
  - vikarti24.12.2024 10:40- Таак. А что в данном случае считается ресурсами в России? - В частности - ориентированную на Россию ресурсы за Cloudflare у которых даже геоблок при заходе не из России - считаются? А облака Google и Amazon? - Потому что у меня например отправка в VPN по IP (а списки пополняются по DNS-именам, около 500 сайтов + по AS'кам) и вроде бы проблем с торможением нет.  - Vindicar24.12.2024 10:40- Я бы сказал, ресурсы, маршрут от прокси-сервера до которых идёт через российские магистральные сети. В первом приближении - всё, что по геоip определяется как россия (и возможно, некоторые соседние страны). Насколько я читал, один из триггеров для попадания в серый список - корреляция, когда сначала идёт соединение из российского сегмента на зарубежный хост, а потом в течении короткого времени - соединение с этого хоста. Разумеется, проследить это можно только в ситуации, когда "ответное" соединение с хоста проходит через российскую сеть, а легче всего - когда оно идёт на какой-то российский ресурс.  - leshoi24.12.2024 10:40- Сами разрабы xray пишут, чтобы настраивали direct до ресурсов страны в которой проживаете. Я настроил по geoip и regexp и вроде пока сервер в бан не отлетал, upload нормальный. - Кому интересно посмотреть конфиги можно сюда еще зайти - https://github.com/XTLS/Xray-examples 
 
 
 
 - mister_xen24.12.2024 10:40- Звучит страшно 4 какието технологии работают в одно время? Насколько это режет производительность? - Нужен краткий гайд почему столько слоев и как они работают с друг другом. - Vless / Reality / vision (при выборе flow у вас на скрине) / xray 
 
           
 



turbo_nyasha
Засекаем таймер до 451 ошибки.