claudeers.
// MCP Servers

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…

Repository unavailable
0/100
last commit —
last release none
releases 0
open issues 0

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

Platformscli, api, desktop, web
Operating systems—
AI compatibilityclaude
LicenseGPL-3.0
Pricingopen-source
LanguageRust

Get your FREE $2.50 API credits to access TickAtlas financial data ↗

OmniGet: paste a link, get the file. Loop, the mascot, sends video, music, PDF, image, course and torrent files into a folder. Courses, video, audio, images and torrents, then transcribe, convert, read and study.

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.

Translation status

   

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.

OmniGet home screen: paste a URL, magnet link or .torrent and the file lands in your folder


Contents


AI agents on your desktop: Claude Code, Codex, Gemini CLI and Ollama

Loop, the OmniGet mascot, gives two thumbs up in the middle of a cozy isometric house while three small robot agents work at three separate workbenches: one types code on a laptop, one studies a book with a magnifying glass, one repairs a folder with a wrench. Each has a balloon showing the tool it is using

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 toOpenWhat happens
Have an agent change code in a folderLLM → ChatIt reads, edits and runs commands inside that folder only, asks before it writes, and one click undoes the turn
Leave work runningLLM → Jobs, LoopsThe turn survives closing the window and a crash; a Loop repeats until your check command passes
Start work on a schedule or from another programLLM → Jobs → TriggersA cron line or a webhook on the local bridge starts a job
A GUI for Claude Code, Codex or Gemini CLILLM → AccountsThey join the roster as agents, keep their login, ask permission through OmniGet
Agents on a local model, offlineLLM → ModelsOllama, LM Studio or llama-server runs the same tools with no key
Several agents in parallelLLM → Jobs, WorldTwo jobs run at once, agents delegate to each other, each at its own workbench
See who is doing whatWorldEach agent walks to its own workbench, shows the tool in a balloon and waves when it needs you
Show a friendWorld → Open the houseA code, a visit, a chat. Your app stays the authority

A coding agent with permissions, a sandbox and undo

Loop slides a folder across a desk to a robot agent. Between them a permission card shows a removed line in red and an added line in green, with three buttons: allow, always and deny. The agent raises a hand to ask

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, plus kb_search and kb_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_edit falls 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_patch takes 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 /workspace is put back at the folder root instead of failing.
  • A sandboxed shell. On macOS shell_exec runs 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 robot agent runs around a circular arrow track and passes under an arch with a green check mark while Loop naps in an armchair beside a closed laptop. On the desk a screen shows two red crosses turning into a green check; a clock and a calendar hang on the wall

  • 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 with check_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

OmniGet LLM Loops page: a Loop run by Claude Code goes from Running to Done with the stop reason check_passed after one of three rounds

A GUI for Claude Code, Codex and Gemini CLI: run them as agents that work as a team

Loop stands as team captain in front of five robot agents of different colours, each with a name badge. One hands a glowing task card to another. Behind them, a large shared notebook with bookmarks and a shelf of skills

  • 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 (or CLAUDE.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 with kb_search and kb_write.
  • Skills install from a folder, a zip, or owner/repo and owner/repo@skill as in npx 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

Inside an isometric house with terracotta floors, three robot agents tinker at their own workbenches with tool balloons bobbing above them, one waves at the viewer with an exclamation balloon, a side panel fills its progress bars and Loop sways on the sofa

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.

The OmniGet World in the real app: three agents, Omni, Builder and Scout, walk to different workbenches in an isometric house, each with a balloon naming the tool it is running, next to an Activity panel listing who is doing what

Visits: open your house to a friend with a code

Two small houses on floating islands joined by a glowing dotted path. A visitor in a blue cloak walks over carrying a gift while Loop waves from the door, a ticket with an eight-character code floats above, and a small padlocked relay tower passes light along the path

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-server is a single binary with a Dockerfile and a docker-compose.yml in scripts/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 OmniGet works in three steps: paste a link, OmniGet detects the site and picks a native extractor or yt-dlp, the file lands in your folder and opens in the built-in player.

How it compares

OmniGetyt-dlp aloneSingle-site web downloadersPaid course downloaders
SitesCourses, Instagram, X, Pinterest, Bilibili, Telegram, torrents natively, plus 1,800+ through yt-dlp1,800+OneOne or two platforms
SetupDownload one file, open itPython, PATH, FFmpeg, flagsNoneInstaller, license key
Logged-in contentCookies from your browser through the extensionManual --cookies exportRarelySometimes
QueueResume, retry with backoff, rules, followed channelsOne command at a timeNoVaries
After the downloadPlayer, reader, flashcards, notes, 156 toolsFilesFiles, often re-encodedFiles
Price and licenseFree, GPL-3.0Free, UnlicenseFree with adsSubscription

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.

SystemWhat to downloadOther ways
Windows 10 / 11omniget_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

  1. 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.
  2. Copy any link: a YouTube video, an Instagram reel, an X post, a Pinterest board, a magnet, a direct file URL.
  3. 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.

OmniGet Downloads page with an active 4K YouTube download showing phase, speed, ETA and the exact yt-dlp command, plus queued and finished items

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

CategorySites and formats
Online coursesHotmart, Udemy, Kiwify, Rocketseat and Meta-Analysis Academy through the Courses plugin. Every lesson, section selection, attachments, resume where you stopped.
Video and audioYouTube (videos, playlists, channels, live from start, chapters, SponsorBlock), Instagram, TikTok, X/Twitter, Reddit, Twitch (VODs, clips, live), Vimeo, Bluesky, Threads, Pinterest, Douyin
Bilibili, signed in4K, 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 galleriesWhole galleries and profiles from 250+ sites through gallery-dl (DeviantArt, Pixiv, ArtStation, Flickr, Tumblr, Imgur, Kemono and more)
BulkPaste 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
TelegramPhotos, 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.

OmniGet settings: grouped sidebar with Appearance, Downloads, Network, Cookies, Channels, AI, Plugins and Advanced, and a download section with Output, Quality, Subtitles, Clipboard and hotkeys, Per-platform options


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.

Loop plugging a cable from a browser window into the OmniGet app window, with cookies travelling along it and a padlock and a house above it: the pairing stays on your own machine.

Level 1: from inside the app (no downloads, no zip files)

  1. Open OmniGet and install it if you have not. Launch it once.
  2. 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.
  3. Open Chrome (Edge, Brave and other Chromium browsers work the same way) and type chrome://extensions in the address bar.
  4. Turn on Developer mode with the switch in the top right corner.
  5. Click Load unpacked and pick the folder OmniGet just opened.
  6. The OmniGet icon appears in the toolbar. An options page opens on its own and says it is looking for the app.
  7. 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.

Loop, the OmniGet mascot, opening a toolbox full of tool tiles: microphone, subtitles, scissors, PDF, photo, gear, folder, magnet, phone, AI, music, globe, keyboard, chat and wrench

OmniGet Tools hub with 24 categories: YouTube, Speech and subtitles, Video editing, Audio, Instagram, X, Reddit, Pinterest, Twitch, Bilibili, Spotify, Music, LinkedIn, Games, PDF, Documents, Images, System, Files, Downloads, Automation, Phone, AI and CTF and analysis

Status legend: no mark means ready, beta marks the newest tools, planned marks what is next on the roadmap.

Instagram tools in OmniGet: download post, bulk download, reel audio, stories, highlights, story viewers, profile viewer, HD avatar, profile download, unfollowers, fans, mutuals, who unfollowed, ghost followers, whitelist, data export, analytics, compare profiles, hashtag explorer, comments, likers, giveaway picker, publish and scheduleX / Twitter tools in OmniGet: download post, unroll thread, post to image, profile X-ray, profile media, advanced search, export bookmarks, who doesn't follow back, your X archive and Grok
Pinterest tools in OmniGet: download pin, board backup, profile backup, search without AI or ads, similar pins, find the source, duplicates, color palette, offline gallery and keyword ideasPDF tools in OmniGet: merge, split, compress, convert, OCR, repair, password and permissions, watermark and numbering, crop margins, table of contents, check redaction, safe PDF and PDF to Markdown
LinkedIn tools in OmniGet: data overview, connections, messages and profile score, all read from the official data exportCTF and analysis tools in OmniGet: hash and HMAC, what is this file, classic ciphers, XOR, encodings and frequency analysis

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 .txt and 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

…view the full README on GitHub.

// 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.

23 views
★ 13,901 stars
unclaimed
updated 16 days ago

// embed badge

omniget on Claudeers
[![Claudeers](https://claudeers.com/api/badge/omniget.svg)](https://claudeers.com/omniget)

// retro hit counter

omniget hit counter
[![Hits](https://claudeers.com/api/counter/omniget.svg)](https://claudeers.com/omniget)

// reviews

// guestbook

0/500

// 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…

// mcp-serversf/⟨HTML⟩★ 171,127◷ NOASSERTION[ claude ]
🔓

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io

// mcp-serversfarion1231/⟨Rust⟩★ 136,484◷ MIT[ claude ]
🔓

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

// mcp-serversJuliusBrussee/⟨JavaScript⟩★ 107,719◷ MIT[ claude ]
🔓

An open-source AI agent that brings the power of Gemini directly into your terminal.

// mcp-serversgoogle-gemini/⟨TypeScript⟩★ 107,167◷ Apache-2.0[ claude ]

// built by

→ see how omniget connects across the ecosystem