About this project

GetCourse Downloader is a free, open-source downloader for Windows 10/11 that fetches videos, lessons, and entire courses from the GetCourse platform. The program automatically retrieves available courses and lessons, lets you select desired videos and quality, then downloads them as ready-to-use MP4 files. ## Features - 📚 **Full courses** — automatically fetches available courses and lessons - 🎬 **Multiple videos at once** — select needed lessons before downloading - 🎞️ **Ready MP4 output** — HLS is automatically assembled into final video files - 🎚️ **Quality selection** — downloads available quality for each video - 📂 **Folder structure** — courses and lessons are automatically organized on disk - 🔐 **Firefox-based login** — sign in happens in a separate browser profile - 🔄 **Reliable downloads** — segments are retried on temporary errors - 🖥️ **Ready Windows EXE** — Python, Firefox, and FFmpeg are bundled ## How to download videos from GetCourse 1. Download the latest GetCourse Downloader release from GitHub Releases. 2. Extract the ZIP archive into a dedicated folder. 3. Run `GetCourseVideoDownloader.exe`. 4. Paste the course or lesson-list page URL. 5. Log in to your GetCourse account in the opened Firefox window. 6. Select the lessons and video quality you want. 7. Choose a destination folder. 8. Click **“Download selected”**. Finished videos are saved on your computer as MP4 files. ## For developers ### Run from source Requires Windows, Python 3.12+, and 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 ``` Quality checks: ```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 ``` ### Build EXE ```powershell .\build.ps1 ``` The script syncs dependencies from `uv.lock`, checks Firefox and FFmpeg, builds the app, runs a worker smoke-test, and creates: ```text dist/GetCourseVideoDownloader-win-x64.zip dist/GetCourseVideoDownloader-win-x64.zip.sha256 ``` ## Architecture The project is built as a modular monolith using ports & adapters: ```text Flet / CLI -> application use cases -> domain ^ Playwright / HLS / FFmpeg / JSON adapters ``` Detailed description is in ARCHITECTURE.md. ## License MIT. Questions: Telegram @No_Resp_404 ## Note Currently under active fixing — there is a build bug (which prevents the authorization browser from launching), and development is ongoing for downloading protected videos.