Как искать торренты на Android без рекламы и браузерных редиректов

Искать торренты с телефона через браузер — занятие не для слабонервных. Открываешь сайт, нажимаешь на строку поиска, а тебя сразу перекидывает на пять страниц с казино, баннерами и подозрительными APK. Пока закроешь все вкладки и доберешься до заветной magnet-ссылки, желание что-либо качать пропадает напрочь.
Недавно наткнулся на репозиторий TorrentSearch разработчика под ником prajwalch. Это аккуратный Android-клиент для одновременного поиска по десяткам трекеров. Проект интересен не только с практической точки зрения, но и как наглядный пример того, как сегодня пишут чистые мобильные приложения на Kotlin и Jetpack Compose.
Что умеет приложение
TorrentSearch работает как метапоисковик. Он отправляет запрос сразу на несколько трекеров, разбирает ответы и выводит все в общий список с фильтрацией. Само приложение ничего не скачивает и не раздает, в нем нет встроенного торрент-клиента. Вместо этого оно отдает готовую magnet-ссылку или .torrent файл вашей любимой качалке вроде LibreTorrent или Flud.
Потоковая выдача и фильтрация
Обычно метапоисковики ждут, пока ответят абсолютно все источники, и только потом показывают результат. Здесь выдача работает асинхронно. Как только первый сайт отдал данные, карточки сразу появляются на экране.
В списке сразу видна вся нужная информация:
- Количество сидов и пиров
- Точный размер файла
- Дата публикации
- Источник раздачи
- Категория контента
Раздачи без сидов можно отсечь одним переключателем, чтобы не тратить время на мертвые раздачи. Есть и встроенная сортировка по размеру, дате или числу сидов.
Нативный экран деталей без WebView
В большинстве подобных утилит страницу раздачи открывают во встроенном браузере, собирая всю рекламу трекера. В TorrentSearch парсинг страницы вынесен внутрь приложения.
Вы открываете карточку и видите чистый нативный экран с постером, скриншотами, описанием и техническими данными раздачи. Если внутри описания есть картинки, они отображаются прямо в разметке. Для постеров с взрослым контентом работает автоматическое размытие, которое при желании отключается в настройках.
Поддержка Torznab для домашних серверов
Если стандартных встроенных провайдеров не хватает, можно подключить собственные индексаторы через API Torznab. Приложение спокойно коннектится к Jackett, Prowlarr или другим сервисам из экосистемы домашнего медиасервера. Это решает проблему доступа к закрытым трекерам прямо с телефона.
Закладки и экспорт
Понравившиеся раздачи можно отложить в закладки. База закладок экспортируется и импортируется через JSON, так что при смене смартфона список легко перенести.
Что внутри: взгляд на архитектуру
Для Android-разработчиков репозиторий ценен в первую очередь кодовой базой. Проект написан по гайдлайнам Google Modern App Architecture и полностью открыт под лицензией MIT.
Стек проекта:
- Язык: Kotlin
- UI: Jetpack Compose с поддержкой Material 3 и динамических цветов системы
- Сеть: Ktor Client
- Парсинг HTML: Jsoup
- Локальные данные: Room и Jetpack DataStore
- Внедрение зависимостей: Hilt
- Асинхронность: Kotlin Coroutines и Flow
- Загрузка изображений: Coil
В коде приятно видеть отсутствие перегруженных костылями решений. Сетевые запросы к открытым трекерам разбираются с помощью Jsoup и Ktor, а результат передается в UI через Flow. Благодаря этому интерфейс Compose обновляется плавно по мере поступления новых порций данных.
Как собрать проект локально
Сборка не требует шаманства. Достаточно открыть папку в Android Studio или собрать APK через терминал.
Перед сборкой понадобятся:
- JDK версии 17 или выше
- Установленный Android SDK
Клонируем репозиторий и запускаем сборку отладочного пакета:
git clone https://github.com/prajwalch/TorrentSearch.git
cd TorrentSearch
./gradlew assembleDebug
Готовый APK появится по пути app/build/outputs/apk/debug/.
Если возиться с компиляцией лень, проект официально доступен в F-Droid, IzzyOnDroid и на странице релизов GitHub. Для работы требуется Android 7.1 или новее.
Кому пригодится
TorrentSearch закрывает сразу две задачи. Обычным пользователям он дает быстрый инструмент для поиска раздач без навязчивой рекламы и спама.
Для Android-разработчиков это отличный образец современного открытого приложения на Compose. Здесь можно подсмотреть, как организовать модульную архитектуру, настроить потоковую обработку нескольких сетевых источников и аккуратно реализовать тему Material You. Попробуйте изучить проект на досуге или поставить APK на телефон.
