Установка и обновление

Выбор нужного APK, установка Throne для Android, переход с 1.x или NekoBox и поддержание приложения в актуальном состоянии.

На этой странице описано, какой APK скачать, как его установить, как перейти со старой версии и как работают обновления. Для работы Throne для Android нужен Android 7.0 или новее. Приложение работает на телефонах, планшетах и устройствах Android TV.

Выбор нужного APK

В каждом релизе есть отдельный APK для каждого типа процессора (ABI). Универсального APK, который работает на любом устройстве, нет, поэтому выберите файл, который подходит вашему устройству:

APK Типичные устройства
Throne-<version>-arm64-v8a.apk Почти все телефоны и планшеты последних лет
Throne-<version>-armeabi-v7a.apk Старые 32-битные телефоны, многие ТВ-приставки и ТВ-стики
Throne-<version>-x86_64.apk Эмуляторы, некоторые Chromebook и компьютеры

Сборки для 32-битных устройств x86 нет.

Значение имеет система Android, а не процессор. У многих ТВ-приставок 64-битный процессор, но 32-битный Android, и им нужен armeabi-v7a.

Чтобы узнать ABI своего устройства, откройте приложение со сведениями об устройстве и найдите ABI или набор инструкций. Если у вас есть компьютер с adb, его выведет эта команда:

adb shell getprop ro.product.cpu.abi

Если не уверены, сначала попробуйте arm64-v8a. Если Android сообщит, что приложение несовместимо, или не установит его, используйте armeabi-v7a.

Скачивание и проверка

Скачайте APK на странице загрузок или на странице релизов на GitHub. Теги релизов начинаются с v, например v2.0.0.

В каждом релизе также есть файл SHA256SUMS с контрольными суммами SHA-256 его APK. Проверять контрольную сумму необязательно. Проверка подтверждает, что файл не был изменён или повреждён при скачивании. Поместите APK и SHA256SUMS в одну папку на компьютере и выполните команду для своей системы.

Linux:

sha256sum -c --ignore-missing SHA256SUMS

В выводе для вашего файла должно быть OK, например Throne-2.0.0-arm64-v8a.apk: OK.

macOS:

shasum -a 256 Throne-2.0.0-arm64-v8a.apk

Windows:

Get-FileHash .\Throne-2.0.0-arm64-v8a.apk -Algorithm SHA256

В macOS и Windows сравните выведенную контрольную сумму со строкой для вашего файла в SHA256SUMS. Регистр букв не имеет значения.

Установка

Если у вас установлен Throne для Android 1.x, сначала прочитайте раздел Переход с 1.x или NekoBox.

  1. Откройте скачанный APK, например из загрузок браузера или из файлового менеджера.
  2. Если Android блокирует установку, разрешите устанавливать приложения тому приложению, через которое вы открыли файл. На Android 8 и новее нажмите в сообщении Настройки (Settings) и включите Разрешить установку из этого источника (Allow from this source). На Android 7 включите Неизвестные источники (Unknown sources) в настройках безопасности Android.
  3. Вернитесь назад и нажмите Установить (Install).
  4. Откройте Throne и ответьте на вопросы при первом запуске. См. Разрешения и работа в фоне.

Об установке на Android TV см. Android TV.

Переход с 1.x или NekoBox

Throne для Android 2.0.0 заново построен на ядре версии для компьютера. Он подписан новым ключом и использует новый формат данных:

  • Android не может установить 2.0.0 поверх Throne для Android 1.x. Установка не удастся, пока вы не удалите старую версию.
  • 2.0.0 запускается без профилей, групп и настроек. Данные старого приложения он прочитать не может.
  • Он не может восстановить старые резервные копии: файлы throne_backup_….json и файлы .zip на WebDAV. Он восстанавливает только файлы .thrbackup — формат резервных копий Throne для компьютера.
  1. В старом приложении скопируйте URL каждой подписки и сохраните его в надёжном месте, например в личной заметке. Чтобы найти URL, откройте в боковом меню Группы (Group), нажмите кнопку редактирования группы (значок карандаша) и скопируйте значение Ссылка для подписки (Subscription Link). Не используйте Поделиться подпиской (Share Subscription): этот пункт копирует ссылку sn://, которую 2.0.0 прочитать не может.
  2. Экспортируйте профили, которые получены не из подписки: откройте меню группы и выберите Экспортировать (Export) → Экспорт в файл (Export to file). Файл содержит профили в виде ссылок для обмена. Для некоторых типов, например WireGuard, SSH, ShadowTLS, Mieru, цепочек и профилей с пользовательской конфигурацией, старое приложение записывает ссылки sn://, которые 2.0.0 импортировать не может. Запишите настройки этих профилей, чтобы создать их заново.
  3. Если вы пользуетесь Throne для компьютера с теми же профилями, можно вместо этого создать резервную копию там — Настройки (Settings) → Основные настройки (Basic Settings) → Резервное копирование и восстановление (Backup and Restore) — и позже восстановить её на телефоне. См. Перенос между компьютером и Android.
  4. Удалите старое приложение.
  5. Установите 2.0.0, как описано в разделе Установка.
  6. Снова добавьте подписки: Добавить профиль (Add profile) → Импорт из буфера обмена (Import from clipboard) → Create new subscription group. Импортируйте экспортированный файл: Добавить профиль → Импортировать из файла (Import from file). Или восстановите резервную копию с компьютера: боковое меню → Инструменты (Tools) → Restore.

NekoBox for Android: у исходного приложения NekoBox другое имя пакета, поэтому Android устанавливает Throne рядом с ним. Throne не может прочитать данные и резервные копии NekoBox. Переносите подписки по их ссылкам. Одновременно может быть подключено только одно VPN-приложение.

Стабильные и предварительные сборки

Стабильные версии публикуются на GitHub как обычные релизы, например v2.0.0. Предварительные сборки (preview) публикуются автоматически как предварительные выпуски (pre-release) на GitHub с тегами вида v<version>-pre.<number>. В них есть самые новые изменения, и они предназначены для тестирования, поэтому в них могут быть ошибки.

При открытии приложения предварительная сборка показывает предупреждение: «Это приложение является предварительной версией и может содержать множество проблем. Если вы не хотите тестировать его, скачайте релизную версию с GitHub!» Предупреждение появляется при каждом запуске, пока вы не нажмёте Больше не показывать (Don't show again). После обновления до более новой предварительной сборки оно появляется снова.

Стабильные и предварительные сборки подписаны одним и тем же ключом, поэтому более новая сборка устанавливается поверх старой без удаления. Чтобы получать предварительные сборки через встроенное средство обновления, включите Allow updating to beta versions.

Обновление из приложения

Сборки с GitHub умеют обновляться сами:

  1. Откройте в боковом меню О приложении (About) и нажмите Check for updates. В строке под этим пунктом показан канал: «Channel: stable releases» (только стабильные релизы) или «Channel: stable and pre-releases» (стабильные релизы и предварительные выпуски).
  2. Если есть более новая версия, Throne показывает окно «Доступна новая версия» (New version available) с номером версии, размером загрузки и примечаниями к выпуску. Нажмите Update.
  3. На Android 8 и новее при первом обновлении Throne показывает запрос «Allow installing updates» (разрешить установку обновлений). Нажмите Открыть настройки (Open settings), разрешите Throne устанавливать приложения и вернитесь назад.
  4. Throne скачивает и проверяет APK. Затем Android просит подтвердить установку.

Пока приложение заменяется, подключение останавливается, а после обновления запускается снова.

Настройки обновлений находятся в Настройки (Settings) → General, в группе Updates:

Параметр По умолчанию Что делает
Allow updating to beta versions Выкл. Также предлагает предварительные выпуски (предварительные сборки).
Check for updates daily Выкл. Раз в день проверяет обновления и показывает уведомление «Throne … is available» (доступен Throne …). В уведомлении есть кнопка Skip this version.

Прежде чем что-либо установить, Throne проверяет загруженный файл:

  • его размер и контрольную сумму SHA-256 по манифесту обновления в релизе (throne-update.json);
  • что это Throne и что его версия новее установленной;
  • что он подписан тем же ключом, что и установленное приложение, и релизным ключом Throne.

Если какая-либо проверка не пройдена, ничего не устанавливается. Если ваша копия подписана не релизным ключом Throne (например, это сборка из другого источника), средство обновления сообщает: «The download is signed with a different key than this build, so Android cannot install it as an update. Back up, uninstall this build and install the release from GitHub.» (загруженный файл подписан не тем ключом, что эта сборка, поэтому Android не может установить его как обновление; создайте резервную копию, удалите эту сборку и установите релиз с GitHub).

Кроме того, средство обновления работает так:

  • Устанавливается APK для того же ABI, что и у установленной копии, например arm64-v8a. На другой ABI обновление никогда не переключается.
  • Некоторые релизы нельзя установить из приложения: релизы без манифеста обновления и релизы без APK для вашего ABI. Тогда Throne сообщает «This update cannot be installed from the app (…). Download it from the release page.» (это обновление нельзя установить из приложения, скачайте его со страницы релиза) и предлагает Open in browser.
  • Если включён Use proxy в Настройки → Подписки (Subscriptions) или выбран сервисный режим Только прокси (Proxy only) и Throne подключён, проверка и загрузка идут через локальный прокси Throne. Если ни один профиль не запущен, они подключаются напрямую. При включённом Отключить смешанный вход (mixed) (Disable mixed inbound) локальный прокси не используется.
  • Ошибки TLS-сертификатов при обновлении никогда не игнорируются, даже если включён Ignore TLS errors.

Сборка для F-Droid

В исходном коде есть второй вариант сборки, fdroid, предназначенный для F-Droid. В нём нет встроенного средства обновления: пункта О приложении (About) → Check for updates и настроек Updates нет, а приложение не запрашивает разрешение на установку приложений. Throne для Android пока нет в F-Droid. Добавление запрошено в #37.

Android устанавливает обновление, только если оно подписано тем же ключом, что и установленное приложение. Поэтому сборка, подписанная другим ключом, и сборка с GitHub не могут обновлять друг друга. Чтобы перейти с одной на другую, создайте резервную копию данных (боковое меню → Инструменты (Tools) → Create backup), удалите приложение, установите другую сборку и восстановите резервную копию.