OmniGet: A desktop app for downloading and locally consuming content from 1,800+ sites
A desktop downloader for Windows, macOS, and Linux that puts yt-dlp’s 1,800+ sites and course reading in one window.
GitHub tonhowtf/omniget Updated 2026-09-14 Branch main Stars 11.7K Forks 1.0K
Rust TypeScript yt-dlp FFmpeg Windows/macOS/Linux Desktop downloader

🧭 Decision Guide

Try it if you

  • You need to download Udemy, Hotmart, YouTube, or Instagram content without opening a terminal.
    The README sections “Why OmniGet” and “What OmniGet downloads” explicitly describe these sites and the no-terminal workflow.
  • You need course resumption, PDF/EPUB reading, or audio formats such as MP3 and FLAC.
    The README’s “What OmniGet downloads” section lists the Courses plugin, PDF/EPUB reader, and MP3, M4A, Opus, FLAC, and WAV formats.
  • You want AI agents to invoke structured tools instead of operating the downloader UI directly.
    The README section “The Tools section: 108 tools in 16 categories” states that tools use JSON input/output and can be driven by the built-in MCP server.

Skip it if you

  • Your goal is to download DRM-protected courses or bypass paywalls.
    The README section “Privacy and what OmniGet refuses to do” explicitly says it does not bypass DRM or paywalls and skips DRM-protected courses.
  • Your environment is command-line-only and cannot use a Windows, macOS, or Linux desktop application.
    The README describes OmniGet as a “free desktop app” and instructs users to open the app and paste links.
  • Your security policy prohibits a browser extension from forwarding login cookies and referers.
    The README section “The browser extension, step by step” states that the extension forwards cookies and referers to access private content.

Requirements

  • Windows: Windows 10 / 11; macOS: 10.15+.
  • On Linux, choose a .deb for Debian/Ubuntu, an .rpm for Fedora/RHEL, or an AppImage.
  • The first launch installs yt-dlp and FFmpeg; the README says this is done with one click.
  • With Python 3.10 or newer, yt-dlp can run as a zipapp.
  • The browser extension supports the sites listed, including YouTube, Instagram, TikTok, X, Reddit, Twitch, and Pinterest.
  • OmniDisc requires a self-hosted omnidisc-server and must be enabled under Settings → Advanced → Chat (OmniDisc).

First step (verbatim from README)

winget install -e --id tonhowtf.OmniGet

Watch out

  • YouTube can use up to 16 parallel fragments, while sites returning 429 receive fewer connections.
    The README section “Your first download in one minute” says connections adapt to each site’s response.
  • Portable mode requires creating portable.txt or .portable next to the Windows .exe.
    The README section “Portable mode” specifies the filename and location.
  • OmniDisc does not run automatically; it requires adding a server and enabling it in Advanced settings.
    The README section “Built-in chat, off by default” states that it is disabled by default and gives the enablement path.
  • The browser extension’s Force H.264 switch is intended for computers that stutter on VP9 and AV1.
    The README section “The browser extension, step by step” explicitly describes the Force H.264 use case.

Alternatives

  • yt-dlp:Use it when you only need command-line downloading and want direct control of yt-dlp parameters instead of the OmniGet UI.
    README section “Why OmniGet”
  • gallery-dl:Use it when your main task is downloading galleries and profiles from 250+ image sites such as DeviantArt, Pixiv, and ArtStation.
    README section “What OmniGet downloads”

Not stated in the README

  • The README does not provide a complete compatibility list or per-site test status for the 1,800+ sites.
  • The README does not specify minimum hardware requirements or memory usage for Windows, macOS, and Linux.
  • The README does not describe rollback behavior if yt-dlp, FFmpeg, or plugin updates fail.
  • The README does not explain encryption for cookies and local API keys or provide security audit results.
  • The README does not describe the responsibilities of the 10 contributors or the long-term release plan.
  • The README does not provide the full changelog or known-issues list for v0.9.2.
  • The README does not specify authentication, permission boundaries, or remote-exposure risks for the built-in MCP server.

💡 Deep Analysis

6
Yes I own Udemy and Hotmart courses, use Windows 10/11, and need to download lessons and attachments and resume progress offline; is OmniGet suitable for me?
For: An individual learner with Udemy, Hotmart, or Kiwify courses who wants offline storage and resumed progress on Windows 10/11

Yes, because it combines course downloading, attachment storage, and local learning progress in one desktop application.

  • The Courses plugin supports Hotmart, Udemy, Kiwify, Rocketseat, and Meta-Analysis Academy, including course structure, section selection, attachments, and resuming where you stopped.
  • The built-in course player, transcription, and subtitle features reduce the need to switch to a terminal or separate study tools.
  • Windows 10/11 offers installer, portable, and MSI builds, and the first launch can install yt-dlp and FFmpeg with one click.
  • However, paid courses still require a valid account session. The project does not bypass DRM or paywalls, and DRM-protected courses are skipped.

It is therefore a good fit for courses you legitimately purchased and can access, but not for DRM circumvention.

  • What OmniGet downloads: Courses plugin supports Hotmart, Udemy, Kiwify, Rocketseat, and Meta-Analysis Academy; “Every lesson, section selection, attachments, resume where you stopped”
  • Why OmniGet: the same window “then plays the course, reads the PDF, transcribes the audio”
  • Download and install: Windows 10 / 11 with installer, portable, and MSI builds
  • Privacy and what OmniGet refuses to do: it does not bypass DRM, paywalls, or access controls
winget install -e --id tonhowtf.OmniGet
Not stated in the README:The README does not state whether every attachment, interactive element, or progress record from each Udemy or Hotmart course can be saved offline.;The README does not specify coverage for every account type, region, or purchase channel supported by the course plugin.
Yes I primarily use the Linux AppImage and need to batch-archive YouTube channels, Reddit and X profiles, plus image galleries such as DeviantArt and Pixiv; is OmniGet suitable for this cross-platform archiving workflow?
For: A personal archivist who needs to archive YouTube channels, Reddit/X/Instagram/Pinterest profiles, and 250+ image sites primarily through the Linux AppImage

Yes, because it combines bulk links, channel/profile downloads, and image-gallery archiving with local naming and duplicate-skipping options.

  • Linux provides deb packages for Debian/Ubuntu, rpm packages for Fedora/openSUSE/RHEL families, and amd64 or aarch64 AppImages.
  • Bulk input accepts many pasted links or a .txt file and can download entire subreddits, Reddit/X profiles, and Instagram/Pinterest profiles.
  • Through gallery-dl, it covers 250+ image sites, including DeviantArt, Pixiv, ArtStation, Flickr, Tumblr, and Imgur.
  • Persistent options include filename templates, organizing by platform, skipping existing files, chapter splitting, speed limits, concurrency, and proxies. Followed channels can also be checked in the background for new uploads.

It fits personal local archiving, but it is not a cloud backup service and cannot guarantee long-term extraction from every site; site changes and platform restrictions still matter.

  • Download and install: Linux deb, rpm, and amd64/aarch64 AppImage options
  • What OmniGet downloads: bulk support for `.txt`, subreddits, Reddit/X profiles, and Instagram/Pinterest profiles
  • What OmniGet downloads: “Whole galleries and profiles from 250+ sites through gallery-dl”
  • What OmniGet downloads: filename templates, organizing by platform, skipping existing files, speed limits, concurrent downloads, proxies, and background channel following
Not stated in the README:The README does not specify AppImage compatibility with every Linux distribution and desktop environment.;It provides no storage-limit or resource-consumption figures for long-running channel following, very large galleries, or bulk profile downloads.;It does not guarantee that all 1,800+ sites offer the same preview, login, subtitle, or bulk-download capabilities.
It depends I do not want an OmniGet account or cloud upload of download activity. I need settings, cookies, plugins, and the database on a USB drive and want to use it across Windows 10/11 and Linux; does it fit these constraints?
For: A privacy-focused personal archivist who wants an account-free, local workflow across Windows 10/11 and Linux using a portable USB installation

It depends: the project matches the no-account and local-first requirements, but the README only clearly documents portable data placement on Windows and does not promise that one USB data directory can be reused directly across Windows and Linux.

  • The project states “No account,” “No ads,” and “no telemetry on what you download”; files stay on the computer and there is no dependency on project-owned cloud services.
  • On Windows, portable mode is enabled with portable.txt or .portable, moving settings, the database, cookies, plugins, caches, yt-dlp, and FFmpeg into a data folder beside the executable.
  • Linux mainly offers AppImage, deb, and rpm packages; the README does not document Linux portable mode or cross-system database migration.
  • Keeping cookies and API keys locally reduces cloud exposure, but possession of the USB drive or data directory could still expose credentials.

It is a strong fit for single-system portable use, while sharing the same data directory between Windows and Linux requires additional verification.

  • OmniGet: “Free,” “No account,” “no telemetry on what you download,” and “Your files stay on your computer”
  • Portable mode: create `portable.txt` or `.portable`; the data folder is placed next to the executable
  • Portable mode: settings, database, cookies, plugins, caches, yt-dlp, and FFmpeg move into the `data` folder
  • Common pitfalls: local cookies and API keys; possession of the portable disk or data directory can expose credentials
  • Download and install: Linux provides .deb, .rpm, and AppImage
Not stated in the README:The README does not state whether Linux supports a portable mode equivalent to Windows.;It does not state whether the database, cookies, plugins, and caches can be migrated directly between Windows and Linux.;It does not document encryption or credential-protection features for the portable data directory.
It depends I am logged into Instagram, Udemy, and YouTube members-only content in my browser and want to pass cookies and the Referer directly to OmniGet on Windows 10/11; does it fit this authenticated-download constraint?
For: A desktop user who needs Instagram Stories, Udemy paid courses, and YouTube members-only videos while already logged in through a browser and unwilling to export cookies manually

It depends: the browser extension supports authenticated-session transfer, but success depends on site recognition, cookie validity, and account permissions.

  • The extension recognizes YouTube, Instagram, Udemy, Hotmart, Rocketseat, Bilibili, and other sites, and sends a page to the desktop app with one click or Alt+O.
  • It forwards cookies and the Referer; the README explicitly lists Instagram Stories, paid courses, and members-only videos as use cases.
  • Cookies are grouped by the real site, reducing accidental sharing between domains. However, the wrong account, expired cookies, or an unpaired extension can still produce 403 or unauthorized errors.
  • The project does not bypass DRM, paywalls, or access controls, so browser playback does not guarantee downloading.

It is a strong fit when the browser account legitimately has access, but it cannot guarantee downloads for DRM-protected or otherwise restricted content.

  • The browser extension, step by step: supports YouTube, Instagram, Udemy, Hotmart, Rocketseat, Bilibili; “forwards your cookies and referer”
  • The browser extension, step by step: examples include “Instagram stories, a paid course, or a members-only video”
  • Common pitfalls: expired cookies, the wrong logged-in account, or an unpaired extension may cause unauthorized responses or 403
  • Privacy and what OmniGet refuses to do: it does not bypass DRM, paywalls, or access controls
Not stated in the README:The README does not provide a complete compatibility matrix for specific Chrome, Firefox, or other browser versions.;The README does not guarantee successful downloads for every Instagram, Udemy, or YouTube membership account type or region.
Yes I want an AI agent to invoke OmniGet's download, subtitle, and conversion capabilities. Our team already uses JSON input/output and wants MCP to remain separate from the core download path; is this project suitable for integration?
For: An automation developer who wants to connect downloads, subtitles, transcription, and file processing to an AI agent through JSON tools and the built-in MCP server

Yes, because the project exposes independent Rust commands with JSON input/output and offers an optional built-in MCP server.

  • The Tools section contains 108 tools across 16 categories, with each tile representing an isolated Rust command that can be composed by capability.
  • The README explicitly says that JSON in/JSON out is what allows AI agents to drive the tools through the built-in MCP server.
  • The tools hub provides search and platform filtering; Windows-only tools are hidden on other systems, and ready, beta, and planned statuses are visible.
  • OmniDisc chat is off by default, and MCP is optional rather than required for ordinary downloads. Plugins also declare access to events, directories, proxies, and the download queue.

It is therefore suitable as a local automation entry point, but it is not documented as a stable remote-service API. Permission boundaries, error codes, version compatibility, and MCP authentication details still need verification.

  • The Tools section: 108 tools in 16 categories
  • The Tools section: “an isolated Rust command with JSON in and JSON out,” enabling “AI agents” to drive them through the built-in MCP server
  • The Tools section: Windows-only items stay hidden elsewhere, with ready, beta, and planned statuses
  • Plugins: Courses, Study, Telegram, Convert: declared plugin permissions; Built-in chat is off by default
Not stated in the README:The README does not provide the MCP transport, authentication method, listening scope, or complete tool schemas.;It does not state a version-compatibility promise for the JSON interface or MCP after v0.9.2.;It does not list supported account types or structured failure codes for each beta tool.
It depends I use an M1 Mac on macOS 10.15+ and want to save YouTube 4K/HDR videos, but VP9 and AV1 playback stutters on my machine; can OmniGet address both download quality and H.264 playback?
For: A media user on macOS 10.15+ with an Apple Silicon M1 Mac who needs YouTube 4K/HDR downloads and H.264 playback to avoid VP9/AV1 stutter

It depends: OmniGet offers quality selection and a Force H.264 option, but the README does not guarantee smooth 4K/HDR handling on every Mac.

  • Apple Silicon Macs running macOS 10.15+ can use the aarch64 DMG, and the application installs and updates yt-dlp and FFmpeg automatically.
  • After pasting a link, the app previews the title, thumbnail, and available qualities. Persistent options include default quality, audio format, subtitles, thumbnails, and metadata embedding.
  • The browser extension includes Force H.264, explicitly intended for computers that stutter on VP9 and AV1 playback.
  • 4K/HDR increases disk, bandwidth, and CPU demands, while available quality still depends on the YouTube account, source formats, and yt-dlp extraction results.

It is worth using for compatibility-oriented playback or conversion, but the available project data cannot promise stable access to every 4K/HDR source.

  • Download and install: macOS 10.15+; “omniget_x.y.z_aarch64.dmg for Apple Silicon (M1 and later)”
  • Your first download in one minute: the app “shows ... available qualities”; yt-dlp and FFmpeg “install themselves and stay updated”
  • What OmniGet downloads: default quality, audio-only format, subtitle languages and format, thumbnail and metadata embedding
  • The browser extension, step by step: “Force H.264” for computers that stutter on VP9 and AV1
brew install --cask tonhowtf/tap/omniget
Not stated in the README:The README does not provide performance measurements or hardware requirements for 4K, HDR, VP9, or AV1 processing on an M1 Mac.;The README does not clarify whether Force H.264 affects playback only, download format selection, or also triggers additional transcoding.

✨ Highlights

  • yt-dlp covers roughly 1,800 sites without requiring a terminal
  • Includes a course player, PDF/EPUB reader, and music library
  • Provides packages for Windows, macOS, and Linux
  • Supports sending files and links to phones via KDE Connect
  • DRM-protected courses are skipped and reported

🔧 Engineering

  • Pasting a link shows its title, thumbnail, and available qualities
  • The Courses plugin supports resumable Udemy and Hotmart downloads
  • The built-in BitTorrent client supports .torrent and magnet links
  • Tools provides 108 Rust tools and a built-in MCP server
  • Portable mode stores settings, cookies, and FFmpeg in data

⚠️ Risks

  • It does not bypass DRM or paywalls, so protected courses cannot be downloaded
  • The browser extension forwards cookies and referers to OmniGet
  • OmniDisc chat is experimental and disabled by default
  • Beta tools in Tools are not tested against every account type
  • Users are responsible for copyright and platform terms of service

👥 For who?

  • Desktop users who need to download Udemy or Hotmart courses
  • Content collectors who do not want to maintain yt-dlp command flags
  • Users needing a tool across Windows, macOS, or Linux
  • Developers who want AI agents to invoke Rust tools