YoutubeDL-Material هي الواجهة الأمامية لتصميم المواد لـ youtube-dl. تم ترميزه باستخدام Angular 15 للواجهة الأمامية، وNode.js على الواجهة الخلفية.
الآن مع دعم دوكر!
تحقق من المتطلبات الأساسية، وانتقل إلى قسم التثبيت. سهلة مثل الفطيرة!
إليك صورة لما سيبدو عليه بمجرد الانتهاء:
الوضع المظلم:
ملاحظة: إذا كنت ترغب في استخدام Docker، فيمكنك الانتقال إلى قسم Docker للحصول على دليل الإعداد.
التبعيات المطلوبة:
التبعيات الاختيارية:
atomicparsley
)curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install nodejs youtube-dl ffmpeg unzip python npm
sudo yum install epel-release
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum install centos-release-scl-rh
sudo yum install rh-nodejs12
scl enable rh-nodejs12 bash
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install nodejs youtube-dl ffmpeg ffmpeg-devel
إذا كنت تستخدم Docker، فانتقل إلى قسم Docker. وإلا تابع:
أولاً، قم بتنزيل الإصدار الأخير!
اسحب دليل youtubedl-material
إلى دليل يمكن الوصول إليه بسهولة. انتقل إلى مجلد appdata
وقم بتحرير الملف default.json
.
ملاحظة: إذا كنت تنوي استخدام وكيل عكسي، فهذه الخطوة التالية ليست ضرورية
قم بإعادة توجيه المنفذ المدرج في default.json
، والذي يكون افتراضيًا 17442
.
بمجرد الانتهاء من التكوين، قم بتشغيل npm install
لتثبيت كافة تبعيات الواجهة الخلفية. بمجرد الانتهاء من ذلك، اكتب npm start
. سيؤدي هذا إلى تشغيل خادم الواجهة الخلفية، الذي يخدم الواجهة الأمامية أيضًا. في متصفحك، انتقل إلى الخادم (عنوان URL بالمنفذ المحدد). حاول وضع رابط يوتيوب لمعرفة ما إذا كان يعمل. إذا كان الأمر كذلك، فيولا! YoutubeDL-Material أصبح الآن قيد التشغيل.
إذا واجهت مشكلات، فاعلم أن السبب عادةً هو مشكلة في التكوين. أول شيء يجب عليك فعله هو التحقق من وحدة التحكم. للوصول إلى هناك، انقر بزر الماوس الأيمن في أي مكان بالصفحة وانقر على "فحص العنصر". ثم في القائمة التي تظهر، انقر فوق وحدة التحكم. انظر إلى الخطأ هناك وحاول التحقيق فيه.
إذا كنت ترغب في تثبيت YoutubeDL-Material، فانتقل إلى قسم التثبيت. إذا كنت ترغب في بنائه بنفسك و/أو تطوير المستودع، فهذا القسم مناسب لك.
للنشر، ما عليك سوى استنساخ المستودع والانتقال إلى دليل youtubedl-material
. اكتب npm install
وسيتم تثبيت كافة التبعيات. ثم اكتب cd backend
واكتب npm install
مرة أخرى لتثبيت التبعيات للواجهة الخلفية.
بمجرد القيام بذلك، تكون جاهزًا للعمل تقريبًا. كل ما عليك فعله هو تعديل التكوين في youtubedl-material/appdata
، والعودة إلى دليل youtubedl-material
، واكتب npm run build
. سيؤدي هذا إلى إنشاء التطبيق ووضع ملفات الإخراج في المجلد youtubedl-material/backend/public
.
وأخيرًا، اكتب npm -g install pm2
لتثبيت PM2 عالميًا.
الواجهة الأمامية اكتملت الآن. الواجهة الخلفية أسهل بكثير. ما عليك سوى الانتقال إلى المجلد backend
، واكتب npm start
.
أخيرًا، إذا كنت تريد أن يكون المثيل الخاص بك متاحًا من خارج شبكتك، فيمكنك إعداد وكيل عكسي.
وبدلاً من ذلك، يمكنك إعادة توجيه المنفذ المحدد في التكوين (الافتراضي هو 17442
) وتوجيهه إلى عنوان IP الخاص بالخادم. تأكد من السماح بالمنفذ أيضًا من خلال جدار الحماية الخاص بالخادم.
إذا كنت تستخدم Synology NAS أو unRAID أو Raspberry Pi 4 أو أي حالة خاصة أخرى محتملة، فيمكنك التحقق مما إذا كانت هناك مشكلات أو تعليمات معروفة في متتبع المشكلات وفي Wiki!
إذا كنت تتطلع إلى إعداد YoutubeDL-Material باستخدام Docker، فهذا القسم مناسب لك. وأنت محظوظ! إعداد Docker بسيط للغاية.
curl -L https://github.com/Tzahi12345/YoutubeDL-Material/releases/latest/download/docker-compose.yml -o docker-compose.yml
لتنزيل أحدث إصدار من Docker Compose، أو انتقل إلى صفحة الإصدارات ل احصل على النسخة التي تريدها.docker-compose pull
. سيؤدي هذا إلى تنزيل صورة عامل الإرساء الرسمية لـ YoutubeDL-Material.docker-compose up
لبدء تشغيله. إذا نجح الأمر، فيجب أن يقول "HTTP(S): بدأ على المنفذ 17443" أو شيء مشابه. يخبرك هذا بالمنفذ الداخلي للحاوية للتطبيق. يرجى التحقق من ملف docker-compose.yml
الخاص بك لمعرفة المنفذ الخارجي . إذا قمت بتنزيل الملف كما هو موضح أعلاه، فسيكون الإعداد الافتراضي هو 8998 . افتراضيًا، تعمل حاوية Docker على أنها غير جذر بمعرف UID=1000 وGID=1000. لتعيين هذا على UID/GID الخاص بك، ما عليك سوى تحديث قسم environment
في docker-compose.yml
الخاص بك كما يلي:
environment :
UID : YOUR_UID
GID : YOUR_GID
لتحسين القياس باستخدام مجموعات البيانات الكبيرة، يرجى تشغيل مثيل YoutubeDL-Material الخاص بك باستخدام الواجهة الخلفية MongoDB بدلاً من الإعداد الافتراضي المستند إلى ملف json. سيصلح الكثير من مشكلات الأداء (خاصة مع مجموعات البيانات التي تضم عشرات الآلاف من مقاطع الفيديو/التسجيلات الصوتية)!
درس تعليمي.
مستندات API
للبدء، انتقل إلى قائمة الإعدادات وقم بتمكين واجهة برمجة التطبيقات العامة من علامة التبويب "إضافات" . يمكنك إنشاء مفتاح API في حالة فقده.
بمجرد تمكين واجهة برمجة التطبيقات (API) والحصول على المفتاح، يمكنك البدء في إرسال الطلبات عن طريق إضافة معلمة الاستعلام apiKey=API_KEY
. استبدل API_KEY
بمفتاح واجهة برمجة التطبيقات الفعلي الخاص بك، ومن المفترض أن تكون جاهزًا للبدء! يجب أن تكون كل الواجهة الخلفية تقريبًا تحت تصرفك. عرض نقاط النهاية المتاحة في الرابط أعلاه.
إذا كنت تستخدم iOS، فجرب YoutubeDL-Material بشكل أكثر سهولة باستخدام الاختصار. باستخدام هذا الاختصار، يمكنك بسهولة البدء في تنزيل فيديو YouTube بنقرتين فقط! (أو ربما ثلاثة؟)
يمكنك تنزيل الاختصار هنا.
إذا كنت مهتمًا بالمساهمة، أولاً: رائع! ثانيًا، يرجى الرجوع إلى الإرشادات/معلومات الإعداد الموجودة في صفحة wiki المساهمة، فهي طريقة مفيدة لمساعدتك على البدء في البرمجة.
طلبات السحب موضع تقدير دائمًا! إذا كنت متعثرًا بعض الشيء في البرمجة، فلا توجد مشكلة: يمكننا دائمًا مساعدتك على التعلم. وإذا كان هذا مخيفًا جدًا، فلا بأس بذلك أيضًا! يمكنك إنشاء مشكلات للميزات التي ترغب في رؤيتها أو الأخطاء التي تواجهها، كل ذلك يساعد هذا المشروع على النمو.
إذا كنت مهتمًا بترجمة التطبيق إلى لغة جديدة، فراجع صفحة ترجمة wiki.
المترجمون الرسميون:
انظر أيضًا قائمة المساهمين الذين شاركوا في هذا المشروع.
تم ترخيص هذا المشروع بموجب ترخيص MIT - راجع ملف LICENSE.md للحصول على التفاصيل
لا يرتبط هذا المشروع بأي حال من الأحوال بشركة Google LLC أو Alphabet Inc. أو YouTube (أو الشركات التابعة لها) ولا يتم اعتماده من قبلهم.