프로젝트 소개

GetCourse Downloader는 Windows 10/11용 무료 오픈소스 비디오, 강의, 코스 다운로더로, GetCourse 플랫폼에서 콘텐츠를 받을 수 있습니다. 이 프로그램은 사용 가능한 코스와 강의를 자동으로 가져오고, 원하는 비디오와 화질을 선택한 뒤 MP4 파일로 다운로드합니다. ## 기능 - 📚 **전체 코스** — 사용 가능한 코스와 강의 자동 가져오기 - 🎬 **한 번에 여러 비디오** — 다운로드 전에 원하는 강의 선택 - 🎞️ **MP4 파일 생성** — HLS 스트림을 자동으로 비디오 파일로 변환 - 🎚️ **화질 선택** — 각 비디오에 대해 사용 가능한 화질 선택 - 📂 **폴더 구조** — 코스와 강의가 디스크에 자동으로 정리됨 - 🔐 **Firefox 인증** — 별도 브라우저 프로필에서 로그인 수행 - 🔄 **안정적인 다운로드** — 일시적 오류 시 세그먼트 재시도 - 🖥️ **Windows EXE 포함** — Python, Firefox, FFmpeg가 이미 포함됨 ## GetCourse 비디오 다운로드 방법 1. GitHub Releases에서 최신 버전의 GetCourse Downloader를 다운로드합니다. 2. ZIP 파일을 별도 폴더에 압축 해제합니다. 3. `GetCourseVideoDownloader.exe`를 실행합니다. 4. 코스 또는 강의 목록 페이지 링크를 붙여넣습니다. 5. 열린 Firefox에서 GetCourse 계정에 로그인합니다. 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 ## 참고 사항 현재 활발히 수정 중이며, 빌드에 버그가 있어 인증용 브라우저가 실행되지 않는 문제가 있습니다. 또한 보호된 비디오 다운로드 기능을 개발 중입니다.