Из чего состоит строка: шесть частей и границы между ними
Строка кажется мешаниной, пока не видно границ. А границ всего пять, и все они — обычные знаки препинания: две косые черты, собака, двоеточие, вопрос и решётка.
Нужна не строка, а рабочий список серверов? Одна ссылка-подписка обновляет его сама: 200 ₽ за месяц, 1 800 ₽ за год на 3 устройства. Первые 3 дня — без карты.
Посмотреть →Строку режут пять разделителей: :// отделяет протокол, @ — идентификатор, : — порт, ? — параметры, # — имя. Всё между ними и есть шесть частей конфигурации.
vless://a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d@node7.example-host.net:443?type=ws&security=tls&sni=node7.example-host.net&path=%2Fray#Амстердам-01- 01 Протокол ЧТО vless:// Первое слово до двух слешей. Говорит приложению, по каким правилам разговаривать с сервером.
- 02 Идентификатор КТО a1b2c3d4-…-0e1f То, что стоит до знака @. По нему сервер узнаёт вас и решает, впускать или нет.
- 03 Адрес КУДА node7.example-host.net Имя или номер машины, к которой приложение постучится. Дальше в списке — её порт.
- 04 Порт КУДА 443 Номер после двоеточия — какая именно дверь на этой машине вас ждёт.
- 05 Параметры КАК type=ws&security=tls&sni=… Хвост после знака вопроса. Описывает, как именно упаковано соединение: транспорт, шифрование, маскировка.
- 06 Имя ПОДПИСЬ #Амстердам-01 Всё после решётки. Единственная часть, которую можно менять как угодно: это подпись в списке.
Границы по порядку
| Знак | Что отделяет | Как искать глазами |
|---|---|---|
:// | Протокол от всего остального | Всегда в самом начале, сразу после слова из букв |
@ | Идентификатор от адреса | Одна собака; если их несколько, считается последняя |
: | Адрес от порта | Последнее двоеточие в адресной части, после него только цифры |
? | Адрес от параметров | Первый вопросительный знак, дальше идут пары имя=значение |
# | Всё от имени | Последняя решётка; после неё может быть что угодно, включая пробелы |
Порядок частей жёсткий. Поменять их местами нельзя: приложение ищет именно такую последовательность и на любом отклонении отказывается добавлять строку. Отсюда типичный сбой — строка не добавляется после того, как её «поправили» вручную.
Что значит каждая часть
01. Протокол
Слово до ://: vless, vmess, trojan, ss, socks5. Оно определяет весь дальнейший разговор с сервером — какие сообщения кто кому отправляет и в каком порядке. Приложение должно уметь этот протокол, иначе строка не добавится вовсе: про протоколы.
02. Идентификатор
От начала адресной части до @. В vless и vmess это длинный набор из букв, цифр и дефисов (так называемый UUID), в trojan и shadowsocks — пароль. Именно по нему сервер решает, вы это или нет: что такое идентификатор.
03. Адрес
После @ и до двоеточия с цифрами. Это либо доменное имя вида node7.example-host.net, либо сразу числовой адрес машины. Подробности — адрес и порт.
04. Порт
Число после последнего двоеточия, от 1 до 65535. Чаще всего встречаются 443 и 8443, но бывает любое. Без порта приложение не знает, в какую дверь стучаться.
05. Параметры
Всё после ?: пары вида type=ws, security=tls, sni=..., path=..., разделённые знаком &. Это описание упаковки соединения, и именно здесь ошибки встречаются чаще всего: параметры подробно.
06. Имя
После #. Подпись для списка — «Амстердам-01», «резерв», «медленный». В ней часто встречаются русские буквы и эмодзи, и это нормально: имя после решётки.
Как проверить свою строку
Вставьте её в разбор. Части раскрасятся теми же цветами, что в примере выше, и под строкой появится список: что нашлось, где именно и что это значит. Если какой-то части нет, разбор скажет об этом прямо — в девяти случаях из десяти это и есть причина того, что строка не работает.
Если строка перед глазами, а что в ней написано — непонятно, вставьте её в разбор: браузер подсветит части и подпишет каждую.
Открыть разбор строки →Почему в моей строке нет знака вопроса?
Потому что у сервера настройки по умолчанию и описывать нечего. Такая строка полностью рабочая: параметры — необязательная часть.
В адресе несколько двоеточий — где порт?
В самом конце. Несколько двоеточий бывает у числовых адресов нового формата вида [2a03::7]:443 — портом считается последняя группа цифр после закрывающей скобки.
Что делать, если после решётки пусто?
Ничего. Имя необязательно: в списке просто появится запись без подписи или с адресом вместо неё. Подписать её можно потом прямо в приложении.
Можно ли записать две конфигурации в одну строку?
Нет. Одна строка — один сервер. Несколько строк передают списком, каждую с новой строки, или одним адресом подписки.
Когда разбор закончен, остаётся вопрос, на который страница ответить не может: жив ли сервер за вашей строкой. Быстрее всего это проверяется подстановкой — возьмите ссылку, за которой стоит обслуживаемый список серверов, и положите её в то же приложение рядом со своей. Заработало — дело было в строке. Первые 3 дня выдаются без платёжных данных, дальше 200 ₽ за месяц или 1 800 ₽ за год — это 4,9 ₽ в день на 3 устройства, разовым платежом и без автосписаний.
Получить ссылку →