Параметры VLESS-ключа по-человечески
Строка читается слева направо: кто подключается, куда, с какими параметрами и как назвать сервер в списке. Без владельца сервера можно менять только имя после #; всё остальное должно совпадать с его настройками.
Разбирать параметры одиночной строки приходится, когда она сломалась; у ключа-подписки настройки обновляет сам сервис.
Посмотреть условия →Как читать строку и её разделители
vless://<uuid>@<адрес>:<порт>?<параметры>#<имя>
Это схема, а не готовый ключ. vless указывает протокол, :// отделяет его от содержимого. Знак @ отделяет идентификатор от адреса, двоеточие — адрес от порта, ? открывает параметры, & разделяет пары «имя=значение», # начинает подпись.
Порядок параметров после ? не важен, а регистр важен: serviceName и servicename — разные имена. В значениях встречается кодирование: %2F означает /, %20 — пробел. Раскрывать такие записи вручную перед добавлением не нужно.
Свою строку можно разобрать на главной: она разложится на части прямо в браузере, никуда не отправляясь. Ниже — сначала основные части, затем настройки соединения; при неполадках начинайте с того, целая ли копия.
Идентификатор, адрес и порт: кто и куда
@, адрес и порт — после него.Идентификатор обычно имеет формат UUID: пять групп шестнадцатеричных символов длиной 8-4-4-4-12. Это фактически пароль: кто знает строку, тот может пользоваться доступом. Заменить UUID случайным набором той же длины и получить соединение нельзя.
Адрес — домен или IP сервера. IPv6 записывают в квадратных скобках, чтобы его двоеточия не смешивались с разделителем порта. Порт — число от 1 до 65535, часто 443. Номер задаёт владелец сервера, и подбор наугад строку не исправит.
Защита соединения: security и sni
security задаёт защиту соединения. tls — шифрование, как у защищённых сайтов. reality — вариант защищённого соединения, который задаёт владелец сервера, менять его руками не нужно. none — защиты на этом уровне нет; для подключения через интернет так бывает редко.
sni — имя сервера, которое приложение называет серверу в начале защищённого соединения. Оно должно совпадать с настройкой владельца. Это не поле для адреса сайта, который вы хотите открыть: подставленный туда «знакомый» домен ломает соответствие настроек.
pbk— открытый ключ сервера, встречается в строках сsecurity=reality. Обычно это 43 символа: латиница, цифры, дефис и подчёркивание. Без него такое соединение не собирается.sidтоже приходит из настроек сервера: короткий идентификатор из цифр 0–9 и букв a–f, до 16 знаков. Дописать его по образцу соседнего примера нельзя.fp— отпечаток клиента, напримерchrome,firefoxилиsafari. Менять его без причины не стоит.spx— служебное значение из настроек сервера, записанное в закодированном виде;spx=%2Fпереносите из оригинала как есть.
Транспорт: type, path, host
type выбирает транспорт — то, как данные упакованы по дороге к серверу. Если параметра нет, используется tcp. Для ws рядом встречаются path и host, для grpc — serviceName. Параметр host после ? и адрес перед портом — разные вещи: не подменяйте один другим.
Встречаются также httpupgrade и xhttp; последний понимают свежие версии приложений. Какой транспорт нужен, решает сервер: менять его в строке самостоятельно бесполезно.
Режим передачи и имя: flow, encryption, #
flow=xtls-rprx-vision — режим передачи внутри защищённого соединения. Он работает с tls или reality поверх tcp. Старые значения вроде xtls-rprx-direct остались от прежних версий серверного ядра и с нынешними обычно не работают — новую строку должен выдать источник ключа.
encryption у VLESS обычно равен none; другое значение задаёт владелец сервера. Это не то же самое, что security: переносите обе настройки из оригинала.
После # стоит только имя сервера в Happ. Его можно заменить понятной подписью: на подключение оно не влияет и другие поля не исправляет.
Что можно менять руками
| Часть строки | Что это | Можно менять? |
|---|---|---|
vless | протокол | нет, задаёт источник |
| uuid | идентификатор доступа | нет |
| адрес и порт | место подключения | нет |
security, sni | защита и имя сервера | нет |
pbk, sid | значения из настроек сервера | нет |
fp, spx | дополнительные параметры | нет, если источник не просил |
type, path, host, serviceName | транспорт и его спутники | нет |
flow, encryption | режим передачи и настройка VLESS | нет |
имя после # | подпись в списке | да, на соединение не влияет |
Если разобрали, но подключиться не получилось
Целая строка отключённого или истёкшего ключа выглядит так же правильно, как рабочая. Для первого подключения пригодится инструкция добавления в Happ. Если строка добавилась, а ответа нет, проверьте причины неполадок и уточните у источника, действует ли доступ.
Вопросы к параграфу
Что такое reality в ключе?
Это вариант защищённого соединения, который задаёт владелец сервера, менять его руками не нужно.
Можно заменить sni на другой сайт?
Нет. Имя должно совпадать с настройками сервера. Если владелец его изменил, нужна новая строка.
Важен ли порядок параметров?
Нет, пары после ? могут стоять в любом порядке. А вот написание, регистр, значения и разделители & должны сохраниться.
В строке нет security — это нормально?
Без security соединение идёт без защиты на этом уровне. Так бывает, но для подключения через интернет редко; нередко параметр пропадает вместе с обрезанным хвостом строки. Сверьте её с оригиналом.
Что значит %2F в path?
Это закодированный знак /. Оставьте запись такой, какой её выдал источник: раскрывать её вручную не нужно.
Готовый ключ-подписка
Параметры, которые обновляются сами
В ключе-подписке строки с параметрами выдаёт и поддерживает сервис: если у сервера сменится порт или ключ, Happ получит новые значения при обновлении списка. Разбирать и сверять ничего не придётся. От 200 ₽ в месяц, 3 устройства, первые 3 дня бесплатно.
- 3 дня бесплатно, без карты
- 3 устройства в любом сроке
- разовый платёж, без автосписаний
Сайт и сервис доступа не связаны с разработчиком Happ; само приложение бесплатное.
Читать дальше