>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Kotlin

Como Pesquisar Torrents no Android Sem Anúncios e Redirecionamentos de Navegador

TorrentSearch icon

Buscar torrents no celular pelo navegador não é para os fracos de coração. Você abre um site, toca na barra de pesquisa e imediatamente é redirecionado para cinco páginas de cassinos, banners e APKs suspeitos. Quando finalmente fecha todas as abas e chega ao cobiçado link magnet, a vontade de baixar qualquer coisa já desapareceu completamente.

Recentemente descobri o repositório TorrentSearch do desenvolvedor prajwalch. É um cliente Android elegante para buscar em dezenas de rastreadores simultaneamente. O projeto é interessante não só do ponto de vista prático, mas também como um exemplo claro de como aplicativos móveis modernos são construídos com Kotlin e Jetpack Compose.

Tela inicial Tela de busca Ações do torrent Tela de detalhes do torrent

O que o aplicativo pode fazer

TorrentSearch funciona como um mecanismo de metapesquisa. Ele envia uma consulta para vários rastreadores de uma só vez, analisa as respostas e exibe tudo em uma lista unificada com filtragem. O aplicativo em si não baixa nem faz seed de nada — não há cliente de torrent integrado. Em vez disso, ele passa um link magnet pronto para uso ou arquivo .torrent para o seu baixador favorito, como LibreTorrent ou Flud.

Resultados em streaming e filtragem

Normalmente, mecanismos de metapesquisa esperam todas as fontes responderem antes de exibir resultados. Aqui, os resultados chegam de forma assíncrona em streaming. Assim que o primeiro site entrega os dados, os cards aparecem na tela imediatamente.

A lista mostra todas as informações necessárias de uma olhada:

  • Número de seeders e peers
  • Tamanho exato do arquivo
  • Data de publicação
  • Fonte do torrent
  • Categoria do conteúdo

Torrents sem seeders podem ser filtrados com um único toggle para que você não desperdice tempo em torrents mortos. Também há opções de ordenação integradas por tamanho, data ou número de seeders.

Tela de detalhes nativa sem WebView

A maioria dos utilitários semelhantes abre a página do torrent em um navegador embutido, coletando todos os anúncios do rastreador. No TorrentSearch, a análise da página é feita dentro do aplicativo.

Você abre um card e vê uma tela nativa limpa com pôster, capturas de tela, descrição e dados técnicos do torrent. Se a descrição contiver imagens, elas são renderizadas diretamente no layout. Para pôsteres de conteúdo adulto, é aplicado desfoque automático, que pode ser desativado nas configurações, se desejado.

Suporte a Torznab para servidores domésticos

Se os provedores integrados não forem suficientes, você pode conectar seus próprios indexadores via API Torznab. O aplicativo conecta-se perfeitamente a Jackett, Prowlarr ou outros serviços do ecossistema de servidor de mídia doméstico. Isso resolve o problema de acessar rastreadores privados diretamente do seu celular.

Favoritos e exportação

Torrents favoritos podem ser salvos nos favoritos. O banco de dados de favoritos exporta e importa via JSON, facilitando a transferência da sua lista ao trocar de celular.

Por baixo do capô: visão geral da arquitetura

Para desenvolvedores Android, o repositório é valioso principalmente por sua base de código. O projeto segue as diretrizes de Arquitetura de Aplicativos Modernos do Google e é totalmente open source sob licença MIT.

Stack do projeto:

  • Linguagem: Kotlin
  • UI: Jetpack Compose com Material 3 e suporte a cores dinâmicas do sistema
  • Rede: Ktor Client
  • Análise de HTML: Jsoup
  • Dados locais: Room e Jetpack DataStore
  • Injeção de dependência: Hilt
  • Assincronismo: Kotlin Coroutines e Flow
  • Carregamento de imagens: Coil

O código é surpreendentemente limpo, sem gambiarras. Requisições de rede para rastreadores públicos são analisadas usando Jsoup e Ktor, com resultados transmitidos para a UI através de Flow. Isso permite que a interface Compose seja atualizada suavemente à medida que novos lotes de dados chegam.

Como compilar o projeto localmente

Compilar não exige truques especiais. Basta abrir a pasta no Android Studio ou compilar o APK via terminal.

Antes de compilar, você precisará de:

  • JDK versão 17 ou superior
  • Android SDK instalado

Clone o repositório e inicie o build de debug:

git clone https://github.com/prajwalch/TorrentSearch.git
cd TorrentSearch
./gradlew assembleDebug

O APK pronto aparecerá em app/build/outputs/apk/debug/.

Se compilar parecer muito esforço, o projeto está oficialmente disponível no F-Droid, IzzyOnDroid e na página de releases do GitHub. É necessário Android 7.1 ou mais recente.

Para quem é

TorrentSearch resolve dois problemas de uma vez. Para usuários comuns, fornece uma ferramenta rápida para buscar torrents sem anúncios intrusivos e spam.

Para desenvolvedores Android, é um excelente exemplo de aplicativo Compose open source moderno. Aqui você pode ver como organizar arquitetura modular, configurar processamento em streaming de múltiplas fontes de rede e implementar elegantemente theming com Material You. Tente explorar o projeto no seu tempo livre ou instale o APK no seu celular.

Projetos relacionados