Tunnel 0.20.0#
Это крупное обновление Tunnel: групповой Premium, аварийный доступ к интернету, обновлённые экраны VPN и аккаунта, подробная статистика трафика и новые возможности импорта конфигураций. Отдельное внимание уделили стабильности подключения, обходу Белых списков, раздельному туннелированию и проблемам, о которых вы сообщали после предыдущих версий.
Главное#
x86 и x86_64.#
- Это последняя версия с поддержкой x86 и x86_64.
Стабильность подключения и Smart Connect#
- Уменьшили количество лишних переключений между БС-серверами и обычным режимом. Кратковременная ошибка проверки сама по себе больше не должна заменять работающий маршрут: учитываются подтверждения, фактический ответный трафик и состояние текущей сети.
- Исправили обратный переход из БС в обычный режим после подтверждённого восстановления доступного интернета, в том числе на стабильном Wi-Fi. Возврат проходит через проверку нового подключения.
- Усилили исключение нежелательных серверов из автоматического выбора. Запрет учитывается при подготовке, после сетевых проверок и перед запуском; для управляемых Mihomo-профилей — также внутри групп и провайдеров.
- Исправили ситуацию, когда выбор нового сервера менял название в интерфейсе, а VPN продолжал работать через старый. Карточка показывает действующий маршрут, а не только выбранного кандидата; неудачная смена обрабатывается без обязательного ручного отключения.
- Согласовали обновление текущего сервера на экране VPN и в уведомлении подключения.
- Снизили конкуренцию фоновых проверок с полезным трафиком. При подтверждённой работе маршрута лишние плановые пробы откладываются; пропуск замера Ping не считается отказом сервера.
- Исправили проверки native WireGuard/AmneziaWG: они используют подходящий маршрут и собственные счётчики ядра, а не отсутствующий SOCKS-порт или счётчики другого движка.
- Улучшили обработку таймаутов и кратковременных пауз передачи данных. Запоздавшие результаты проверок старой сети или предыдущего подключения не должны менять состояние новой сессии.
- Исправили найденный сбой учёта трафика, приводивший к вылету при подключении Hysteria2.
Подписки, конфигурации и протоколы#
- Исправили обработку Mihomo YAML с общими шаблонами, ссылками на них и наследованием параметров. Такие конструкции больше не отклоняются только из-за применения политики выбора нод.
- Доработали подготовку БС-профилей и обработку ошибок конфигурации. Отказ конкретной ноды отделён от ошибки загрузки, подготовки профиля и запуска самого ядра.
- Добавили совместимый путь через Mihomo для поддерживаемых ссылок со старыми HTTP/H2-параметрами, которые больше не принимает встроенный Xray. Проверка сертификатов остальных подключений не ослабляется.
- Расширили импорт прямых конфигураций: помимо VLESS, VMess, Trojan, Shadowsocks, Hysteria/Hysteria2, TUIC и AnyTLS, доступны SOCKS, ShadowsocksR и TrustTunnel, включая
tt://. Сохранены пути WireGuard и AmneziaWG. - Поддерживаются ссылки-подписки, raw/base64-списки, Clash/Mihomo YAML и поддерживаемые варианты Sing-box и V2Ray/Xray JSON. Подсказки в окнах импорта теперь перечисляют эти форматы.
- Полные Xray JSON сохраняются без преобразования в сокращённую ссылку. Параметры, которых нет в обычной форме редактирования, остаются в документе; совместимость запуска проверяет встроенное ядро.
- Добавили обработку MASQUE и транспорта XDRIVE через Xray JSON. Новые типы корректно подписываются в каталоге и сведениях о конфигурации.
- Название протокола определяется по фактической конфигурации. SOCKS, HTTP, SSR, TrustTunnel и новые типы больше не должны получать ошибочную подпись VLESS.
- Исправили тёмные тексты в режиме просмотра JSON на странице «Серверы».
- Для загрузки подписок по ссылке предусмотрено тихое системное уведомление с прогрессом, которое убирается после завершения. Исправили ложное появление уведомления о загрузке без соответствующего действия пользователя.
Обновлённые ядра#
В сборке используются следующие версии:
| Компонент | Версия |
|---|---|
| Xray / libXray | 26.9.30 |
| Mihomo | 1.19.32 |
| Hysteria | 2.12.3 |
| HEV | 2.18.0 |
| AmneziaWG | 3.1.20260814 |
- Вместе с обновлением Xray добавили совместимость старых WireGuard-параметров. Изменяется запускаемая копия; исходный импортированный профиль сохраняется.
- Обновление Xray включает исправление работы нескольких UDP-направлений с одного исходного порта при включённой статистике. На подключённом Android-устройстве воспроизвели отказ старой версии и проверили успешную передачу в новой.
- Синхронизировали версии, контрольные суммы и сведения о лицензиях. Проверена упаковка библиотек для четырёх архитектур и универсального APK.
- Сохранили официальный Hysteria и HEV для существующих сценариев совместимости. Поддержка Hysteria2 в Xray не заменяет все возможности этих компонентов.
Новый экран VPN#
- Объединили состояние подключения, текущий сервер, ядро, режим, Ping, скорости приёма и отправки и трафик в одну компактную стеклянную карточку.
- Основные статусы стали понятнее: «Отключено», «Подключение», «Подключено» и «Ошибка». Проверка качества работающего маршрута выводится в пояснении и сама по себе не заменяет «Подключено» на «Подключение».
- Свежий Ping текущего подключения больше не скрывается на время проверки качества сети.
- Строка сервера открывает его настоящий источник: «Серверы» или «Подписки». Это работает и для Xray-конфигураций из подписок, независимо от названия ядра.
- Сделали карточки ниже, выровняли шрифты, отступы и системные иконки. Убрали лишнюю подпись текущего сервера в отключённом состоянии.
- Добавили плавное сворачивание подробностей подключения с сохранением выбора. По умолчанию карточка развёрнута.
- Основная кнопка подключения расположена под карточкой состояния. Отдельная компактная карточка обхода Белых списков и нижняя навигация сохранены.
- Перенесли «Читайте нас в Telegram» под заголовок Tunnel, уменьшили высоту строки и добавили логотип Telegram. Переход к Premium остаётся справа в шапке.
- Сделали фон шапки и слоя экрана прозрачным, сохранив стеклянное оформление самих карточек.
Маскот и оформление#
- Добавлен маскот черной дыры, вместо классического узнаваемого бренда черной дыры Tunnel.
- Маскота можно вытянуть пальцем из-под шапки, в том числе жестом по основной области экрана. В начале жеста есть небольшое сопротивление, затем раскрытие становится легче.
- Состояние раскрытия сохраняется. Для новой установки маскот изначально спрятан; отдельная кнопка раскрытия не требуется.
- Сделали тело маскота примерно на 15% светлее (от черной дыры) и заменили окантовку на более мягкую палитру.
- Свечение зависит от состояния: приглушённое у спящего маскота, желтоватое при подключении, золотое после подключения и красноватое при ошибке. Переходы между цветами плавные.
- Уменьшили яркость лучей и исправили их обрезание на границах шапки и соседних блоков. Маскот и жест раскрытия доступны также в облегчённом режиме.
- Обновили иконку приложения, плитку быстрых настроек, значки быстрых действий и маленькую иконку уведомления. В основе — спящий маскот без лица и внешнего свечения, с адаптацией к системному формату значков.
Трафик за 24 часа#
- В карточке VPN отображается суммарный расход приёма и отправки за последние 24 часа. Для лимитируемого подключения доступна полоса дневной квоты с данными API.
- Добавили окно «Трафик»: подпись «За 24 часа» и общий объём расположены в одной строке и используют одинаковый стиль.
- Вместо столбцов — интерактивный линейный график с 24 часовыми точками, сеткой и подписями. Нажатие, перетаскивание или переход между точками показывает выбранный интервал и его расход.
- Исправили цвета подписей и описаний в тёмном оформлении. Пояснение об учёте трафика оформлено отдельным блоком в общем стиле модальных окон.
- Аварийный доступ учитывается в локальной истории и графике, но не расходует дневную квоту аккаунта.
Аварийный доступ к интернету#
- Добавили кнопку «Нет интернета?» в карточку подключения. Она открывает отдельное окно аварийного доступа, доступного в том числе пользователям без Premium.
- Приложение получает аварийный список через API и сохраняет его как скрытую подписку. Обновление содержимого выполняется при доступной сети с интервалом не менее шести часов; при ошибке остаётся последняя рабочая копия.
- При пустом кэше можно запросить первый список из окна подключения. Если кэш ещё не был получен, для его загрузки необходим доступ к API и источнику подписки.
- Аварийный запуск включает обход Белых списков и использует существующий выбор нод. Ошибка конфигурации или маршрута отдельного кандидата позволяет перейти к следующему допустимому серверу в пределах общего времени поиска.
- Подключение считается завершённым после запуска ядра и проверки доступа в интернет. До этого кнопка показывает «Подключение…» и защищена от повторного нажатия; после успешного запуска доступно действие «Отключить».
- Для Free предусмотрено 30 минут суммарного времени в состоянии «Подключено». После исчерпания бюджета режим недоступен шесть часов. Отключение и повторный запуск не обнуляют остаток.
- Для Premium нет ограничения времени аварийного доступа и ожидания между использованиями.
- Остаток времени и ожидание до возобновления доступа показаны в окне с полосами прогресса. В карточке сервера и уведомлении вместо названия ноды отображается «Аварийный доступ»; формат времени в уведомлении учитывает настройку длительности сессии.
- Во время аварийного доступа запросы самого Tunnel направляются через VPN, чтобы можно было открыть аккаунт и оформить Premium. После завершения возвращается обычная политика приложения без перезаписи сохранённой настройки «Исключать Tunnel».
- После остановки восстанавливаются прежний сервер и режим. Главная кнопка больше не должна повторно запускать скрытую аварийную подписку как обычное подключение.
- Аварийный источник разрешено отдельно добавить в пользовательские подписки, даже если скрытая системная копия уже существует.
- Исправили вылет при открытии окна. Ошибки, включение и отключение показываются общими плавными уведомлениями. Если для запуска не включён Smart Connect 4, приложение сообщает об этом явно.
Групповой Premium#
- На странице «Аккаунт» появился отдельный раздел группового Premium: статус подписки, владелец, участники и количество свободных мест.
- Добавили создание группы, приглашение по логину/идентификатору, принятие или отклонение приглашения, удаление участника и выход из группы. Действия зависят от роли пользователя.
- Личная и групповая подписки отображаются отдельно. После изменения членства обновляются эффективный Premium и доступные серверы.
- Добавили покупку дополнительных мест, продление пакетов и проверку оплаты. Каталог оформлен таблицами: количество мест, срок и цена из API.
- Доработали восстановление ожидающей оплаты и повторную проверку результата. Возврат из браузера сам по себе не считается подтверждением покупки.
- Переработали окно группы в стеклянном стиле: золотые акценты активного Premium и владельца, мягкие голубые акценты остальных состояний, понятные роли и копирование ID.
- Список участников прокручивается; выровняли внутренние отступы, шрифты и размеры кнопок. «Обновить» и «Закрыть», а также «Назад» и «Закрыть» на вложенных экранах расположены рядом.
- «Мои устройства» показывает устройства текущего аккаунта. Убрали переходы к устройствам других участников и интерфейс ссылок-приглашений в группу; приглашение по идентификатору сохранено.
Аккаунт, вход и гостевой режим#
- Переработали карточку аккаунта: логин и почта расположены компактнее, подтверждение почты отмечается галочкой рядом с адресом. Длинные значения могут переноситься.
- Статус Premium показывает личную или групповую подписку, срок действия либо бессрочность. Для Free отображается «Premium отсутствует».
- ID вынесен в отдельную строку с копированием. Настройки и поддержка проекта доступны через компактные белые иконки рядом; убрали лишние обводки и пульсацию сердечка.
- Статус платежей и выход расположены отдельными согласованными по размеру кнопками под карточкой.
- Гостевой аккаунт получил такое же оформление: ID, копирование, настройки, поддержка проекта и статус подписки. Настройки учитывают гостевой режим; регистрация текущего гостя сохраняет его ID и покупки.
- Добавили системное автозаполнение идентификатора в формах входа и регистрации. Последний подтверждённый логин используется как подсказка; пароль для этой подсказки не сохраняется.
- Упростили первичный экран авторизации: убрали маскота, ускорили плавный переход к форме, отцентрировали восстановление пароля и уменьшили промежутки между ссылками. Если всё помещается на экране, дополнительная прокрутка не нужна.
Ping и сохранение результатов#
- В продвинутых настройках появился выбор: «Автоматически», «До сервера», «Через VPN-маршрут» и «Сервер + маршрут».
- Автоматический режим использует проверку сервера до подключения и задержку через действующий VPN после подключения. Измерение доступности ноды и задержка полного маршрута больше не смешиваются в одно понятие.
- Методы учитывают возможности выбранного протокола: обычная TCP-проба не выдаётся за полноценную проверку UDP-протокола.
- Результаты Ping в подписках сохраняются после перехода между экранами и перезапуска приложения. Сохранено постепенное изменение цвета по мере старения замера.
- Выбранная сортировка нод, включая сортировку по Ping, запоминается между открытиями экрана.
Раздельное туннелирование и GEO#
- Исправили применение пользовательских правил в Xray и Mihomo. Добавили явный выбор, должно ли доменное правило охватывать поддомены; старые точные правила сохраняют прежний смысл.
- Для новых доменных правил охват поддоменов включён по умолчанию. Перед сохранением видно, какое правило будет создано.
- Доработали распознавание доменов в Mihomo и применение IP/GEOIP-правил в импортированных Xray JSON. Правила применяются к согласованному набору настроек нового подключения.
- Интерфейс различает сохранённые изменения и правила, уже применённые к работающему VPN.
- Усилили проверку списка приложений. Режим «Только выбранные» с пустым списком не должен незаметно превращаться в туннелирование всех приложений.
- Добавили переключатель раздельного туннелирования непосредственно на его экран; он связан с тем же состоянием в настройках.
- Улучшили проверку GeoIP/GeoSite-файлов, обработку категорий и регулярных выражений. При удалении источника связанные правила отключаются, сохраняя свои значения.
- Загрузка и импорт GEO показывают прогресс внутри приложения: объём, процент либо неопределённую полосу, затем проверку и результат. Успех выводится после проверки и установки файла.
- Прогресс GEO больше не создаёт отдельное системное уведомление. Закрытие его карточки скрывает сообщение, не отменяя операцию; обновления процентов не вызывают повторную вибрацию.
Продвинутые настройки и резервные копии#
- Убрали общий переключатель продвинутых настроек. Сохранённые значения применяются при следующем запуске VPN-сервиса.
- При изменении параметра, требующего нового подключения, появляется сообщение «Требуется переподключение.».
- Добавили отдельное автопереподключение к тому же серверу после изменения таких параметров. По умолчанию оно выключено; рядом есть предупреждение о возможном раскрытии настоящего IP во время переподключения.
- Перенесли автоподключение VPN в продвинутые настройки и согласовали его оформление с автопереподключением.
- Для новых установок без сохранённого выбора чувствительность проверки БС установлена на третий уровень. Существующее пользовательское значение сохраняется.
- Добавили настройку «Исключать Tunnel» для управления участием приложения в VPN-маршруте. Временная политика аварийного доступа отделена от сохранённого выбора.
- Разделы уведомлений, Smart Connect, UI/UX и Ping можно сворачивать с сохранением состояния.
- Доработали импорт и экспорт настроек: привязка идёт по именам параметров, а не по их месту на экране. Отсутствующие поля не должны сбрасывать текущие значения; неизвестные поля игнорируются в поддерживаемом формате резервной копии.
Авторизация при нестабильной сети#
- Перед обновлением токенов проверяется доступность API по сетевому маршруту самого приложения. Работающий VPN у других приложений больше не считается достаточным подтверждением этой доступности.
- Сетевая ошибка, неожиданный HTML или неполный ответ не заменяют рабочую пару токенов. Обновление откладывается до следующей разрешённой попытки.
- Повторные ошибки авторизации соблюдают общую задержку; перезапуск приложения не сбрасывает счётчик фоновых попыток.
- Улучшили обработку параллельных запросов и запоздавших ответов после обновления токена или смены аккаунта. Подтверждённый отзыв доступа и блокировка аккаунта продолжают обрабатываться отдельно.
- Защитили локальный SOCKS официального Hysteria временными реквизитами на каждую попытку подключения.
Остальные улучшения интерфейса#
- Привели сообщения на страницах VPN, подписок, серверов и настроек к общему виду: белый текст, размытие, плавное появление и исчезновение, кнопка закрытия.
- Одновременно отображается не больше трёх карточек. Обычные сообщения исчезают через 2,5 секунды; активный прогресс загрузки остаётся до завершения или скрытия.
- Добавили единый слабый двойной тактильный отклик с учётом настройки вибрации. Частые обновления прогресса не создают непрерывную вибрацию.
- Убрали обрезанного маскота и посторонний оттенок у системного стартового экрана. Основное приветствие осталось единственным оформленным приветствием без дополнительной задержки запуска.
- Исправили обрезание приветственного текста. Добавили «Я сегодня в Tunnel!», «Опять в обход?» и «Ого какой туннель!»; существующее «О, привет!» сохранено.
- Выровняли шрифты, цвета текста и кнопки модальных окон аварийного доступа, трафика, группы, устройств и дополнительных мест.
Что важно знать#
- Xray-core 26.9.30 помечен разработчиками ядра как предварительный релиз. MASQUE и XDRIVE проверены на уровне импорта и нативной подготовки конфигурации; полноценные подключения к удалённым серверам этих типов ещё требуют проверки. Отдельные ссылки
masque://иxdrive://не заявляются. - Поддержка формата импорта не означает поддержку любых его расширений. Запуск зависит от параметров профиля и возможностей выбранного ядра; официальный Hysteria и HEV остаются необходимыми для части сценариев.
- Ping и небольшие значения RX/TX сами по себе не гарантируют доступность всех сайтов и приложений. Исправлены конкретные ошибки проверок и восстановления, но полное устранение любых пауз сети не заявляется.
- Для аварийного подключения требуется включённый Smart Connect 4 и доступный аварийный список. Перебор ограничен по времени; ошибки разрешения VPN, аккаунта или самого ядра нельзя исправить сменой сервера.
- Доменные исключения зависят от возможности определить имя назначения. Шифрование имени и особенности DNS браузера могут ограничивать сопоставление; приложения, исключённые из VPN средствами Android, не обрабатываются доменными правилами ядра.
- Полное скрытие входного IP VPN от любых сторонних приложений не реализовано. Защита локального SOCKS закрывает отдельный способ доступа, но не даёт такой гарантии.
- Срок действия токенов определяет сервер. Клиентский патч защищает сессию при временной недоступности API, но не продлевает токены и не отменяет отзыв доступа.
- График показывает локальную историю за скользящие 24 часа; это не тот же период, что календарная дневная квота API. Аварийный трафик входит в график, но не списывается из этой квоты.
Спасибо всем, кто присылал примеры конфигураций, отчёты о переключениях, проблемах БС, аварийного доступа и замечания по интерфейсу. Они помогли сделать это обновление точнее и удобнее.