AI summary
Tern installs and updates Android apps directly from developer sources like GitHub, GitLab and F-Droid with rigorous pre-install verification. It checks package identity, signature certificates and SHA-256 checksums against publisher-provided values before Android ever sees the file. Supports Shizuku, Dhizuku, root and standard installers; can route all traffic through Tor via Orbot. New in 0.4.
Generated by AI. May contain inaccuracies.
Screenshots
About this app
Устанавливает и обновляет приложения для Android напрямую от разработчиков, предварительно проверяя каждый файл. Подходит для телефонов, планшетов и Android TV.
Перед установкой Android-приложений проверяется источник их публикации разработчиками.
Большинство приложений для Android с открытым исходным кодом размещают свои релизы на GitHub, GitLab, Codeberg или в собственных репозиториях за несколько дней до того, как они появятся в каком-либо магазине приложений, если таковые вообще когда-либо появятся. Obtainium показал, что телефон может самостоятельно отслеживать эти страницы релизов. Tern тоже выполняет эту работу, а затем тщательно проверяет, что ему было передано: кто подписал файл, является ли это запрошенное вами приложение и совпадает ли оно с контрольной суммой, предоставленной издателем. Только после этого установщик Android видит его.
Это нативное приложение размером около 7 МБ, без аналитики и без учетной записи. Оно взаимодействует только с теми источниками, откуда поступают ваши приложения, и с местами, указанными в файле PRIVACY.md, такими как хост иконок или места, где вы выполняете поиск, и ни с кем от своего имени. Каждый запрос указывает, что он исходит от Tern.
Каждая подпись проверяется дважды: собственным верификатором Tern и системой Android. Каждое приложение привязано к сертификату, полученному при первой установке. Для 15 известных приложений Tern знает сертификат, полученный до этого. Он считывает данные с сайтов, репозиториев и ресурсов, которые считывает Obtainium, а также из восьми сторонних магазинов приложений после их включения, и устанавливает программу через Android, Shizuku, Dhizuku, root или другое приложение-установщик. Виджет, плитка быстрых настроек и ярлыки запуска позволяют проверять и обновлять настройки вне приложения. Android TV управляется с помощью пульта дистанционного управления, а телефон может отправлять на него ссылки, зашифрованные кодом, который отображается на экране телевизора. При выборе Orbot все операции проходят через Tor, и ничто не может их обойти. Экспорт в Obtainium включает в себя ваш список и ваши настройки, и Tern также может создать аналогичный файл для Obtainium.
Что именно проверяется
Прежде чем что-либо загрузить, Tern считывает с сервера имя пакета файла, код версии и сертификат подписи с помощью нескольких запросов диапазона. Для файла размером 6 МБ потребовалось 4 запроса и 106 КБ. То, что он считывает, является утверждением, и на экране отображается «утверждения», пока Android не подтвердит это.
После загрузки:
Хеш SHA-256 файла сравнивается с контрольной суммой издателя, если таковая имеется: дайджест релиза GitHub, подписанный индекс F-Droid, .sha256файл .sha256.txt рядом с загружаемым файлом, SHA256SUMSфайл контрольной суммы, содержащий его имя, или хеш в примечаниях к релизу. Подпись проверяется дважды: собственным верификатором Tern (схема подписи APK v1, v2, v3 и v3.1) и Android. Если результаты проверки расходятся относительно того, кто подписал файл, он отклоняется. Android не считывает каждую часть разделенного пакета во всех версиях, и часть, которую он пропускает, должна пройти проверку только Tern. Подписывающим лицом должен быть тот же человек, что и для уже установленного у вас приложения, и тот, кто для него закрепил свой сертификат. Закрепитель устанавливается при первой установке и сохраняется вместе с экспортированными файлами, поэтому переустановка на новом телефоне будет осуществляться с использованием того же сертификата. Для 15 известных приложений Tern использует собственный сертификат разработчика, каждый из которых подтвержден вторым источником, поэтому проверяется даже их первая установка. Файл, относящийся к другому пакету, более старой версии, чем установленная, или тестовая сборка, будет отклонена. Установка считается успешной, когда Android сообщает об успешном завершении, а менеджер пакетов отображает новый код версии.
https://github.com/munzzyy/tern
Домашняя страница: https://tern.munzzyy.dev
What's new
- В основном, этот релиз посвящен выбору нужного файла и минимальному количеству слов. О повторяющейся ошибке говорится один раз, а на Android 12 и более поздних версиях никто не может начать установку из уведомлений заблокированного телефона.
- F-Droid указывает только одну сборку для каждого процессора. Tern выбрал сборку arm64, поэтому для телевизора armv7 или планшета x86 отображалась ошибка, в то время как их собственная сборка была указана чуть ниже. Теперь сборка, подходящая для конкретного устройства, отображается первой.
- В приложении, выпущенном на несколько версий позже, отображаются примечания ко всем обновлениям, выпущенным после установленного, в разделе «Что нового с момента», начиная с самых новых, максимум десять обновлений.
- Контрольная сумма издателя находится в большем количестве мест, где издатель её размещает, например app.apk.sha256.txt, или checksums_sha256.txt. Простая сумма учитывается только для файла, созданного для конкретной загрузки.
- В примечаниях к выпуску сохранено то, что написал разработчик: a < b and c > dсохранена середина, app_arm64_v8a.apkсохранены все точки _, а в ссылке в конце предложения отсутствует точка.
- Фильтрующий шаблон, срок действия которого истек, не запускается повторно, пока продолжается его предыдущее выполнение.
- Процесс загрузки обновляется четыре раза в секунду, а уведомление об этом появляется раз в секунду.
- Загрузки, которые ничто из списка не запросит повторно, удаляются при запуске и после проверки всего списка.
- Загрузка приостанавливается на срок до минуты после запроса сервера.
- В настройках указывается, когда Android в последний раз запускал фоновую проверку, и что препятствует ее выполнению, если таковая происходит.
- Повторная попытка после неудачной проверки фоновых данных предполагает ожидание тех же условий Wi-Fi и зарядного устройства, что и при проверке, и эти условия не устанавливаются, пока проверки фоновых данных отключены.
About this version
- Version
- 0.4.0 (400)
- Size
- 6.93 MB
- Requires Android
- 9
- Target SDK
- 28
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 39
- Updated
- Oct 8, 2026
- Package
- io.github.munzzyy.tern
Similar apps
Ratings & reviews
- 51
- 41
- 30
- 20
- 10
Write a review
Recent reviews
Showing 2 of 2
Pai Mei6d ago- Николай 6d ago