
omniget
Udemy & Hotmart course downloader, YouTube downloader (yt-dlp GUI, 1,800+ sites) + desktop app for AI agents: Claude Code, Codex, Gemini CLI, Ollama. Permiss…
Install with your AI
This project is repository unavailable — not recommended for automated install, so we don't generate an auto-install prompt for it. Read the repo and decide for yourself.
// compatibility
| Platforms | cli, api, desktop, web |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | GPL-3.0 |
| Pricing | open-source |
| Language | Rust |
OmniGet
English · Português (BR) · Русский · 简体中文
A yt-dlp GUI, a Udemy and Hotmart course downloader, and a desktop app for AI coding agents.
Free and open source for Windows, macOS and Linux. No terminal.
Download YouTube, Instagram, TikTok, X, Pinterest and 1,800+ other sites, then transcribe, convert, read and study what you saved.
Run Claude Code, Codex, Gemini CLI and local Ollama models as agents with permissions, undo, jobs and loops, and watch them work in a house you can visit.
Free. Open source under GPL-3.0. No account, no ads, no telemetry on what you download. Your files stay on your computer.
13,800+ GitHub stars. The most starred repository in the udemy-downloader, hotmart-downloader, course-downloader, yt-dlp-gui, media-downloader and instagram-downloader topics.
Contents
- AI agents and the World: Claude Code, Codex, Gemini CLI, Ollama, jobs, loops, MCP, the house and visits
- Why OmniGet
- Download and install
- Your first download in one minute
- What OmniGet downloads: Udemy, Hotmart, YouTube, Instagram, TikTok, X and 1,800+ sites
- The browser extension, step by step
- The Tools section: 156 tools in 24 categories
- MCP server for Claude Code, Cursor and VS Code, and a Claude Code plugin
- Plugins: Courses, Study, Telegram, Convert
- For League of Legends players
- Everything else in the box
- Privacy and what OmniGet refuses to do
- Frequently asked questions
- Command line
- Build from source
- Contributing and translations
- Standing on open source
AI agents on your desktop: Claude Code, Codex, Gemini CLI and Ollama
Claude Code, run through OmniGet, fixes a failing test in about 15 seconds from one command. It asks permission with the diff on screen, and one click takes the whole turn back. New in 0.10 and now the centre of the app, OmniGet is a desktop app for AI coding agents. It carries the whole system that goes around an agent: a coding harness with permissions and undo, a durable job queue with loops and triggers, a roster that takes your local models, your API keys and the agent CLIs you already pay for, a project memory, and a small world where those agents live and where you can watch them work. It runs on your machine. Nothing talks to the network until you add a key, start a local model or open your house.
| You want to | Open | What happens |
|---|---|---|
| Have an agent change code in a folder | LLM → Chat | It reads, edits and runs commands inside that folder only, asks before it writes, and one click undoes the turn |
| Leave work running | LLM → Jobs, Loops | The turn survives closing the window and a crash; a Loop repeats until your check command passes |
| Start work on a schedule or from another program | LLM → Jobs → Triggers | A cron line or a webhook on the local bridge starts a job |
| A GUI for Claude Code, Codex or Gemini CLI | LLM → Accounts | They join the roster as agents, keep their login, ask permission through OmniGet |
| Agents on a local model, offline | LLM → Models | Ollama, LM Studio or llama-server runs the same tools with no key |
| Several agents in parallel | LLM → Jobs, World | Two jobs run at once, agents delegate to each other, each at its own workbench |
| See who is doing what | World | Each agent walks to its own workbench, shows the tool in a balloon and waves when it needs you |
| Show a friend | World → Open the house | A code, a visit, a chat. Your app stays the authority |
A coding agent with permissions, a sandbox and undo
Pick an agent, attach a folder, ask for a change.
- Eleven tools, one folder.
fs_read,fs_list,fs_glob,fs_grep,fs_edit,fs_write,fs_apply_patch,shell_exec,todo_write, pluskb_searchandkb_write. Every path is resolved inside the folder you attached; a path outside it becomes its own question (external_directory) and the answer covers that one call. Each conversation has its own folder. - Edits that survive a sloppy model.
fs_editfalls back from an exact match to a block match anchored on the first and last line, and refuses when the block it found is out of proportion to what was asked.fs_apply_patchtakes the V4A envelope with a context fuzz ladder and keeps the file's own context lines. A small model that invents a container path such as/workspaceis put back at the folder root instead of failing. - A sandboxed shell. On macOS
shell_execruns under seatbelt: no network, writes only inside the folder. The chip next to the folder always shows whether the sandbox is on. - Permission with the evidence on screen. Anything that writes asks first and shows the command or the diff. Allow is once, Deny is once, Always stores a rule for that agent by command prefix:
git status *,npm run test *,node *. A chained line (git status && rm -rf x) needs a rule for every segment, and$(…), backticks and>never ride on a rule. The rules are listed in the inspector on the right, where you edit the pattern, switch a rule to ask or deny, or delete it; the next call asks again. - Undo takes the whole turn back. Before the first write of a turn OmniGet takes a checkpoint: it snapshots the folder into a shadow git that never touches your repository. Undo restores the files and removes that turn's messages from the conversation, without running anything again. It also covers edits made by Claude Code or an ACP agent. When a turn ran shell commands, the toast names each one, so you know exactly what the turn touched.
- Stop means stop. Cancelling a turn also drops its pending permission request, in the chat and in the job list.
- Models. A local server (Ollama, LM Studio, llama-server) or your own keys, with a router that walks down a chain when a quota runs out or a provider rate-limits. A fresh install is local first.
Measured on the demo project (one failing test, a one-character bug), release build, Apple Silicon: Claude Code through OmniGet fixes it in about 15 seconds from one command; an 8B local model (qwen3:8b on Ollama) does the same in about 3 minutes, asking permission with the diff.
Local AI agents with Ollama, LM Studio and llama-server
A fresh install is local first. Point OmniGet at Ollama, LM Studio or llama-server and the agents run on your machine, offline, with the same eleven tools, the same permission prompts and the same undo. On the demo project an 8B model (qwen3:8b on Ollama) finds and fixes the bug in about 3 minutes. Add API keys later and the router uses them as the next step of the chain; the local model stays first for as long as you want.
Loop an AI agent until the tests pass: Jobs, Loops, cron and webhooks
- A job is an agent turn that outlives the window. It lives in a SQLite queue with its state (
queued,running,waiting_approval,done,failed,cancelled), its log, and what it cost: model, tokens in and out, cache reads, and the cost when the provider reports one. Two jobs run at a time. A job that needs a permission shows Allow / Always allow / Deny right on its row. - A Loop repeats rounds until a check passes. Give it a prompt and a check command (
npm test,cargo test,node test/cart.test.js); the check runs under the same sandbox, and the Loop ends withcheck_passed, or when the rounds or minutes you set run out. - It keeps going without you. Close the window and the app stays in the tray with the Loop running. Kill the process mid-round and the next launch marks that round failed and opens a new one by itself. Both were tested exactly that way. An unattended Loop needs the rules it will use (an unanswered request is denied after two minutes).
- Triggers. A five-field cron line (lists, ranges, steps,
@hourly,@daily, local time), checked once a minute with no duplicate fire, or a webhook:POST /v1/hooks/<id>on the local bridge with your token, where the body becomes{{body}}in the prompt. - From a terminal, against the running app:
omniget agent run "Fix the failing test in src/cart.js" --agent claude-code --workspace .
omniget agent loop "Make the tests pass" --agent omni --workspace . --check "npm test" --rounds 5
omniget agent jobs # list, show one, --cancel
omniget agent loops
omniget agent agents
A GUI for Claude Code, Codex and Gemini CLI: run them as agents that work as a team
- Claude Code and Codex accounts plug in with their quota on screen, including the login your terminal already has. Several accounts of the same CLI can coexist, read-only or allowed to write.
- OmniGet is an Agent Client Protocol client. Any CLI that speaks ACP joins the roster from LLM → Accounts: Gemini CLI, claude-code-acp, codex-acp, goose, opencode, or a command you type. OmniGet is agent-agnostic: it has its own JSON-RPC client over stdio, so there is no SDK to install; the agent keeps its login and model, and its permission requests show up in OmniGet's prompt. Checked field by field against claude-code-acp 0.16.
- Multi-agent with
agent_delegate. One agent hands a task to another and gets the answer back as a tool result, in a child conversation you can open. A local coordinator that delegates the hard part to Claude Code costs exactly one run of the CLI. - A memory the whole team shares.
AGENTS.md(orCLAUDE.md) plus markdown notes in.omniget/kb/, inside your project, in git if you want. The index goes into every prompt, and the agents search and write notes withkb_searchandkb_write. - Skills install from a folder, a zip, or
owner/repoandowner/repo@skillas innpx skills add, and pass through a scanner first. - MCP both ways. External MCP servers become tools, granted per agent as auto, ask or deny. And OmniGet serves its own 49 tools, the coding ones included, to Claude Code, Cursor, VS Code and the rest: see OmniGet for AI agents.
- Context pruning, off by default. On long conversations a judge decides which old tool outputs no longer bear on the task and replaces them with a marker; the call and its id stay, so the agent can run the tool again. It works inside a long turn as well as between turns, and on Claude Code conversations too. The local judge (MiniLM, on your machine) only ever omits an output; the optional remote judge needs a key and says plainly that previews leave your computer. Every request leaves a receipt with measured numbers: outputs omitted, estimated tokens before and after, input tokens the provider billed. No invented percentages.
- Budgets. Per agent: dollars per day, tokens per turn, tool calls per turn. A spent agent goes to sit down, literally.
The World: watch your AI agents work in an isometric house
A house is made on your first visit and the agents of your roster move in, CLI and ACP agents included. A fresh install starts with three: Omni (coordinator), Builder (code) and Scout (reading and research), all editable. Add or remove an agent and the house follows.
- One post per agent. Each has its own desk and workbench, so two agents working at once never stand on the same tile. It walks to the desk when a turn starts and to the workbench when a tool runs, with a balloon naming the tool (
fs_edit cart.js,shell_exec). When it needs your permission it stops and waves at you. When its budget is spent it sits down, tired. Jobs and Loops move the agents exactly like chat does. - The Activity panel next to the house has a row per agent: state, current tool, running job, energy. Click a row and the camera goes to that agent.
- Energy is quota. What is left of an account's window is that agent's energy; an exhausted account goes to bed.
- Demo mode.
/world?demo=1, or the Demo button, plays a scripted run with three agents and a permission request without spending a token. It is what the clip below shows. - Built here. The simulation is a Rust crate, the renderer is WebGL2, and the app measures your machine once and picks a quality tier. With eight agents working at once it held a median of 64 frames per second on the test machine (debug build). Furniture goes in slots. A hand-crafted yard with four outdoor workbenches is one click away (World → Quintal artesanal). Agents only think through a model if you switch that on.
Visits: open your house to a friend with a code
Open the house gives you a code such as ZZCJ-YA09. A friend types it and walks into your house: they see your map, your agents at work and the other guests, walk around, and what they say shows up as a balloon.
- Your app is the authority. The room server only relays frames. Your keys, your quota and your agents' brains never leave your machine, and a visitor can do one thing: walk.
- No accounts. The hello is signed with the ed25519 key of your local profile.
- It keeps serving while you work. With the house open the world stays awake when the window is covered or you are on another tab, and a guest that misses a frame asks for a fresh picture instead of freezing.
- Closing the house closes the only socket there is.
- The public relay is
wss://chat.tonho.wtf/v1/room. To host your own,omniworld-serveris a single binary with aDockerfileand adocker-compose.ymlinscripts/omniworld-server/; put it behind a proxy that terminates TLS and set the address in Settings → World → Room server.
The pet. A floating Omni reacts to what the agents do, including Claude Code or Codex running in a terminal outside the app, and answers permission prompts with Allow, Always or Deny.
The limits strip. A thin strip on a screen edge with one ring per coding assistant: how much of each usage limit is gone, when it resets, and whether the assistant is working, waiting or done. Off until you switch it on in LLM → Accounts, and every assistant is its own checkbox that says what it reads. A reader opens only the login that tool already keeps on your machine, read-only, asks that tool's own service for your usage at most once every five minutes, and never writes, refreshes or logs a token. Local runtimes (Ollama, LM Studio) show the models they have loaded. Claude Code is verified; the other remote readers are marked beta.
Why OmniGet: a course downloader, a yt-dlp GUI and a media toolbox in one app
You bought a course and want it on your disk before the platform pulls it. You keep a yt-dlp cheat sheet because the flags never stick. You have one site for Instagram stories, another for X videos, a Chrome extension for Pinterest, a Python script for subtitles, and none of them remember your login.
OmniGet puts all of that behind one text box. Paste a link, see a preview with quality options, click download. The same window then plays the course, reads the PDF, transcribes the audio and backs up the Pinterest board. yt-dlp and FFmpeg install themselves and stay updated, so there is nothing to configure and no terminal to open.
How it compares
| OmniGet | yt-dlp alone | Single-site web downloaders | Paid course downloaders | |
|---|---|---|---|---|
| Sites | Courses, Instagram, X, Pinterest, Bilibili, Telegram, torrents natively, plus 1,800+ through yt-dlp | 1,800+ | One | One or two platforms |
| Setup | Download one file, open it | Python, PATH, FFmpeg, flags | None | Installer, license key |
| Logged-in content | Cookies from your browser through the extension | Manual --cookies export | Rarely | Sometimes |
| Queue | Resume, retry with backoff, rules, followed channels | One command at a time | No | Varies |
| After the download | Player, reader, flashcards, notes, 156 tools | Files | Files, often re-encoded | Files |
| Price and license | Free, GPL-3.0 | Free, Unlicense | Free with ads | Subscription |
yt-dlp is the engine OmniGet runs on, and OmniGet would not exist without it.
Download and install
Pick your system. Every build is published on the Releases page. Updates arrive inside the app.
| System | What to download | Other ways |
|---|---|---|
| Windows 10 / 11 | omniget_x.y.z_x64-setup.exe (installer)omniget_x.y.z_x64-portable.exe (no install, runs from anywhere)omniget_x.y.z_x64_en-US.msi (for IT deployments) | winget install -e --id tonhowtf.OmniGet |
| macOS 10.15+ | omniget_x.y.z_aarch64.dmg for Apple Silicon (M1 and later)omniget_x.y.z_x64.dmg for Intel Macs | brew install --cask tonhowtf/tap/omniget |
| Linux | .deb for Debian and Ubuntu (amd64 and arm64).rpm for Fedora, openSUSE and RHEL family (x86_64 and aarch64).AppImage for everything else (amd64 and aarch64) | AppImage self-updates through the .zsync files |
The first launch warning, and how to clear it
Like most open source desktop apps, OmniGet ships without a paid code-signing certificate, so each system asks for confirmation the first time. You handle it once.
Windows. SmartScreen shows a blue box. Click More info, then Run anyway.
macOS. Gatekeeper refuses to open the app and may say it is "damaged". After you drag OmniGet into Applications, open Terminal (Spotlight, type "Terminal") and paste these two lines:
xattr -cr /Applications/omniget.app
codesign --force --deep --sign - /Applications/omniget.app
Then open OmniGet from Launchpad as usual.
Linux, AppImage on Debian 12+ or Ubuntu 24.04+. Those releases ship without FUSE 2, which AppImage needs. If the file fails with a libfuse error, run sudo apt install libfuse2, or launch it with ./omniget.AppImage --appimage-extract-and-run. The .deb avoids this entirely.
Linux media plugins
OmniGet draws its window with WebKitGTK, and WebKitGTK plays every <video> and <audio> through GStreamer. If the GStreamer plugins are missing, WebKitGTK does not fail the media quietly: it aborts its own web process the moment a player appears, and you are left with an empty window. Most desktop distributions already have the plugins. Arch and the minimal server images treat them as optional, so install them once:
sudo apt install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav # Debian, Ubuntu
sudo dnf install gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugin-libav # Fedora
sudo pacman -S gst-plugins-good gst-plugins-bad gst-libav # Arch
gstreamer1.0-plugins-good (gst-plugins-good) is the one that stops the crash, because the audio sink WebKitGTK insists on lives there. The other two carry the H.264 and AAC decoders, so without them a player opens but stays silent or black. The .deb and .rpm ask for all three, so this only comes up with the AppImage or a package built by hand.
Portable mode
Create an empty file named portable.txt (or .portable) next to the Windows .exe and relaunch. Settings, the database, cookies, plugins, caches, yt-dlp and FFmpeg all move to a data folder next to the executable. Nothing touches AppData, so the whole install fits on a USB stick.
Your first download in one minute
- Open OmniGet. The setup screen asks for your language and theme, then installs yt-dlp and FFmpeg with one click. yt-dlp is checked against its SHA-256 before it runs.
- Copy any link: a YouTube video, an Instagram reel, an X post, a Pinterest board, a magnet, a direct file URL.
- Paste it in the box on the home screen. OmniGet detects the site and shows the title, thumbnail and available qualities. Pick one and press Enter.
The Downloads page shows speed, phase and ETA read straight from the downloader, so a stalled download looks stalled instead of frozen at "3 seconds left". Interrupted downloads resume where they stopped. Rate-limited sites get retried with backoff, and connections per site adapt on their own, so YouTube gets up to 16 parallel fragments while a site that answers 429 gets fewer. When a Python 3.10 or newer is present, yt-dlp runs as a zipapp on it and starts in under a second instead of unpacking the bundled binary on every launch.
Skip the window entirely
Copy a link anywhere on your system and press Ctrl+Shift+D (Cmd+Shift+D on macOS). OmniGet reads the clipboard and starts the download in the background. A second hotkey, Ctrl+Shift+M, grabs audio only, so a YouTube link becomes an MP3 without opening anything. It is off until you enable it, and both shortcuts can be rebound in Settings → Downloads → Clipboard & hotkeys.
What OmniGet downloads: courses, YouTube, Instagram, TikTok, X and 1,800+ sites
OmniGet has native extractors for the platforms people use most, and hands everything else to yt-dlp, which covers roughly 1,800 sites.
Udemy downloader and Hotmart downloader, plus Kiwify and Rocketseat
OmniGet downloads the courses you bought on Udemy, Hotmart, Kiwify, Rocketseat and Meta-Analysis Academy. Sign in inside the app, tick the sections you want, and every lesson and attachment lands in a folder per course, numbered in order, resuming where it stopped. The course then opens in the built-in player with timestamped notes. Details in Courses.
YouTube downloader with a GUI for yt-dlp
Paste a YouTube link and pick the quality, up to 4K, or audio only as MP3, M4A, Opus, FLAC or WAV. Playlists, channels, live streams from the start, chapters, subtitles and SponsorBlock are switches in a window instead of yt-dlp flags. OmniGet installs yt-dlp and FFmpeg, verifies them and keeps them updated, and every download keeps the exact yt-dlp command it ran, which you can edit and retry.
Instagram, TikTok, X / Twitter, Reddit and Pinterest downloader
Reels, posts, carousels, stories and highlights from Instagram; TikTok and Douyin videos; X videos, GIFs and whole threads; Reddit video with its sound; Pinterest pins and boards in original quality. Public posts need no login, and the browser extension lends your own session for stories, close friends and private accounts.
Everything OmniGet downloads, by category
| Category | Sites and formats |
|---|---|
| Online courses | Hotmart, Udemy, Kiwify, Rocketseat and Meta-Analysis Academy through the Courses plugin. Every lesson, section selection, attachments, resume where you stopped. |
| Video and audio | YouTube (videos, playlists, channels, live from start, chapters, SponsorBlock), Instagram, TikTok, X/Twitter, Reddit, Twitch (VODs, clips, live), Vimeo, Bluesky, Threads, Pinterest, Douyin |
| Bilibili, signed in | 4K, HDR, Dolby Vision, Hi-Res lossless and Dolby Atmos according to your subscription. Danmaku comments as XML, ASS or JSON, NFO files for Kodi and Jellyfin, custom naming templates, 11 URL types including bangumi, courses, favorites, watch later and history |
| Image galleries | Whole galleries and profiles from 250+ sites through gallery-dl (DeviantArt, Pixiv, ArtStation, Flickr, Tumblr, Imgur, Kemono and more) |
| Bulk | Paste many links or load a .txt, download whole subreddits, Reddit and X profiles, Instagram and Pinterest profiles |
| Files and transfer | .torrent files and magnet links with a built-in BitTorrent client, direct HTTP files, HLS and DASH manifests, and person-to-person transfer between two OmniGet installs with a short word code |
| Telegram | Photos, videos, files and audio from any channel or group you belong to, through the Telegram plugin |
Options you set once and forget: default quality, audio-only format (MP3, M4A, Opus, FLAC or WAV), subtitle languages and format (SRT, VTT, ASS, embedded or sidecar), thumbnail and metadata embedding, filename template, organize by platform, skip existing files, split by chapters, speed limit, concurrent downloads, proxy. Rules send a given channel or host to a folder and quality of your choice without asking again. Followed channels are checked in the background and can download new uploads automatically with a tray notification.
The browser extension, step by step
The extension does two jobs. On sites it recognizes (YouTube, Instagram, TikTok, X, Reddit, Twitch, Pinterest, Bluesky, Telegram, Vimeo, Udemy, Hotmart, Rocketseat, Bilibili, SoundCloud) it sends the page to OmniGet with one click or with Alt+O. On any other site it watches network traffic for MP4, HLS, DASH, WebM and audio streams and lists them in its popup. In both cases it forwards your cookies and referer, which is what lets OmniGet download private content you are logged into, such as Instagram stories, a paid course, or a members-only video. Cookies are grouped by real site, so a Brazilian .com.br domain gets its own entry instead of sharing one with every other .com.br site. The popup also has a Force H.264 switch for YouTube, for computers that stutter on VP9 and AV1.
For the sites the sniffer cannot see, there is Deep search, a switch in the popup that hooks the page's own video player and catches playlists that never show up as network requests. It asks for permission on all sites the first time and stays off until then. Around it, the sniffer estimates the size of an HLS stream before you download, pairs the separate video and audio tracks a site serves so you get one file, checks the first bytes of what it found so an HTML error page is never saved as a video, and lets you edit the capture rules in the options page. The same options page can back up the list of extensions you have installed, ahead of Chrome dropping Manifest V2 extensions; that needs the optional "management" permission and asks for it only when you use it.
Pick the level that matches how comfortable you are.
Level 1: from inside the app (no downloads, no zip files)
- Open OmniGet and install it if you have not. Launch it once.
- Go to Settings → Plugins → Browser extension. Click Update / Install next to Chrome. OmniGet copies the extension that ships inside it to a folder and opens that folder for you.
- Open Chrome (Edge, Brave and other Chromium browsers work the same way) and type
chrome://extensionsin the address bar. - Turn on Developer mode with the switch in the top right corner.
- Click Load unpacked and pick the folder OmniGet just opened.
- The OmniGet icon appears in the toolbar. An options page opens on its own and says it is looking for the app.
- Back in OmniGet, still in Settings → Plugins → Browser extension, click Pair extension. Within a few seconds the app says "Extension connected" and the options page turns green. Done.
From now on, visit any supported page and click the icon. The page, its cookies and its title go to OmniGet and the download starts. Your cookies also show up in Settings → Cookies, where the Courses plugin and the Instagram, X and Pinterest tools reuse them.
Level 2: from the release zip
Every release ships omniget-chrome-extension-vX.Y.Z.zip. Download it from the latest release, unzip it, then follow steps 3 to 7 above pointing Load unpacked at the unzipped folder. Use this if you keep the app on one machine and the browser on another, or if you are installing for someone else.
Level 3: Firefox, other browsers and manual pairing
Firefox: Settings → Plugins → Browser extension → Update / Install next to Firefox, then open about:debugging#/runtime/this-firefox, click Load Temporary Add-on and pick manifest.json in the exported folder. Firefox keeps a temporary add-on until it restarts, so load it again after a restart.
Manual pairing: if Pair extension times out, open the extension's options page (right-click the icon → Options), then in OmniGet reveal and copy the Pairing token and paste it into the options page. The endpoint URL is detected automatically. The app listens on 127.0.0.1 ports 47720 to 47729 and the token is generated per install, so nothing leaves your machine.
If the extension is installed but OmniGet is closed, clicks fall back to the omniget:// link scheme, which queues the URL right away; with the app open, cookies travel too. Tick "Always allow" the first time Chrome asks.
The Tools section: 156 tools in 24 categories
Tools is the part of OmniGet that grew beyond downloading. Each tile is one job: an isolated Rust command with JSON in and JSON out, which is also what lets AI agents drive them through the built-in MCP server. The hub has a search box that understands English and Portuguese ("legenda" finds subtitle tools) and a platform filter, and tools that only run on Windows say so on the tile and stay hidden elsewhere. Everything below runs on your machine; the only tools that touch the network are the ones that fetch from the site they are named after.
Status legend: no mark means ready, beta marks the newest tools, planned marks what is next on the roadmap.
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
YouTube (11)
- Download video. Paste a link and pick quality, format and subtitles. Same engine as the home screen.
- Metadata. Save the info, description and thumbnail without the video.
- Thumbnails. Browse every cover image and save it at any resolution.
- Subtitles. Download subtitles, or merge two languages into one bilingual file.
- Comments and chapters. Fetch comments or chapter markers, filter them, export JSON or CSV.
- Live chat. Save the chat replay of a stream as JSON or CSV.
- Subtitle workshop. Edit, translate and re-time SRT, VTT and ASS files with a waveform, two-point sync, find and replace, an auto fix, and AI grammar and translation.
- SponsorBlock. See sponsor, intro and outro segments and get the yt-dlp flags to skip them.
- Dislikes. Likes, dislikes and rating from Return YouTube Dislike.
- Real thumbnail. The frames the CDN already has at 25, 50 and 75 percent, instead of the clickbait cover.
- Force H.264. A switch in the browser extension that keeps YouTube on H.264 instead of VP9 and AV1, for machines that stutter on newer codecs.
Speech and subtitles (8)
- Transcribe. Audio or video to subtitles with whisper.cpp, offline. Models download on demand, Metal acceleration on macOS.
- Text to speech. Natural voices from Microsoft Edge, free, with a synced subtitle file.
- Translate subtitles. Translate an SRT with your AI provider or a LibreTranslate server, keeping the timing.
- Dub from subtitles. Turn an SRT into a voice track that fits each line and optionally replace the video's audio. beta
- Clone a voice, Design a voice and Isolate vocals through a VoiceStudio install running on your machine. beta
- Dictation. Press a global shortcut, speak, and whisper types the text where your cursor is. beta
Video editing (14)
- Cut a clip. Pick a video on disk and cut out a section. The result lands in the downloads queue.
- Convert. Change container, codec or resolution, or compress, through the Convert plugin.
- Compress to a size. Hit an exact target, 10 MB for Discord or 25 MB for e-mail, with two-pass encoding.
- Video to GIF. A clip as a GIF or animated WebP, with a palette that does not look muddy.
- Cut silence. Find the dead air in a recording and cut it from picture and sound together.
- Convert subtitles. SRT, VTT and ASS between each other, or burn one into the picture.
- Resync subtitles. Late, early or drifting: shift it, stretch it for another frame rate, or fix it with two anchors.
- Restore video. Take out flicker, grain and banding with the filters FFmpeg already carries.
- Stabilize video. Two-pass vidstab: measure the shake across the whole clip, then undo it.
- Photo to sticker. A photo or a clip into a WhatsApp or Telegram sticker that actually fits the size limit.
- Auto captions and Text to speech open the speech tools above.
- Record screen. Screen and system audio through FFmpeg, with a replay buffer that saves what just happened. beta
- Timeline editor. planned
Audio (2)
- Normalize loudness. Two-pass EBU R128, so the audio lands where streaming, podcast or broadcast expects it.
- Remove noise. Hiss, fan and room noise taken out of a recording, with nothing to download.
Instagram (24)
All of these run on your own Instagram session captured by the browser extension, so stories, close friends and your own lists work. Reads are paced and write actions stop on the first sign of a rate limit.
- Download post. Photo, video, reel, IGTV or carousel from a link, best quality.
- Download many links. Paste a list or a
.txtand get everything. - Reel audio. Keep only the sound, as M4A or MP3.
- Stories. Download stories, including close friends, without marking them as seen.
- Highlights. One highlight or every highlight of a profile.
- Who viewed my story. List and export viewers of each active story.
- Profile viewer. Bio, counts, HD photo and whether the account follows you.
- Profile picture in HD.
- Download a profile. All posts, reels, tagged or saved posts, with a limit you choose.
- Who doesn't follow back. Compare followers and following, protect accounts with a whitelist, unfollow at a safe pace.
- Fans. Accounts that follow you but you don't follow back, with the option to remove them.
- Mutuals.
- Who unfollowed me. Snapshots of your lists over time show who left and who arrived.
- Ghost followers. Followers who never like or comment, and the ones who engage the most.
- Whitelist. Accounts never suggested for unfollowing.
- Data export. Read Meta's "Download your information" zip offline: pending requests, close friends, blocked and more.
- Profile analytics. Engagement rate, cadence, best days and hours, hashtags and top posts of any public profile.
- Compare profiles. Up to six profiles side by side.
- Hashtag explorer. Post count, recent and top posts, related hashtags, download.
- Export comments. All comments of a post as CSV, with filter.
- Who liked. List and export the accounts that liked a post.
- Giveaway picker. Draw winners among the comments with rules for mentions, keyword and one entry per person.
- Publish. Photo, carousel, reel, video or story through your session or the official Graph API. beta
- Schedule posts. Queue posts for a date and time. OmniGet publishes them while it is open. beta
X / Twitter (10)
Public data comes through the FxTwitter API without login. Anything private (bookmarks, your follows, Grok on X) uses your X session from the cookie manager.
- Download post. Videos, images and GIFs from any post.
- Unroll thread. The whole thread on one page, exported as Markdown, HTML or text.
- Post to image. A clean PNG card of a post for sharing anywhere.
- Profile X-ray. Engagement, best time to post, top posts and hashtags of any account.
- Profile media. Every photo and video from a profile, original quality, in one go.
- Advanced search. Build queries with X operators, see trends, export results.
- Export bookmarks. All bookmarks with folders, to JSON, CSV, Markdown or HTML. beta
- Who doesn't follow back. Audit following vs. followers and unfollow safely with a whitelist. beta
- Your X archive. Open the data zip offline: stats, top posts, likes and follow lists.
- Grok. Ask Grok with live X search or summarize a thread, through the xAI API or your X session. beta
Reddit (3)
- Download post. Video with sound from v.redd.it, galleries, single images and outside links.
- Archive thread. The post and every comment as Markdown, a browsable HTML page and raw JSON, while they are still there.
- Read my data export. The official Reddit data zip turned into a summary you can actually read.
Pinterest (10)
Works without login for anything public. Cookies are only needed for secret boards and for unsaving.
- Download pin. Image in original quality, video as MP4, GIF, carousel or story pages.
- Board backup. Every pin of a board or section with originals, videos, CSV/JSON and incremental sync.
- Profile backup. All public boards of a profile, one folder per board, plus created pins.
- Search without AI or ads. Filters that hide AI images, promoted pins and videos, then download.
- Similar pins. The "More like this" of any pin, filterable and downloadable.
- Find the source. Destination link, creator, dead-link check, Wayback Machine and reverse image search.
- Duplicates in a board. Identical and near-identical pins, with optional unsave.
- Color palette. Palette of a board or pin as hex, CSS or JSON.
- Offline gallery, PDF, CSV. A board as a searchable HTML gallery, a PDF moodboard or a spreadsheet.
- Keyword ideas. Search suggestions, refinements and the words top pins use.
Twitch (2)
- Emote pack. Every emote and badge of a channel, from Twitch, BTTV, FFZ and 7TV, sorted by provider.
- VOD chat. The whole chat replay of a VOD or clip as JSON, CSV and subtitles, with the busiest minutes marked.
Bilibili (2)
Video downloads from Bilibili live on the home screen. These two are about the floating comments.
- Danmaku export. A video's danmaku as XML, ASS or JSON without downloading the video.
- Burn danmaku. Paint the comment track onto a local clip and get a shareable MP4.
Spotify (2)
- Themes and colors. Customize the Spotify client with Spicetify themes. beta
// faq
What is omniget?
Udemy & Hotmart course downloader, YouTube downloader (yt-dlp GUI, 1,800+ sites) + desktop app for AI agents: Claude Code, Codex, Gemini CLI, Ollama. Permissions, undo, jobs, loops until tests pass, MCP server, 156 tools, course player. Free and open source for Windows, macOS and Linux. No terminal. Your files stay on your computer.. It is open-source on GitHub.
Is omniget free to use?
omniget is open-source under the GPL-3.0 license, so it is free to use.
What category does omniget belong to?
omniget is listed under mcp-servers in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/omniget)
// retro hit counter
[](https://claudeers.com/omniget)
// reviews
// guestbook
// related in MCP Servers
f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete…
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
An open-source AI agent that brings the power of Gemini directly into your terminal.





