عن المشروع

AutoMorpheBuilder هو خط أنابيب GitHub Actions يبني تطبيقات Android APK مصححة باستخدام تصحيحات Morphe وmorphe-desktop وAPKEditor. المخرجات موقّعة ومُرقّمة لكل تطبيق ومنسّقة بحيث يمكن لـ Obtainium تتبع التحديثات. يُشجَّع عمل Fork للاستخدام الشخصي؛ إضافة تطبيق أو إزالته تتطلب فقط تعديل patch_repos في config.json، دون تغييرات في سير العمل. يسرد README التطبيقات المُختبرة بما في ذلك YouTube وYouTube Music وReddit وSofascore وTwitch وNZB360 وAIDA64 وMimo وFlightradar24، كل منها مرتبط باسم حزمة ومستودع تصحيحات upstream. ينص إشعار قانوني وأمني على أن المشروع ينزّل ويعدّل تطبيقات طرف ثالث من مصادر مثل APKMirror وAPKPure، وأن المستخدمين مسؤولون عن الامتثال لترخيص كل تطبيق والقانون المحلي، وأنه لا يتم استضافة أو إعادة توزيع أي APK محمي بحقوق النشر لأن كل APK يُجلب وقت البناء من المصدر upstream المُهيأ. تُوقَّع البنيات باستخدام مفتاح المستخدم الخاص، وتُعامَل هذه الأسرار كبيانات اعتماد إنتاجية. أربعة سير عمل موثّقة. يعمل morphe-build.yml يوميًا عند 05:15 UTC ويدويًا؛ يحل check-versions أحدث الوسوم ويتخطى التطبيقات التي يوجد إصدارها بالفعل، ويقوم بناء مصفوفة لكل تطبيق بتنزيل APK وتطبيق التصحيحات وتوقيعه، وينشر create-release إصدار GitHub واحدًا لكل تطبيق مع تقليم الأقدم والاحتفاظ باثنين لكل تطبيق. يحدّث update-patches.yml ملف patches.json من مستودعات التصحيحات upstream، ويجعل التصحيحات الجديدة مفعّلة افتراضيًا ويحافظ على المفاتيح الموجودة. يشغّل ci.yml أوامر npm ci وeslint وjest على طلبات السحب والدفعات إلى main. يقوم codeql.yml بتحليل أمني ثابت لـ JavaScript/TypeScript وActions. تتبع وسوم الإصدار النمط app-vbase-version-patches-version، على سبيل المثال youtube-v20.44.38-v1.24.0-dev.8.apk. يشرح README إنشاء مدخل Obtainium واحد لكل تطبيق مقابل المستودع مع مرشح وسم الإصدار المطابق لاسم التطبيق، ويوفر روابط Obtainium جاهزة للتطبيقات المُختبرة. تشمل الأسرار المطلوبة KEYSTORE_BASE64 وKEYSTORE_PASSWORD، وهما إلزاميان لأن البنيات الموقّعة مفروضة؛ KEY_ALIAS وKEY_PASSWORD اختياريان، وAPKMIRROR_API_USER وAPKMIRROR_API_PASS يتخطيان اختياريًا احتياطي Playwright. يستخدم تنزيل APK احتياطيًا متعدد المصادر: أدوات APK المُنزّلة مسبقًا، وذاكرة URL مؤقتة، وdownload_urls المُهيأة، ثم الحل المتوازي عبر apkeep لـ APKPure، وAPKMirror-API عند تعيين بيانات الاعتماد، وكاشط APKMirror مع احتياطي Chromium. تُحفظ الحزم المنقسمة مثل XAPK وAPKM وAPKS كملفات .apk وتُكتشف بالمحتوى لا بالامتداد، مع التحقق من base.apk الداخلي بعد الدمج. يفضّل اختيار APK معمارية من config.json، وافتراضيًا arm64-v8a، ويطبّق تفضيلات DPI لـ APKMirror، ويدمج الحزم المنقسمة باستخدام APKEditor أو يتراجع إلى استخراج APK الحامل لـ dex، ويرفض APKs بدون ملفات classes dex. يفك التوقيع ترميز المفتاح، ويمرره إلى تصحيح morphe-desktop مع خيارات كلمة المرور وكلمة مرور الإدخال واسم الإدخال المستعار، ويتيح لـ morphe-desktop اكتشاف PKCS12 أو JKS أو BKS والتحويل داخليًا، ويوقّع APK المصحح في مكانه، ويفشل فورًا عند أي خطأ في التوقيع دون احتياطي غير موقّع. يوثّق README الأعطال الشائعة مع الأسباب والحلول، بما في ذلك غياب classes dex، والإصدارات غير المحددة، وكلمات مرور المفتاح الخاطئة، وحزم المعمارية المُسمّاة خطأً، وعدم عثور Obtainium على التحديثات. تغطي الوثائق الإضافية حقول التهيئة، ومعمارية خط الأنابيب ومخطط وظائف check-versions إلى build إلى create-release، وكتالوج استكشاف الأخطاء وإصلاحها، وعملية الإصدار والتراجع، وخطوات الإعداد لعمل Fork وتهيئة الأسرار، وإرشادات المساهمة وسياسة الإفصاح الأمني. المشروع مرخّص بموجب GPL-3.0.