Вы нажимаете «Подключиться», секунда-другая — и на экране «Защищено». За эти секунды происходит больше, чем кажется: приложение умеет добираться до сервера тремя разными путями и на ходу выбирает тот, который живой именно в вашей сети. Рассказываем, как устроена эта лестница — без нажатия дополнительных кнопок с вашей стороны.
Почему одного пути мало
Между телефоном и сервером лежит сеть оператора, и условия в ней всякий раз разные: в одной сети всё проходит гладко, в другой шифрованный трафик испытывает помехи, в третьей теряются пакеты определённого вида. Причём сегодняшняя картина не обещает завтрашней — та же симка в другом районе города ведёт себя иначе. Сервис с одним фиксированным путём в такой обстановке просто молчит, и человеку остаётся гадать, что сломалось. Поэтому у Маяка путей три, и перебирает он их сам.
Ступень 1: напрямую
Кратчайший путь: ваше устройство соединяется с сервером выбранной страны напрямую. Работает протокол AmneziaWG 3.1 — внутри тот же быстрый и проверенный WireGuard, но внешний рисунок соединения изменён, поэтому оно не выделяется на фоне обычного трафика и реже страдает от систем управления трафиком у операторов. В большинстве сетей всё заканчивается прямо здесь — это самый быстрый вариант, и приложение всегда пробует его первым.
У этой ступени есть тонкость, которую видно на экране. Если ваш оператор выдал телефону адрес нового образца (IPv6), приложение сначала пробует дозвониться до сервера по нему, и только потом — по привычному адресу. Причина простая: у части операторов старый адресный путь для таких соединений заужен, а новый — нет. Когда новый адрес срабатывает, подключение занимает около секунды. Когда его нет или он не проходит, вы увидите строку «Пробуем обычный путь…» — это не ошибка, а вторая попытка той же первой ступени, к тому же самому серверу. Ступенью ниже лестница при этом не спускается.
Ступень 2: через ближний вход
Если прямой путь не отвечает, дело часто в расстоянии в сетевом смысле: до дальнего сервера трафик не доходит, а до точки в вашей стране — доходит отлично. На этот случай у Маяка есть вторая ступень: приложение подключается к ближнему входу, а тот передаёт трафик дальше, на тот же самый сервер той же страны.
Важная деталь: шифрование здесь сквозное. Промежуточный вход не может прочитать ваш трафик — он только передаёт запечатанные пакеты, расшифровать которые способен лишь сервер назначения. На экране такой путь виден честно: рядом со статусом появляется пометка «Через Россию».
Ступень 3: резервный канал
Бывают сети, где не проходят оба пути. Тогда включается последняя ступень: трафик туннеля упаковывается в обычное защищённое веб-соединение — того же вида, каким браузер открывает любой сайт. Такое соединение работает практически везде, где вообще открываются сайты.
Резерв заметно медленнее прямого пути, и мы этого не скрываем: на экране горит пометка «Резерв». Его задача — не рекорды скорости, а связь там, где всё остальное молчит: сообщения уходят, почта ходит, карты грузятся. А если в вашей сети так происходит постоянно, в настройках есть переключатель «Всегда использовать запасной канал» — приложение перестанет тратить время на пробы первых двух ступеней.
Как приложение понимает, что путь живой
Самое интересное — не сами пути, а то, как выбирается рабочий. Значок «подключено» ничего не гарантирует: шифрованный канал может установиться, а пакеты по нему — теряться. Поэтому Маяк проверяет не факт соединения, а настоящий выход: делает запрос через туннель и ждёт ответа снаружи. Ответ пришёл — значит, путь работает целиком, от телефона до внешнего мира. Не пришёл за несколько секунд — путь считается мёртвым, и приложение спускается на следующую ступень. Оттого на экране видны сменяющиеся шаги, а не вечное «Подключаюсь…»: лестница идёт вниз, пока не найдёт опору.
Та же проверка продолжается и после подключения. Если трафик пропал на работающем соединении, приложение замечает это и говорит прямо: «Соединение есть, а трафик не идёт — переподключитесь». Почему так бывает — разобрали в отдельной статье.
Мелочи, которые экономят секунды
- Всё готово заранее. Пока вы выбираете страну, приложение уже запрашивает настройки подключения — поэтому сам тап по кнопке срабатывает быстро.
- Связь без нашего сайта. Последняя рабочая конфигурация хранится на устройстве в зашифрованном виде: даже если наш сервер выдачи временно недоступен, подключиться всё равно можно.
- Смена сети — не повод падать. Wi-Fi сменился на мобильную сеть, лифт, метро — туннель переподнимается сам, без лишних походов за настройками.
- Честная пометка пути. «Напрямую», «Через Россию» или «Резерв» — всегда видно, каким путём вы подключены, потому что от этого зависит скорость.
Для вас вся эта механика сводится к одной кнопке: нажали — и приложение само нашло живой путь. Лестница — его забота, не ваша.