عن المشروع
macOSdb هي أداة مطورين تتعقب وتفهرس إصدارات مكونات المصدر المفتوح المرفقة مع كل إصدار من macOS وXcode لأجهزة Apple silicon. توفر الأداة واجهة سطر أوامر بالإضافة إلى متصفح ويب على macosdb.com.
يعمل الماسح عبر تنزيل ملفات IPSW الخاصة بـ Apple وأرشيفات Xcode بامتداد .xip، ثم يستخرج معلومات الإصدارات عبر خط أنابيب متعدد المراحل: فك ضغط الأرشيف، وتحليل kernelcaches لاستخراج إصدارات Darwin/XNU وتعيينات عائلة الشرائح، وفك تشفير أرشيفات Apple المشفرة (macOS 15+)، وتحميل قرص النظام DMG لفحص الثنائيات بحثًا عن سلاسل الإصدارات المدمجة، وتحليل الذاكرة المؤقتة المشتركة dyld لاستخراج بيانات مكتبات dylib الفردية. تُجمَّع النتائج في ملفات إصدارات منظمة بصيغة JSON.
تشمل المكونات المتتبعة ثنائيات نظام الملفات (curl، httpd، LibreSSL، OpenSSH، Ruby، sudo، SQLite، vim، zsh)، ومكتبات ذاكرة dyld المشتركة (libbz2، libcurl، libexpat، libncurses، libpcap، libsqlite3، libssl، libxml2)، وأدوات Xcode (Apple Clang، cctools، Git، ld، lldb، Python، Swift)، ومكتبات SDK (bzip2، expat، libcurl، libexslt، libffi، libxml2، libxslt، ncurses، sqlite3، zlib).
تدعم واجهة سطر الأوامر سرد الإصدارات، وعرض مكونات إصدار معين، ومقارنة إصدارات المكونات بين إصدارات مختلفة، وفحص أرشيفات IPSW أو Xcode جديدة، والتحقق من سلامة الأرشيف باستخدام مجاميع SHA-256، وتنظيف أقراص DMG المتبقية المثبتة. جميع أوامر القراءة تدعم الاستخدام دون اتصال عبر دليل بيانات محلي أو عنوان API بديل. تتوفر إكمالات للأوامر لـ zsh وbash وfish.
تُخزَّن بيانات الإصدارات كملفات JSON في دليل data/ منظم حسب نوع المنتج، وتُقدَّم أيضًا كواجهة REST API. البيانات مرخصة بموجب CC-BY-4.0، بينما البرنامج نفسه مرخص بموجب AGPL-3.0-only. بُني المشروع باستخدام Swift 6.2 ويستخدم Astro للموقع الثابت، مع سير عمل CI للبناء والفحص والاختبار وتحليل CodeQL ونشر الموقع وخطوط الإصدارات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.