The open-source tool to download courses and media files
T

The open-source tool to download courses and media files

The open-source tool to download courses and media files

6,102 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Here’s a developer-friendly blog post based on the tweet and GitHub repo you shared.


Title: Download Courses and Media from the Command Line with OmniGet

Intro

You know that feeling when you find a great online course or a media library you want to keep offline, but the platform doesn’t offer a download button? It’s frustrating. Enter OmniGet, an open-source CLI tool that lets you grab courses and media files directly from the web.

It’s not a flashy SaaS product. It’s a pragmatic script that does one thing and does it cleanly. If you’ve ever wanted to archive a tutorial series or a playlist without clicking through dozens of pages, this is for you.

What It Does

OmniGet is a command-line tool that downloads course content and media files from supported sources. It uses Python under the hood. You provide a URL, and it fetches the videos, subtitles, and accompanying materials in a structured way. Think of it as a focused crawler that knows exactly what to look for.

The repository (tonhowtf/omniget) includes the source code, a requirements file, and basic instructions. It’s not reinventing the wheel. It uses requests, BeautifulSoup, and yt-dlp (a well‑known fork of youtube‑dl) to handle the heavy lifting.

Why It’s Cool

OmniGet stands out for a few reasons:

  • No bloat. It’s a single-purpose tool. No accounts, no UI, no “pro” tier. Just install Python dependencies and run.
  • Course‑aware. Unlike a generic downloader, it knows how to navigate course structures (like sections and chapters) and respects the order.
  • Simple error handling. It retries failed downloads and logs which files were skipped, so you can rerun the command without starting over.
  • Lightweight. The entire repo is under a few hundred lines. Easy to read, easy to modify.

One clever implementation detail: it uses a session cache to avoid re‑downloading files you already have. Handy if you’re frequently updating a course.

How to Try It

You’ll need Python 3.8+ and pip. Here’s the quick start:

git clone https://github.com/tonhowtf/omniget.git
cd omniget
pip install -r requirements.txt
python omniget.py --url "https://example.com/course"

That’s it. The tool will create a folder named after the course and start downloading. Check the

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Apr 29, 2026