Sobre o projeto
OtakuWorld é um projeto combinado criado a partir dos aplicativos anteriores do autor, MangaWorld e AnimeWorld. Como os dois compartilhavam uma grande quantidade de lógica base, foram fundidos em um único repositório que produz vários aplicativos separados com uma UI comum e código compartilhado.
Aplicativos do conjunto:
- AnimeWorld: transmite e baixa animes de vários sites de vídeo, reproduz em um player de vídeo integrado e oferece suporte a casting para dispositivos compatíveis com Chromecast.
- AnimeWorldTV: uma versão exclusiva para Android TV para transmitir animes, TV e filmes, com player integrado, favoritos sincronizados com o AnimeWorld e um pulador de abertura que avança 90 segundos.
- MangaWorld: lê mangás de vários sites de mangá.
- NovelWorld: lê novelas de vários sites de novelas.
- Otaku Manager: mostra favoritos de todos os aplicativos OtakuWorld e exige login; escrito em Jetpack Compose puro, sem views XML.
Recursos compartilhados incluem login de conta para sincronizar favoritos e episódios assistidos entre dispositivos, favoritos que podem alertar sobre atualizações, compartilhamento de anime ou mangá e abertura deles no aplicativo, e um dicionário/glossário pessoal de termos que pode ser gerenciado nas Configurações ou adicionado rapidamente durante a leitura no MangaWorld.
Fontes e pontes: os aplicativos não incluem fontes próprias, mas trazem algumas fontes padrão. Fontes compatíveis com Mihon funcionam com o MangaWorld após instalar uma ponte, e fontes compatíveis com Aniyomi funcionam com o AnimeWorld após instalar uma ponte. A sincronização em nuvem atualmente usa Firebase, mas o README afirma que isso será substituído por uma abordagem de configuração manual que exige um servidor; um servidor básico apenas para rede local é fornecido e pede-se ajuda para uma solução mais robusta.
Versões desktop: MangaWorld, AnimeWorld e NovelWorld têm versões JVM/Desktop Compose que compartilham a UI com os aplicativos Android por meio de módulos compartilhados e são iniciadas com tarefas Gradle run. O MangaWorld Desktop oferece suporte a navegação, busca, favoritos, listas e detalhes, leitura de capítulos no leitor integrado, downloads com diretório configurável e listas personalizadas. O AnimeWorld Desktop oferece suporte a navegação, busca, favoritos, listas de episódios e detalhes, e downloads básicos, mas não à reprodução de vídeo no aplicativo nem a casting. O NovelWorld Desktop oferece suporte a navegação, busca, favoritos e leitura, sem suporte a downloads em nenhuma plataforma.
Scraper web personalizado: um módulo fornece um pipeline de scraping HTML sob demanda que extrai URLs de imagens de mangá e URLs de streams de vídeo de anime de páginas web públicas usando um agente LLM no dispositivo. O fluxo busca o HTML com Ktor, sanitiza-o para no máximo 8.000 caracteres, passa-o para um Koog AIAgent e retorna um modelo serializável contendo as URLs extraídas. Ele lida com páginas de capítulos de mangá (img src, data-src, data-lazy-src) e páginas de episódios de anime (URLs de video/source e variáveis JavaScript .mp4 ou .m3u8). As limitações documentadas incluem ausência de autenticação, de bypass de CAPTCHA, de renderização JavaScript, de cache e extração apenas de URLs. As tecnologias usadas são Kotlin Multiplatform para Android e JVM Desktop, Ktor com o engine OkHttp, Koog para extração estruturada de JSON e kotlinx.serialization.
A compilação local exige mudar a variante de build para uma variante noFirebase. O projeto fornece fluxos de trabalho de release nightly e main, uma comunidade no Discord e orientações de contribuição pedindo que os contribuidores criem um branch, façam alterações, abram um pull request e adicionem o mantenedor como revisor. O README também observa que o autor não é afiliado ao aplicativo Tachiyomi nem aos seus forks no GitHub.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.