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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.