عن المشروع
Go Music DL هي أداة بحث وتنزيل موسيقى مكتوبة بلغة Go، توفر ثلاث طرق استخدام: واجهة ويب، طرفية TUI، وتطبيق سطح مكتب. بالإضافة إلى البحث والتنزيل للأغاني الفردية، تدعم البحث والتحليل لقوائم التشغيل، تصفح تصنيفات قوائم التشغيل، قوائم التشغيل الخاصة، البحث والتحليل للألبومات، وعرض ومعالجة جماعية لأغاني قائمة أو ألبوم كامل.
القدرات الرئيسية:
- بحث مجمع متعدد المنصات، يغطي NetEase Cloud وQQ Music وKugou وKuwo وMigu وQianqian وSoda Music و5sing وJamendo وJOOX وBilibili وApple Music وغيرها من أكثر من 10 منصات، مع دعم البحث المتزامن متعدد المصادر.
- يدعم ثلاثة أنواع بحث: أغنية فردية، قائمة تشغيل، وألبوم، مع إمكانية لصق روابط المشاركة للأغاني/قوائم التشغيل/الألبومات مباشرة للتعرف التلقائي على المصدر والدخول إلى التفاصيل.
- تحليل جودة صوت غير مفقودة: NetEase Cloud وQQ Music وBilibili تدعم تنزيل FLAC غير مفقود، وKugou تدعم FLAC للأغاني العادية.
- دعم مزدوج لصيغ الكلمات: NetEase وQQ وKugou تدعم عرض LRC الحرفي للنص الأصلي/الترجمة/الروماجي مع تمييز حرفي بنمط الكاريوكي.
- تنزيل المعاينة والكلمات والغلاف، مع فحص Range لعرض الحجم ومعدل البت، وتصفية الموارد المدفوعة.
- قوائم تشغيل محلية مخصصة: يمكن إنشاء مجلدات مفضلة محلية، تجميع أغاني من منصات مختلفة، مع حفظ البيانات بشكل دائم.
- تصنيفات قوائم التشغيل وقوائمي: في الويب يمكن تصفح قوائم التشغيل الرسمية حسب المنصة، وبعد تسجيل الدخول يمكن قراءة القوائم الشخصية/المفضلة.
- تسجيل دخول بمسح رمز QR عبر Cookie: لوحة الإعدادات تدعم مسح رموز NetEase وQQ وKugou وBilibili للحصول على Cookie وحفظه تلقائيًا؛ مسح Soda Music لم يُضبط بعد بسبب توقيعات مكافحة المخاطر.
- إدارة موسيقى محلية: قراءة دليل التنزيل المحلي، دعم الرفع، إكمال البيانات الوصفية، قراءة الغلاف/الكلمات، الحذف، والمشاركة كمصدر بحث من الدرجة الأولى؛ تحميل القوائم مع ترقيم الصفحات وتخزين مؤقت للفحص والبيانات الوصفية.
- تبديل المصدر: البحث عن إصدارات بديلة على منصات أخرى بناءً على تشابه اسم الأغنية/الفنان، قرب المدة، وفحص قابلية التشغيل، مع دعم تبديل جماعي.
- توصيات قوائم يومية: متاحة في الويب وTUI، تجمع NetEase وQQ وKugou وKuwo.
- مزامنة WebDAV: يمكن رفع ملفات التنزيل إلى WebDAV في نفس الوقت.
- أزرار توليد الفيديو نُقلت إلى إعدادات الويب للإدارة، وهي معطلة افتراضيًا.
النشر والاستخدام:
- تطبيق سطح المكتب: تنزيل music-dl-desktop-rust.exe أو music-dl-desktop-go.exe من Releases، فك الضغط والنقر المزدوج للتشغيل؛ يدعم Windows وmacOS وLinux.
- الجوال: Releases توفر APK لأندرويد (arm64-v8a موصى به، x86_64، وحزمة توافق غير مجزأة)، مع تضمين ffmpeg وffprobe في APK؛ iOS توفر ipa بانتظار التوقيع، ويمكن توفير حزمة موقعة بعد تكوين الشهادة.
- وضع الويب: ./music-dl web، يُركب افتراضيًا على مسار /music، ويمكن استخدام --base-path للتركيب على دليل ثانوي، مع مثال Nginx عكسي. الوظائف العادية لا تتطلب تسجيل دخول، فقط عمليات إعداد النظام تتطلب تسجيل دخول المدير، ويتم إنشاء حساب المدير عبر رمز تهيئة لمرة واحدة يُطبع في الطرفية.
- وضع TUI: ./music-dl -k "كلمة مفتاحية"، يدعم مفاتيح الأسهم للتنقل، مسافة للاختيار، a لتحديد الكل، r لتبديل المصدر، Enter للتنزيل، w للتوصيات اليومية، q للخروج.
- Docker: يوفر docker-compose.yml (سحب صورة مجمعة مسبقًا)، docker-compose.dev.yml (بناء محلي)، وطريقة docker run، مع تركيب ./data افتراضيًا لحفظ التنزيلات والإعدادات والبيانات المفضلة، ويعمل بمستخدم غير جذر.
- CLI يدعم تحديد مصدر البحث (-s)، دليل التنزيل (-o)، تضمين الغلاف والكلمات (--cover --lyrics) وغيرها من المعلمات.
التقنيات: الاعتماد الأساسي على مكتبة music-lib لمنصات الموسيقى، CLI يستخدم Cobra، الويب يستخدم Gin، TUI يستخدم Bubble Tea، سطح المكتب يستخدم Rust + Tao/Wry أو Go + webview2، الجوال يستخدم Go + Gio. البيانات موحدة في دليل data، بما في ذلك downloads وvideo_output وcookies.json وsettings.db (SQLite، لتخزين الإعدادات/Cookie/قوائم التشغيل المخصصة).
المشروع مرخص بـ AGPL-3.0، ويعلن README أنه للتعلم والتبادل التقني فقط، ويجب حذف الموارد الموسيقية التي تم تنزيلها خلال 24 ساعة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.