Об этом проекте

OtakuWorld — это объединённый проект, созданный из более ранних приложений автора MangaWorld и AnimeWorld. Поскольку они имели много общей базовой логики, их объединили в один репозиторий, который выпускает несколько отдельных приложений с общим интерфейсом и общим кодом. Приложения в наборе: - AnimeWorld: стримит и скачивает аниме с различных видеосайтов, воспроизводит их во встроенном видеоплеере и поддерживает трансляцию на устройства с Chromecast. - AnimeWorldTV: сборка только для Android TV для стриминга аниме, ТВ и фильмов, со встроенным плеером, избранным, синхронизированным с AnimeWorld, и пропуском опенингов на 90 секунд. - MangaWorld: читает мангу с различных сайтов манги. - NovelWorld: читает новеллы с различных сайтов новелл. - Otaku Manager: показывает избранное во всех приложениях OtakuWorld и требует входа; написан на чистом Jetpack Compose без XML-разметки. Общие функции включают вход в аккаунт для синхронизации избранного и просмотренных серий между устройствами, избранное с уведомлениями об обновлениях, возможность делиться аниме или мангой и открывать их в приложении, а также личный словарь/глоссарий терминов, который можно управлять из настроек или быстро добавлять при чтении в MangaWorld. Источники и мосты: приложения не содержат собственных источников, но включают некоторые стандартные. Источники, совместимые с Mihon, работают с MangaWorld после установки моста, а источники, совместимые с Aniyomi, работают с AnimeWorld после установки моста. Облачная синхронизация сейчас использует Firebase, но в README указано, что это будет заменено на ручную настройку, требующую сервера; предоставляется базовый сервер только для локальной сети, и запрашивается помощь для более надёжного решения. Десктопные сборки: MangaWorld, AnimeWorld и NovelWorld имеют JVM/Desktop Compose сборки, которые разделяют интерфейс с Android-приложениями через общие модули и запускаются через Gradle run-задачи. MangaWorld Desktop поддерживает просмотр, поиск, избранное, списки и детали, чтение глав во встроенном ридере, загрузки с настраиваемой папкой и пользовательские списки. AnimeWorld Desktop поддерживает просмотр, поиск, избранное, списки эпизодов и детали, а также базовые загрузки, но не воспроизведение видео или трансляцию. NovelWorld Desktop поддерживает просмотр, поиск, избранное и чтение, без поддержки загрузок на любой платформе. Пользовательский веб-скрапер: модуль предоставляет конвейер HTML-скрапинга по запросу, который извлекает URL изображений манги и URL видеостримов аниме с публичных веб-страниц с помощью локального LLM-агента. Процесс загружает HTML через Ktor, очищает его до максимум 8000 символов, передаёт в Koog AIAgent и возвращает сериализуемую модель с извлечёнными URL. Он обрабатывает страницы глав манги (img src, data-src, data-lazy-src) и страницы эпизодов аниме (URL видео/источников и JavaScript-переменные .mp4 или .m3u8). Документированные ограничения: нет аутентификации, нет обхода CAPTCHA, нет рендеринга JavaScript, нет кэширования, только извлечение URL. Используемые технологии: Kotlin Multiplatform для Android и JVM Desktop, Ktor с движком OkHttp, Koog для структурированного извлечения JSON и kotlinx.serialization. Для локальной сборки требуется переключить вариант сборки на вариант без Firebase. Проект предоставляет ночные и основные рабочие процессы релизов, Discord-сообщество и руководство по вкладу, просящее участников создавать ветки, вносить изменения, открывать pull request и добавлять мейнтейнера как ревьюера. В README также указано, что автор не связан с приложением Tachiyomi или его GitHub-форками.