Из чего состоит строка доступа
Строка выглядит пугающе, но собрана из понятных частей. Если знать, где что, становится видно, какой кусок отвалился при копировании и почему приложение ругается.
Строка-подписка
Первый и главный тип. Внутри — не сервер, а адрес, по которому лежит список серверов.
https://acc.example-provider.net/sub/7f3c9d2b8a1e4f60
-
https://Схема Обычный веб-адрес. Если строка начинается иначе — это не подписка -
acc.example-provider.netХост источника Сервер продавца доступа; при обновлении списка приложение стучится сюда -
/sub/Путь выдачи У разных сервисов пишется по-разному, но смысл один: «здесь подписки» -
7f3c9d2b8a1e4f60Идентификатор Ваш и только ваш. Потеряется хоть один символ — вернётся ошибка, а не список
Иногда в конце добавляют ?flag=… или похожий хвост — его тоже копируют, он часть адреса (как копировать без потерь).
Практическое следствие: строку нельзя «подправить». Ни один символ в идентификаторе не является опечаткой — там нет слов, и то, что выглядит как лишняя буква, ей и является по замыслу.
Ссылка-команда
Тот же адрес, обёрнутый в команду для приложения. Продавцы доступа часто присылают сразу её: нажатие открывает Incy и подставляет строку.
incy://import/https://acc.example-provider.net/sub/7f3c9d2b8a1e4f60
Всё, что стоит после incy://import/, — это и есть ваша подписка. Если ссылка открылась в браузере и показала ошибку, значит система не связала схему incy:// с приложением; тогда просто скопируйте хвост, начиная с https://, и вставьте вручную.
Одиночный конфиг сервера
Второй тип строки. Тут внутри уже настоящий сервер, со всеми параметрами подключения.
vless://8b41c0d2-5e7a-4f19-9c3d-6a2b8e0f1d47@ams-03.example-node.net:443?type=tcp&security=tls&sni=ams-03.example-node.net#Amsterdam-03
-
vless://Протокол Способ, которым клиент разговаривает с сервером -
8b41c0d2-…-6a2b8e0f1d47Идентификатор пользователя Кого сервер должен пустить. Обычно это UUID -
@ams-03.example-node.netАдрес сервера Куда подключаться. Бывает и голым IP-адресом -
:443Порт Чаще всего 443 — тот же, что у обычного https -
type=tcpТранспорт Как упакованы данные. Менять наугад не нужно: сервер ждёт своего -
security=tlsШифрование Должно совпадать с настройкой сервера -
sni=ams-03.example-node.netИмя в рукопожатии Часто совпадает с адресом; при расхождении соединение не встанет -
#Amsterdam-03Подпись Просто имя в списке. Единственная часть, которую можно менять свободно
Всё, что до #, — рабочие параметры. Ошибка в любом из них даёт не «медленно», а «не подключается вовсе».
Что можно менять, а что нет
| Часть | Менять? | Что будет |
|---|---|---|
Имя после # | Да | Изменится только подпись в списке |
| Порт | Нет | Сервер слушает конкретный порт, соседний закрыт |
sni | Нет | Рукопожатие не пройдёт, соединение оборвётся сразу |
| Идентификатор | Нет | Сервер не узнает вас и откажет |
| Адрес в подписке | Нет | Список просто не придёт |
Профиль маршрутизации — третья строка, которую путают с ключом
В чатах гуляет ещё один вид ссылок: incy://routing/onadd/…, а дальше длинный набор символов. Это не доступ и не сервер — это упакованный набор правил, который решает, какой трафик вести через туннель. Внутри обычное описание с полями Name, GlobalProxy, RemoteDns и DomesticDns. Такую ссылку можно применить и без доступа, толку от неё не будет: про профили.
Зачем вообще знать устройство строки
Не ради теории. Практическая польза ровно одна: увидев ошибку, вы понимаете, какой кусок пострадал. Если строка обрывается сразу после /sub/, потерян идентификатор — виновато копирование. Если в середине идентификатора появился пробел, строку выделяли пальцем на телефоне. Если строка начинается не с https://, вам прислали не подписку, и вставлять её надо в другое место.
Второе применение — разговор с поддержкой. Когда вы говорите «строка кончается на 4f60, а список пустой», вопрос решается сразу. Когда вы говорите «не работает», первым ответом будет просьба прислать подробности, и переписка растянется на час.
Чего в строке нет
Важно понимать не только то, что внутри, но и то, чего там точно нет. В строке не хранится ни срок доступа, ни число устройств, ни список серверов. Всё это лежит на стороне продавца и подставляется в ответ на обращение — поэтому одна и та же строка сегодня возвращает двенадцать локаций, а завтра четырнадцать (механика).
Из этого следует пара выводов. Посмотреть в строку и узнать, до какого числа оплачен доступ, нельзя — эта информация в кабинете. И «продлить» строку правкой самой строки тоже нельзя: продлевается запись на сервере, а строка при этом обычно даже не меняется (про срок).
Почему строку нельзя собрать самому
Вопрос всплывает регулярно: если известен формат, почему бы не написать свою строку и не подключиться. Ответ прост: адрес подписки бесполезен без записи, которая за ним стоит, а конфиг сервера — без идентификатора, который этот сервер знает. Придуманный идентификатор сервер не узнает и соединение не установит; придуманный адрес подписки просто ничего не вернёт.
Единственное, что действительно можно собрать руками, — это профиль маршрутизации: он ничего не открывает и описывает только правила (как).
Почему строка такая длинная?
Потому что в ней адрес и идентификатор, а у конфига ещё и все параметры соединения. Короче она быть не может — сокращать нечего.
Можно сократить ссылку через сервис коротких ссылок?
Технически да, но не нужно: приложение ждёт адрес, а не редирект, и часть сокращателей ломает хвост параметров.
В строке видно, до какого числа доступ?
Нет. Срок хранится на стороне продавца; приложение показывает его отдельно, если сервис его отдаёт (про срок).
Что означает type=tcp?
Способ упаковки трафика. Бывают и другие значения; менять их наугад бесполезно — параметр должен совпадать с настройкой сервера.
Своя строка доступа Incy Plus — 148 ₽ в месяц при оплате за год (1800 ₽ разом) или 200 ₽ за месяц без обязательств. Одна строка на 3 устройства, список серверов приходит по ней и обновляется сам, поддержка отвечает за ~10 минут. Первые 3 дня бесплатно, карта не нужна — оформление на этом же сайте.
Получить строку доступа →