عن المشروع
GetCourse Downloader هو برنامج مجاني ومفتوح المصدر لتنزيل الفيديوهات والدروس والدورات من منصة GetCourse لنظامي Windows 10 و11. يقوم البرنامج تلقائيًا بجلب الدورات والدروس المتاحة، ويتيح اختيار الفيديوهات والجودة المطلوبة، ثم تنزيلها كملفات MP4 جاهزة.
## الميزات
- 📚 **دورات كاملة** — جلب تلقائي للدورات والدروس المتاحة
- 🎬 **عدة فيديوهات دفعة واحدة** — اختر الدروس المطلوبة قبل التنزيل
- 🎞️ **ملفات MP4 جاهزة** — يتم تجميع تدفقات HLS تلقائيًا في ملفات فيديو جاهزة
- 🎚️ **اختيار الجودة** — تنزيل الجودة المتاحة لكل فيديو
- 📂 **هيكل المجلدات** — تنظيم تلقائي للدورات والدروس على القرص
- 🔐 **المصادقة عبر Firefox** — يتم تسجيل الدخول في ملف تعريف متصفح منفصل
- 🔄 **تنزيل موثوق** — إعادة تنزيل المقاطع عند حدوث أخطاء مؤقتة
- 🖥️ **ملف EXE جاهز لـ Windows** — يتضمن Python وFirefox وFFmpeg
## كيفية تنزيل الفيديوهات من GetCourse
1. قم بتنزيل أحدث إصدار من GetCourse Downloader من GitHub Releases.
2. فك ضغط ملف ZIP في مجلد منفصل.
3. شغّل `GetCourseVideoDownloader.exe`.
4. أدخل رابط الدورة أو صفحة قائمة الدروس.
5. قم بتسجيل الدخول إلى حساب GetCourse الخاص بك في نافذة Firefox المنفتحة.
6. اختر الدروس المطلوبة وجودة الفيديو.
7. حدد مجلدًا للحفظ.
8. اضغط على **«تنزيل المحدد»**.
يتم حفظ الفيديوهات الجاهزة على الكمبيوتر بصيغة MP4.
## للمطورين
### التشغيل من الكود المصدري
يتطلب Windows وPython 3.12+ وuv.
```powershell
git clone https://github.com/markpekun/getcourse-downloader.git
cd getcourse-downloader
uv sync --locked --group dev
uv run playwright install firefox
uv run getcourse-downloader
```
فحوصات الجودة:
```powershell
uv run ruff check src tests main.py
uv run ruff format --check src tests main.py
uv run mypy src main.py
uv run pytest
```
### بناء ملف EXE
```powershell
.\build.ps1
```
يقوم السكربت بمزامنة التبعيات من `uv.lock`، والتحقق من Firefox وFFmpeg، وبناء التطبيق، وتشغيل اختبار دخان للعامل (worker)، وإنشاء:
```text
dist/GetCourseVideoDownloader-win-x64.zip
dist/GetCourseVideoDownloader-win-x64.zip.sha256
```
## البنية المعمارية
تم بناء المشروع كمونوليت معماري باستخدام نمط ports & adapters:
```text
Flet / CLI -> application use cases -> domain
^
Playwright / HLS / FFmpeg / JSON adapters
```
يوجد وصف تفصيلي في ملف ARCHITECTURE.md.
## الترخيص
MIT. للاستفسارات: Telegram @No_Resp_404
## ملاحظة
يتم حاليًا إصلاح نشط للمشاكل، حيث يوجد خلل في البناء (يمنع تشغيل المتصفح للمصادقة)، بالإضافة إلى تطوير ميزة تنزيل الفيديوهات المحمية.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.