{"id":21405250,"url":"https://github.com/rythenglyth/masterclass-dl","last_synced_at":"2026-04-20T21:01:24.196Z","repository":{"id":256297148,"uuid":"854874837","full_name":"RythenGlyth/masterclass-dl","owner":"RythenGlyth","description":"A tool to download classes from masterclass.com","archived":false,"fork":false,"pushed_at":"2026-03-28T15:03:08.000Z","size":209,"stargazers_count":33,"open_issues_count":2,"forks_count":13,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-28T17:38:58.520Z","etag":null,"topics":["downloader","masterclass"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RythenGlyth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-09T23:12:54.000Z","updated_at":"2026-03-28T15:02:23.000Z","dependencies_parsed_at":"2026-03-28T17:07:41.243Z","dependency_job_id":null,"html_url":"https://github.com/RythenGlyth/masterclass-dl","commit_stats":null,"previous_names":["rythenglyth/masterclass-dl"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/RythenGlyth/masterclass-dl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RythenGlyth%2Fmasterclass-dl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RythenGlyth%2Fmasterclass-dl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RythenGlyth%2Fmasterclass-dl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RythenGlyth%2Fmasterclass-dl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RythenGlyth","download_url":"https://codeload.github.com/RythenGlyth/masterclass-dl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RythenGlyth%2Fmasterclass-dl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32065584,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["downloader","masterclass"],"created_at":"2024-11-22T16:23:43.214Z","updated_at":"2026-04-20T21:01:24.190Z","avatar_url":"https://github.com/RythenGlyth.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# masterclass-dl\n\nA command line tool to download masterclass.com classes.\n\n## Features\n\n- **Download entire categories** - Bulk download all classes from any category page\n- **Sessions support** - Download MasterClass Sessions (`/sessions/classes/{slug}`) in addition to regular classes and series\n- **Plex-ready output** - Poster (`poster.jpg`) and fanart (`fanart.jpg`) images for media servers\n- **Embedded subtitles** - 10+ languages automatically embedded in videos\n- **Subtitles-only mode** - Download just subtitles without video files\n- **PDF workbooks** - Class guides and supplementary materials\n- **Flexible options** - Control what gets downloaded with `--pdfs`, `--posters`, `--limit`\n- **SSO support** - Login via Safari session for Google/Apple/company SSO accounts (macOS)\n\n## Prerequisites\n\n- yt-dlp (recommended) or youtube-dl\n- ffmpeg\n\n## Installation\n\nDownload the executable from the [releases](https://github.com/RythenGlyth/masterclass-dl/releases) page.\n\nOr build from source:\n```bash\ngo build -o masterclass-dl .\n```\n\n## Usage\n\n### Login\n\nFirst, authenticate with your Masterclass account:\n\n```bash\nmasterclass-dl login \u003cemail\u003e \u003cpassword\u003e\n```\n\nYou'll be prompted to select a profile if your account has multiple profiles.\n\n### SSO Login (macOS only)\n\nIf you sign in to MasterClass via **Google, Apple, or company SSO** (and don't have a password), use `safari-login` instead. It reads your session cookies directly from Safari — no password needed.\n\n**Requirements:**\n- macOS only\n- Must already be logged in to [masterclass.com](https://www.masterclass.com) in Safari\n- Terminal may need **Full Disk Access** in System Settings → Privacy \u0026 Security → Full Disk Access\n\n```bash\nmasterclass-dl safari-login\n```\n\nYou'll be prompted to select a profile if your account has multiple profiles.\n\n\u003e **Note:** On Windows and Linux, use `masterclass-dl login \u003cemail\u003e \u003cpassword\u003e` instead.\n\n### Check Status\n\nVerify your login and subscription status:\n\n```bash\nmasterclass-dl status\n```\n\n### Download\n\nDownload individual classes, specific chapters, Sessions, or **bulk download entire categories**:\n\n```bash\n# Download a single class\nmasterclass-dl download -o ./downloads \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking\"\n\n# Download a specific chapter\nmasterclass-dl download -o ./downloads \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking/chapters/introduction\"\n\n# Download a MasterClass Session\nmasterclass-dl download -o ./downloads \"https://www.masterclass.com/sessions/classes/\u003cslug\u003e\"\n\n# Download all classes in a category (first 10 by default)\nmasterclass-dl download -o ./downloads \"https://www.masterclass.com/homepage/science-and-tech\"\n\n# Download all classes in a category (no limit)\nmasterclass-dl download -o ./downloads --limit 0 \"https://www.masterclass.com/homepage/science-and-tech\"\n```\n\n#### Download Options\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--output` | `-o` | (required) | Output directory |\n| `--limit` | `-l` | 10 | Max classes to download from a category (0 = unlimited) |\n| `--pdfs` | `-p` | true | Download PDF workbooks |\n| `--posters` | | true | Download poster and fanart images |\n| `--ytdl-exec` | `-y` | yt-dlp | Path to yt-dlp/youtube-dl executable |\n| `--name-files-as-series` | | false | Name files in TV series format for Plex/Jellyfin |\n| `--write-nfo` | | false | Generate NFO metadata files alongside downloads |\n| `--metadata-only` | | false | Download only metadata (no videos or PDFs) |\n| `--subs-only` | `-s` | false | Download only subtitles (no video) |\n| `--force` | | false | Force re-download and overwrite existing files |\n| `--concurrency` | | 1 | Number of concurrent downloads to run |\n\n#### Examples\n\n```bash\n# Download with Plex-friendly TV series naming (s01e01-Title.mp4)\nmasterclass-dl download -o ./downloads --name-files-as-series \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking\"\n\n# Download without PDFs\nmasterclass-dl download -o ./downloads --pdfs=false \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking\"\n\n# Download without poster images\nmasterclass-dl download -o ./downloads --posters=false \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking\"\n\n# Download subtitles only (no video)\nmasterclass-dl download -o ./downloads --subs-only \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking\"\n\n# Download first 5 classes from a category\nmasterclass-dl download -o ./downloads --limit 5 \"https://www.masterclass.com/homepage/science-and-tech\"\n\n# Use a specific yt-dlp path\nmasterclass-dl download -o ./downloads -y /usr/local/bin/yt-dlp \"https://www.masterclass.com/classes/gordon-ramsay-teaches-cooking\"\n```\n\n### Output Structure\n\nDownloads are organized in a Plex/Jellyfin-friendly format:\n\n**Default naming:**\n```\ndownloads/\n├── Gordon Ramsay Teaches Cooking/\n│   ├── poster.jpg\n│   ├── fanart.jpg\n│   ├── Class Guide.pdf\n│   ├── 001-Introduction.mp4\n│   ├── 002-Knives.mp4\n│   └── ...\n```\n\n**With `--name-files-as-series`:**\n```\ndownloads/\n├── Gordon Ramsay Teaches Cooking/\n│   ├── poster.jpg\n│   ├── fanart.jpg\n│   ├── Class Guide.pdf\n│   ├── s01e01-Introduction.mp4\n│   ├── s01e02-Knives.mp4\n│   ├── s01e15-Closing-Extra_trailer.mp4  # Example lessons marked as extras\n│   └── ...\n```\n\n**Video features:**\n- Embedded subtitles in 10+ languages (English, Spanish, French, German, Italian, Japanese, Chinese, Hindi, Polish, Portuguese)\n- Best available video/audio quality\n- Metadata embedded (title, description, episode number)\n\n**With `--name-files-as-series`, additional metadata:**\n- `show` - Series/course title\n- `artist` - Instructor name\n- `genre` - Category (e.g., \"Arts \u0026 Entertainment\")\n- `date` - Episode date\n- `episode_id` - s01e01 format\n- `network` - \"MasterClass\"\n- `synopsis` - Course overview\n\n## Global Flags\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--datDir` | `-d` | ~/.masterclass/ | Directory for cookies and data |\n| `--debug` | | false | Enable debug output |\n\n## Commands Reference\n\n```\nmasterclass-dl [command]\n\nAvailable Commands:\n  completion    Generate the autocompletion script for the specified shell\n  download      Download a class, chapter, or category from masterclass.com\n  help          Help about any command\n  login         Login to masterclass.com\n  safari-login  Login using Safari session cookies (macOS only, for SSO users)\n  status        Check login status\n\nUse \"masterclass-dl [command] --help\" for more information about a command.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frythenglyth%2Fmasterclass-dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frythenglyth%2Fmasterclass-dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frythenglyth%2Fmasterclass-dl/lists"}