عن المشروع
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 عند الطلب يستخرج روابط صور المانغا وروابط بث فيديو الأنمي من صفحات ويب عامة باستخدام وكيل LLM على الجهاز. يجلب التدفق HTML عبر Ktor، وينقّيه إلى 8,000 حرف كحد أقصى، ويمرره إلى Koog AIAgent، ويعيد نموذجاً قابلاً للتسلسل يحتوي على الروابط المستخرجة. يتعامل مع صفحات فصول المانغا (img src وdata-src وdata-lazy-src) وصفحات حلقات الأنمي (روابط video/source ومتغيرات JavaScript بامتداد .mp4 أو .m3u8). تشمل القيود الموثقة عدم وجود مصادقة، وعدم تجاوز CAPTCHA، وعدم عرض JavaScript، وعدم التخزين المؤقت، واستخراج الروابط فقط. التقنيات المستخدمة هي Kotlin Multiplatform لـ Android وJVM Desktop، وKtor مع محرك OkHttp، وKoog لاستخراج JSON المنظم، وkotlinx.serialization.
يتطلب البناء محلياً تبديل متغير البناء إلى متغير noFirebase. يوفر المشروع سير عمل إصدارات nightly وmain، ومجتمع Discord، وإرشادات مساهمة تطلب من المساهمين إنشاء فرع، وإجراء التغييرات، وفتح طلب سحب، وإضافة المشرف كمراجع. يذكر README أيضاً أن المؤلف غير تابع لتطبيق Tachiyomi أو تفرعاته على GitHub.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.