// the find
tonhowtf/omniget
Open-source desktop app for downloading, organizing and studying media. Native cross-platform (Tauri + Rust + Svelte). PDF/EPUB reader with focus mode, timestamped notes and spaced repetition. Media downloads via yt-dlp (1.800+ sites). Extensible plugin system.
OmniGet is a Tauri/Rust/Svelte desktop app that wraps yt-dlp and custom platform extractors into a single GUI with a built-in media library, course player, PDF/EPUB reader, and music player. It targets people who currently juggle multiple tools to download from Udemy, YouTube, and similar platforms and want everything in one place. The pitch is real: this combination genuinely didn't exist as a polished open source app before.
The Tauri stack is the right call here — native binary, no Electron memory bloat, Rust handles the download queue and FFmpeg orchestration without GC pauses. The plugin SDK (omniget-plugin-sdk crate with a proper traits abstraction) means platform extractors don't have to live in the core binary, which will matter as site count grows. The browser extension with a native messaging bridge is a genuinely useful UX shortcut — one click to hand a URL to the app without switching windows. The yt-dlp SHA256 verification before execution is a small but correct security call that most similar tools skip.
The repo has no visible test suite beyond the browser extension — the core Rust download logic, queue recovery, and platform extractors have no tests in the tree, which means breakage when yt-dlp or platform APIs change will be discovered by users rather than CI. The 'plugin system' and 'P2P transfer' features read like they're early or aspirational — the plugin SDK exists but there's no public plugin registry or documentation on how to actually ship one, so the extensibility claim is mostly theoretical right now. Bundling yt-dlp and FFmpeg avoids setup friction but also means the app ships two frequently-updated binaries it needs to track; the auto-update story for those dependencies isn't documented and will become a maintenance drag. The cookie capture approach (browser extension reads cookies and hands them to the Rust layer) works but is a persistent cat-and-mouse game with browser security policy changes — Chrome's Manifest V3 restrictions will keep making this harder.