VLESS, в том числе Reality
Основной рабочий вариант. Reality — это способ маскировки соединения без собственного сертификата; в ссылке он выбирается значением security=reality.
Восемь протоколов плюс AmneziaWG отдельно. Всё решается по схеме — тому, что стоит в самом начале строки до ://. Если схема не из списка разбираемых, строка не превращается в сервер и просто исчезает: сообщения об этом не будет.
Программа построена на ядре Xray — набор протоколов и большая часть параметров ссылки идут именно оттуда.
Читаются VLESS (включая Reality), VMess, Trojan, Shadowsocks, Hysteria2, SOCKS5, HTTP-прокси и WireGuard. Отдельной строкой идёт AmneziaWG. Три схемы программа узнаёт, но не разбирает.
vless://, trojan://, ss:// и так далее. По ней программа решает, что перед ней и умеет ли она это прочитать.ssr://, tuic:// и hysteria:// первой версии — узнаются, но не разбираются. Серверы на них пропускаются. Это самая недооценённая причина, по которой «часть серверов из подписки не появилась».Развилка одна и проходит она ещё до всякого подключения — на этапе чтения подписки.
Список закрытый: он одинаково перечислен и в описании репозитория разработчика, и в его документации по формату подписки.
Основной рабочий вариант. Reality — это способ маскировки соединения без собственного сертификата; в ссылке он выбирается значением security=reality.
Старший протокол того же ядра. В ссылках встречается реже VLESS, но читается наравне с ним.
Соединение маскируется под обычный HTTPS. Отдельная схема trojan://, которую на Android программа берёт на себя.
Схема ss://. Одна из пяти схем, зарегистрированных за приложением в манифесте Android.
Работает поверх QUIC и умеет прыгать по портам — про это отдельный раздел ниже, с оговоркой по настольной сборке.
Обычные прокси без шифрования собственного канала. Годятся как промежуточный выход, а не как полноценная замена туннелю.
Поддерживается наравне с остальным. Конфиг можно передать не только ссылкой, но и сырым файлом .conf — программа примет его командой импорта.
Идёт отдельно от WireGuard: свои схемы amneziawg:// и awg:// и свой набор параметров. Разбор — ниже.
Три схемы, из-за которых серверы пропадают из списка
ssr://, tuic:// и hysteria:// первой версии программа распознаёт как ссылки, но разбирать не умеет — такие серверы она пропускает. Это прямая оговорка в документации разработчика, и она же подтверждается со второй стороны: ни SSR, ни TUIC, ни Hysteria первой версии в перечне протоколов у него нигде не значатся.
Отсюда практический вывод. Если продавец обещал двадцать серверов, а в списке их четырнадцать, начинать надо не с переустановки и не с ошибок соединения, а с содержимого подписки: откройте её адрес в браузере и посмотрите, с каких слов начинаются строки. Пропали ровно те, что на неподдерживаемых схемах, — вопрос к продавцу, а не к программе.
Хвост после знака вопроса — это настройки транспорта: как именно соединение притворяется обычным трафиком. Программа принимает шесть транспортов и три варианта защиты.
tcp, ws, grpc, xhttp, kcp, quic.security): none, tls, reality.type=splithttp читается как xhttp — переписывать её руками не нужно.fp — это отпечаток, под который программа маскирует начало защищённого соединения: она представляется тем же набором признаков, что и указанный браузер. Список допустимых значений закрытый.
chrome, firefox, safari, ios, android, edge, 360, qq.random, randomized, randomizednoalpn.hellochrome_120, hellochrome_131, hellochrome_133 — когда нужен отпечаток конкретного выпуска браузера.fp в ссылке нет, подставляется chrome.Hysteria2 умеет менять порт на ходу — это и есть port hopping. В ссылке за него отвечают параметры mport или ports (набор портов) и mportHopInt (как часто прыгать).
По документации разработчика поддержка есть и она подробная: принимаются схемы amneziawg:// и awg://, а также сырой файл .conf прямо в теле подписки.
amneziawg-go версии 3.1, при этом принимаются параметры и версии 3.0, и версии 3.1.HeaderProtectionKey, ContentPaddingAddition, RekeyAfterTime, RekeyTimeout, RejectAfterTime, KeepaliveTimeout, MaxHandshakeAttempts, RandomTrailers, DisableCookies..conf как есть, в том числе завёрнутый в base64.Документация описывает работающую поддержку, а дорожная карта на сайте разработчика в тот же день держала AmneziaWG в разделе «Планируется». Два его собственных источника говорят разное, и мы не выбираем из них удобный.
Что с этим делать читателю: проверять на своей сборке. Выше изложена версия документации — это единственное, что здесь можно утверждать с источником.
Первым делом смотрите на схемы строк. Серверы на ssr://, tuic:// и hysteria:// первой версии программа пропускает — она их узнаёт, но не разбирает. Сообщения об этом не показывается, поэтому список просто оказывается короче.
type=splithttp на xhttp?Нет. Программа делает эту замену сама при чтении ссылки.
fp?Подставится chrome. Пустое значение не ломает ссылку и не требует правки.
Потому что настольная сборка не поддерживает прыжки по портам и использует только первый порт из набора. Мобильная — использует весь набор с указанным интервалом.
Для разбора — нет: формат один и тот же. Разница в другом: подписка перечитывается по расписанию и может обновлять список, а одиночная ссылка остаётся такой, какой её добавили.
На Android приложение объявляет себя обработчиком схем vless, vmess, trojan и ss, поэтому ссылка из сообщения открывается в нём напрямую.
Да, он в списке протоколов наравне с HTTP-прокси. При этом в отзывах App Store встречается жалоба, что ссылка socks5:// распознаётся как тип сервера, а подключиться не даёт. Это сообщение пользователя, а не подтверждённый разработчиком дефект.