Обновления

Как Квас Про обновляется сам: сетевой источник обновлений, автопроверка новых версий, безопасная установка с проверкой подписи, автоматический откат при сбое и история обновлений.

Квас Про обновляется прямо из веб-интерфейса — без терминала и без риска «положить» роутер. Обновление приходит по сети, с сервера загрузки проекта: устройство само видит новый выпуск, проверяет его подпись и ставит только после вашего подтверждения. Если что-то пошло не так — приложение возвращается к прежней рабочей версии.

Экран «Настройки → Обновление»: текущая версия, доступное обновление, автопроверка и историяЭкран «Настройки → Обновление»: текущая версия, доступное обновление, автопроверка и история

Где живут обновления

Откройте «Настройки → Обновление». На этой странице видно:

  • текущую версию приложения;
  • кнопку «Проверить сейчас»;
  • дату последней проверки;
  • карточку доступного выпуска с его номером, размером и списком изменений;
  • историю установок и откатов.

Что показывает проверка

Кнопка «Проверить сейчас» заставляет приложение сразу сходить к источнику обновлений. На время проверки экран накрывает окно с пояснением и индикатором: поход к источнику может занимать до 30 секунд, и раньше это выглядело как «нажал — ничего не произошло». Ответ всегда называет исход словами — молчания не бывает, а время последней проверки обновляется на текущее при любой завершённой проверке (даже если она закончилась неудачей) и показывается в вашем часовом поясе. Возможны четыре исхода:

  • Есть новая версия — ниже появляется карточка «Доступна новая версия» с номером выпуска, размером и списком изменений.
  • Обновлений нет — «У вас последняя версия.» Это единственный случай, когда приложение так говорит: текст появляется только после успешной проверки.
  • Установлена версия новее источника — «Установлена версия новее, чем в источнике (в источнике 1.0.17). Обновляться некуда.» Так выглядит устройство, на которое поставили сборку новее той, что сейчас на раздаче: обновляться действительно некуда, и приложение говорит об этом прямо, называя версию источника.
  • Проверка не состоялась — причина называется словами: «Источник обновлений не настроен», «Раздача недоступна», «Сканер обновлений не запущен» или «Проверка не завершилась за 30 с». Строка с причиной стоит рядом с кнопкой, поэтому повтор всегда под рукой.

Окно с ходом установки (Подготовка → Загрузка → Проверка подписи → Установка → Перезапуск) появляется только когда установка действительно началась — то есть после того, как вы подтвердили установку найденного выпуска. Если запустить установку не удалось, причина называется в том же окне, а не строкой в самом низу раздела. Сама проверка идёт под окном с пояснением и индикатором, а её исход показывается в этом же окне: «обновлений нет», «доступна версия» или причина отказа.

Каждая проверка — и по кнопке, и автоматическая — записывается в журнал («Обслуживание → Журнал», вкладка «Аудит», действие «Проверка обновлений») вместе с результатом: обновлений нет, доступна версия или причина ошибки. Так видно, что приложение действительно ходило к источнику, и чем это закончилось.

Откуда приходит обновление

Выпуск берётся из сети — с сервера загрузки проекта. Искать файл вручную не нужно: достаточно, чтобы у роутера был выход в интернет.

  • Устройство само узнаёт о новом выпуске — приложение читает короткий указатель на сайте проекта, в котором стоит номер последнего выпуска и дата.
  • Скачивается описание выпуска (манифест), и его криптографическая подпись сверяется со встроенным в приложение открытым ключом. Подделать выпуск без этого ключа нельзя.
  • Файл выбирается под вашу платформу и процессор: у каждого устройства свой выпуск (Entware или OpenWrt; aarch64, armv7 или mipsel). Чужой файл приложение не возьмёт — в том числе по архитектуре.
Если источник обновлений не настроен, приложение честно сообщает об этом словами «Источник обновлений не настроен», а не молчит. Так выглядит сборка, которой сетевую раздачу не подключили; обновить её можно запасным способом — см. ниже.

Автоматическая проверка новых версий

Чтобы не следить за обновлениями вручную, включите тумблер «Проверять обновления автоматически» и выберите, как часто это делать: каждый час, раз в 6, 12 или 24 часа.

Когда выйдет новая версия, в приложении появится значок-подсказка и карточка «Доступна новая версия».

Как проходит установка

  1. Нажмите на карточку «Доступна новая версия» (или кнопку установки).
  2. Приложение покажет окно подтверждения: какую версию ставим, её размер и источник («Наш сервер загрузки»), а также предупреждение — «Приложение перезапустится, VPN-соединения восстановятся автоматически. Не выключайте устройство».
  3. Подтвердите установку. Дальше всё идёт само, по шагам: Подготовка → Загрузка → Проверка подписи → Установка → Перезапуск → Готово.
  4. После перезапуска появится сообщение, что приложение запустилось на новой версии.

Как понять, что получилось: на странице «Обновление» и в разделе «О программе» стоит новый номер версии, а защищённые соединения работают как прежде.

«Проверка подписи» — что это. Перед установкой Квас Про сверяет описание выпуска с встроенной защитной подписью и убеждается, что это настоящий файл от разработчика, а не подделка. Подпись проверяется ещё раз — уже в момент установки, по тому файлу, который лежит на роутере. Если проверка не прошла, установка не начнётся, а работающая версия останется на месте.

Новая версия ставится рядом с текущей

Приложение не затирает работающую версию: новая распаковывается рядом, а прежняя остаётся точкой возврата. Переключение происходит в самом конце — после того, как файл скачан и проверен.

Отсюда и спокойный откат: если после переключения приложение не поднялось или не ответило вовремя, оно само вернётся на прежнюю версию. Ваши настройки, списки и соединения при этом не теряются: перед переключением приложение сохраняет копию базы данных.

Если установка сорвалась

Волноваться не нужно. При любой неполадке во время установки приложение само откатывается на прежнюю рабочую версию и продолжает работать. Вы увидите сообщение вроде «Установка прервана. Выполнен откат — приложение продолжает работать». Все обновления и откаты записываются в историю на той же странице — вместе с итогом: «Ожидает подтверждения», «Успешно», «Откат» или «Провал».

Иногда нужна промежуточная версия. Если выпуск требует установки предыдущего, приложение скажет об этом прямо: «Требуется промежуточная версия N». Поставьте её, а затем повторите проверку — следующая встанет поверх.

История версий

Что именно изменилось в каждой версии, можно посмотреть на экране «История версий» в панели (открывается по клику на номер версии) или на странице «История продукта» на Сайте Продукта (СПР). История идёт по каждому выпуску: номер версии стоит в заголовке записи, а строки изменений помечены разделом — «Новое» или «Правки» — и областью продукта, к которой правка относится («Ядро», «Настройки», «Сайт» и другие), — в панели и на сайте одинаково. На сайте у каждого выпуска своя страница (/changelog/1-0-18/), выпуски одной серии собраны в обзор серии (/changelog/1-0/), а у каждой строки изменений есть свой адрес — на неё можно дать прямую ссылку.

Возврат на прежнюю версию из списка

Иногда новую версию нужно откатить: она не подошла устройству, ведёт себя не так, как ожидалось, или просто хочется вернуться к той, что работала. На странице «Настройки → Обновление», в блоке «Другие версии», нажмите «Показать список версий» — приложение прочитает список выпусков, которые лежат на сайте раздачи, и покажет их с датами.

Что видно в списке:

  • номер версии и дата выпуска;
  • состояние словами: «установлена», «новее установленной», «прежняя версия», «последняя на раздаче»;
  • действие: «Обновить» у более новой версии, «Откатить» у прежней. У версии, которая уже стоит на устройстве, действия нет.

Нажмите «Откатить» — приложение сначала прочитает и проверит описание выбранного выпуска (размер файла и его защитную подпись), затем покажет окно подтверждения: с какой версии на какую переходит устройство, что будет с данными и как вернуться назад. Подтвердите — и устройство перезапустится на прежней версии примерно через полминуты.

Что нужно знать про откат. Настройки, соединения, метки, белые списки и журналы остаются на месте: перед установкой приложение сохраняет копию базы данных, и это точка возврата. Но данные, созданные более новой версией, прежняя версия может не прочитать — тогда устройство **само вернётся** на версию, с которой вы уходили. Откат меняет версию **только на этом устройстве**: для всех остальных последней на сайте раздачи остаётся та версия, что была. Вернуться на новую версию можно тем же списком — кнопкой «Обновить».
У выпуска нет срока годности. Подпись выпуска действительна всегда: пока выпуск перечислен на сайте раздачи, его можно поставить. Если в прежней версии была известная уязвимость, откат вернёт и её — поэтому откат всегда ваше осознанное решение, а не то, что приложение сделает само.

Запасной способ обновления

Обновиться можно и повторным запуском команды установки — так же, как при первой установке (см. Установка). Перед обновлением резервную копию делает сам установочный скрипт, поэтому откат остаётся возможным; выбрать нужный выпуск можно и в командной строке — установщик покажет список версий с сайта раздачи.

Совет: ваши настройки, соединения и списки сохраняются при обновлении. Если хотите дополнительную страховку, перед крупными изменениями сделайте резервную копию в разделе «Настройки → Данные» — там есть экспорт настроек одним файлом.
Документация КвасПро · v1.0.22