Skip to content

Releases

OmniGet v0.16.6

Choose a tag to compare

@github-actions github-actions released this 13 Nov 11:45

OmniGet v0.16.6

This release introduces the V1 Home download stage and floating Global Download Dock, adds 4K (2160p) and 2K (1440p) high-resolution stream selection with upper-bound fallbacks, fixes standalone audio mode routing in the queue engine, and resolves Svelte 5 toolbar memory leaks.

What's New

4K & 2K Quality Engine

  • Ultra-HD Quality Picker: Added dedicated 4K (2160p) and 2K (1440p) resolution options in the Home Omnibox popover (Quality and more) and Settings (Quality & format).
  • Upper-Bound Fallback Matching (height <= H): Rewrote stream resolution selection across native Rust downloaders (vimeo.rs, twitch.rs, and ytdlp.rs) to select the highest stream less than or equal to the requested height, preventing download aborts when exact resolution matches are missing.
  • Mode & Option Taxonomy: Renamed "Auto" mode to "Video" to cleanly separate full video streams from audio rips, and renamed "Options" to "Quality and more" for clearer settings discovery.

V1 Home Stage & Omnibox

  • Redesigned Concentric Omnibox: Restored the Home input wrapper to a 16px card radius (var(--radius-xl)) with an integrated 8px concentric Paste button pill and var(--space-3) padding for optical centerline alignment with the stage mascot.
  • Actions Popover (+): Added a circular + action menu directly on the input bar housing batch operations (Many links at once), local file opening (Open a .torrent file), file transfers (Send a file to someone), and advanced options.
  • Unified Stage Transitions: Purged the idle service cloud and redundant hero subtitle; added immediate link prefetch with soft mascot blur during inspection ("Checking link...").
  • Three-Line Media Preview: Redesigned the link preview card with distinct title, author, and video duration overlay badges, accompanied by an inline Added to Downloads · Open Downloads confirmation toast.

Global Download Dock

  • Persistent Bottom Telemetry (GlobalDownloadBar.svelte): Added a global floating dock that stays anchored across all application routes during active downloads.
  • Live Network Throughput Sparkline: Renders a dynamic 60-point SVG throughput graph tracking real-time network speeds, byte counters, and remaining ETA.
  • Unified Downloads Toolbar: Consolidated segmented status filters and download speed limiters onto a single horizontal bar in the /downloads view.

Fixes

  • Audio-Mode Queue Routing: Fixed job ingestion in queue.rs so that selecting video_quality = "audio" explicitly promotes the job to download_mode = Some("audio"), skipping video stream extraction and downloading native audio streams (mp3, m4a, opus) directly.
  • Svelte 5 Toolbar State Leak: Replaced $state with $state.raw and a monotonic activeToken in toolbar-store.svelte.ts, ensuring toolbar action buttons and tabs from /downloads and /marketplace are cleanly destroyed upon navigating away.
  • Home Search Retention: Preserved the top-right .mac-search-field (Search Ctrl+K) on Home while properly scoping section titles (e.g. "Nami") across secondary routes.
  • Unix Process Tree Termination: Configured process_group(0) during child process spawn and added direct PID kill fallbacks to ensure background extractors terminate cleanly when cancelled.
  • Instagram & Twitter Previews: Resolved missing thumbnails for Instagram photo posts and eliminated infinite skeleton shimmer on empty Twitter/X preview cards.
  • Clippy Baseline Compliance: Replaced unnecessary vector allocations with fixed stack arrays in platform unit tests (vimeo.rs) to pass automated CI build gates across Linux, macOS, and Windows without baseline drift.

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code changes and signed releases are reviewed and approved by the OpenSelena maintainers. See our Privacy Policy.

OmniGet v0.15.1

Choose a tag to compare

@igect igect released this 09 Nov 17:06

OmniGet v0.15.1

This release completes the embedded Telegram plugin backend (all 67 IPC commands, global media search, channel cloning, and localhost HTTP range streaming), fixes Kiwify and Hotmart course extraction, and adds local .torrent file resolution.

What's New

Telegram Plugin

  • Full 67-Command Backend Parity: Implemented all 67 commands declared in telegram-bridge.ts, eliminating ERR_PLUGIN_OUTDATED errors across global search, channel management, and account settings.
  • Global Media Search (telegram_search_global_hits & telegram_search_global): Concurrent MTProto messages.SearchGlobal queries across Document, Video, Photo, Audio, and General filters, with automatic in-memory access_hash caching so searched channels and supergroups open and download without CHANNEL_INVALID errors.
  • Localhost Media Streaming (telegram_stream_media): Added a tokenized 127.0.0.1 HTTP server supporting 206 Partial Content (Range: bytes=) over 4 KB-aligned MTProto upload.GetFile chunks for instant in-app video and audio playback.
  • Channel Cloning & Uploads: Added background batch forwarding (telegram_clone_start) with live progress events (telegram:clone:progress), drop_author / drop_media_captions options, direct user MTProto uploads (telegram_upload_media, telegram_user_upload_file), and Bot API uploads (telegram_bot_upload_file).
  • Chat, Message & Account Management: Added message deletion, forwarding, caption editing, album expansion, participant listing, channel creation/renaming/deletion, pin/mute/archive/block/report controls, multi-account switching, session backups, and persistent bandwidth/performance state (telegram_plugin_state.json).

Fixes

  • Kiwify Course Extraction: Preserved alphanumeric UUID course IDs in URL parsing and added support for nested module and video payload structures in the Kiwify member area API.
  • Hotmart Lesson Attachments (#157): Restored attachment downloads by fetching complementary lesson files from the Hotmart complementary-content API endpoint.
  • Local .torrent File Paths (#158): Resolved bare .torrent filenames and local paths against the configured output directory, working directory, and system Downloads folder before passing metainfo bytes to librqbit, while keeping http(s):// .torrent URL downloads intact.
  • Built-in Plugin Loader: Synced statically compiled plugin versions in installed.json on startup and blocked remote registry overwrites on built-in plugins (courses, telegram, convert).

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code changes and signed releases are reviewed and approved by the OpenSelena maintainers. See our Privacy Policy.

OmniGet v0.15.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 23:08

OmniGet v0.15.0

This is a huge milestone for OmniGet. We've introduced a brand new UI and mascot design, more clearly defined the fork as fully independent, removed the old chat system and experimental daemons to bring a strict local-first design, and introduced new terminal tools to help with archiving large video datasets.

Branding + Mascot

  • Trademark & Mascot Resolution: Trademark issues were raised due to OmniGet being a fork of Tonho's original design. The rapid growth after issues with the upstream repo caused confusion between the two. To ensure there are no trademark or copyright issues regarding the upstream author's private mascot ("Loop"), we have removed all the old mascot artwork.
  • New Mascot: Designed an original Penguin mascot from scratch for all 7 desktop states (Idle, Downloading, Queue, Stalled, Error, Complete, Amazed) and navigation tiles.
  • Independent Governance: All READMEs, documentation, and website materials have been updated to clearly state this is an independent fork maintained under GPL-3.0 with no connections to the original author, and will be moved onto its own domain going forward.

Simplified Design + No Telemetry

  • OmniDisc Removal: The OmniDisc real-time chat system was completely removed, including MLS encryption and audio crates (omnidisc-media, omnidisc-mls, omnidisc-proto, 92 Tauri IPC commands, 29 frontend components; 56,391 lines of code deleted).
  • Decoupled Relay Servers: Hardcoded relay servers were removed. These were taken from upstream and, whilst they are just relays for peer-to-peer connections, having hardcoded external servers goes against our main philosophy of keeping things local with no tracking. Users who wish to use peer-to-peer transfers can add their own custom relay servers.
  • League Companion Removal: The League of Legends companion was completely removed (68 files, 21,739 lines of code deleted). OmniGet is solely for the main purpose of quickly and reliably downloading courses, videos, audio, and large datasets.
  • Lighter App: Removing these background daemons eliminated over 78,000 lines of code.

CLI Video Tools

  • Search: Search through YouTube using multiple search terms, languages, max durations, and keywords using omniget-cli search.
  • Archiving: Stream and archive large video datasets using smart rate limit backoff, automatic DASH video-only stream selection, and resumable queues using omniget-cli archive.
  • Container Flag: Fixed --format in CLI commands. mp4, mkv, and webm will now be used as the output container without interfering with stream quality options.

Fixes

  • Linux AppImage (#147): Child processes are now fixed on Linux. $APPDIR was leaking into LD_LIBRARY_PATH when running yt-dlp or ffmpeg, causing glibc collisions. We now sanitize child process environments.
  • CLI JSON Output (#154): Progress events for omniget-cli --json are now formatted correctly as valid JSON objects.
  • URL Parsing (#155): URL parser now extracts valid links from raw text or messy clipboard shares.
  • Download Sorting (#96): Downloads (both failed and completed) now sort by most recent.
  • Local Stream CSP (#119): Content Security Policy headers amended so local media streaming and preview player aren't blocked on desktop.
  • GStreamer AppImage (#97): GStreamer added to AppImages for out-of-the-box media previews on Linux.

Translation + Documentation

  • Simplified Chinese (#152): 2,621 community-translated strings merged. 100% key parity (4,597 keys) between zh-CN and English.
  • Japanese Documentation (#141): Added full Japanese README (README.ja.md).

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code changes and signed releases are reviewed and approved by the OpenSelena maintainers. See our Privacy Policy.

OmniGet 0.14.0

Choose a tag to compare

@igect igect released this 31 Oct 19:14

What's New

BitTorrent Telemetry & Endgame Completion

  • Fixed BitTorrent downloads hanging indefinitely at 99% during final piece verification and disk sync.
  • Enforced deterministic endgame state transition to 100% upon verified block completion.
  • Added dynamic real-time download speed reporting (bps / MB/s) to the torrent progress bar.
  • Added live remaining bytes and pending data counters to torrent telemetry views.

Platform Extractors & Security Hardening

  • Skool: Fixed lesson resolution failures caused by Next.js build ID mismatches and route token updates (#94).
  • Udemy: Added safe handling for empty course catalogs and zero-item module structures (#72).
  • CLI Security: Hardened yt-dlp argument construction against parameter injection vulnerabilities.

Localizations & System Shell

  • Added complete Open Nami localization across all supported language dictionaries (#71).
  • Added system tray context menu translation support and fixed tooltip string formatting (#70).

Architecture & Core Refactoring

  • Completely removed the unmaintained Study module, purging all associated routes and database overhead.
  • Decoupled Telegram media viewer and video playback components for high-reliability standalone operation.
  • Removed maintenance announcements from application home view.
  • Formalized dev branch staging and cloud CI quality gates for automated cross-platform verification.

Dependencies & Toolchain

  • Upgraded TypeScript to 5.9.3, hls.js to 1.7.3, and Tauri plugins to latest stable versions.
  • Vitest suite (31 files, 183 tests) and documentation E2E suite (60/60 tests) verified at 100% pass rate.

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code changes and signed releases are reviewed and approved by the OpenSelena maintainers. See our Privacy Policy.

OmniGet v0.13.0

Choose a tag to compare

@igect igect released this 21 Oct 20:05
v0.13.0
a9f3bc0

OmniGet 0.13.0 Release Notes

OmniGet 0.13.0 fixes the YouTube audio-muxing bug on 1080p+ videos, updates the Settings UI, adds custom MosCat navigation icons to the sidebar, fixes Facebook video URL decoding, and brings every dependency and security audit to green.


YouTube Stream Muxing & FFmpeg Auto-Download (Fixes #54)

YouTube serves 1080p, 1440p, and 4K video as separate video and audio streams. If FFmpeg was not on the system or not found by yt-dlp, downloads finished as video-only .webm files with no sound.

  • Automatic FFmpeg checks: core/ytdlp.rs and platforms/youtube.rs now check for FFmpeg before starting any download. If FFmpeg is missing, OmniGet downloads and unpacks it before handing the job to yt-dlp.
  • Mux format: Added --merge-output-format mp4 to combine audio and video streams into an MP4 container whenever separate streams are selected.
  • macOS and Linux binary paths: Desktop launchers (such as macOS launchd) do not inherit shell $PATH configurations. Added fallback search paths for /opt/homebrew/bin, /usr/local/bin, /usr/bin, and /bin.
  • Apple Silicon code signing: Downloaded binaries extracted to the cache directory on macOS are now signed with codesign -s - -f to prevent Apple Mobile File Integrity (AMFI) from terminating processes with SIGKILL.
  • Relative path fix: Fixed find_ffmpeg_location() returning an empty string when FFmpeg resolved to a bare relative filename.

Settings UI & Sidebar Navigation

  • Dynamic Settings headers: src/routes/settings/+page.svelte now shows a distinct header, title, and description for each settings tab (General, Downloader, Network, Appearance, and Advanced).
  • Sidebar icons: Replaced generic icons in src/components/shell/NavIcon.svelte with dedicated MosCat SVG assets for Home, Downloads, Marketplace, Tools, OpenNami, and Convert.
  • 12-locale translation: Added translation keys for all new Settings headers across English, Spanish, French, German, Italian, Portuguese, Russian, Simplified Chinese, Traditional Chinese, Japanese, Persian, Greek, and Lao.

Facebook URL Extractor Fix

  • In src/lib/open_nami/extractors/facebook.ts, replaced JSON.parse with regex unescaping in decodeEscapedUrl(). The old parser crashed on backslashes (\/ and \\). The new implementation unescapes \uXXXX unicode sequences and standard control characters directly.

Security & Dependency Updates

  • Svelte 5.57.2: Bumped from 5.51.0. Brings in six releases of reactivity bug fixes, compiler improvements, and rune fixes.
  • Vite 6.4.4: Bumped from 6.4.1. Fixes path handling in launch-editor on Windows and server.fs.allow path checks (CVE-2026-111766, CVE-2026-111758).
  • devalue (>= 5.9.4): Enforced via pnpm.overrides to patch an ArrayBuffer allocation bypass in @sveltejs/kit (GHSA-r9w8-h9r3-54w4).
  • markdown-it (>= 15.0.3): Enforced via pnpm.overrides to patch quadratic-time rendering on unclosed link definitions.
  • Dev dependencies: Updated @types/node to 26.6.5 and @fontsource/dm-sans to 5.3.0.
  • Security status: 0 open Dependabot alerts and 0 open CodeQL warnings across the repository.

Test Results

  • Vitest: 31 test files passed, 177 tests passed (100%).
  • Documentation & routes E2E: 60/60 tests passed across all 4 tiers (scripts/e2e_verify.mjs).
  • Rust unit tests: 92 tests passed across omniget-core.

Debian/Ubuntu users: AppImage compatibility

Debian 12+ ships without FUSE 2 by default, which AppImage requires.
If ./omniget.AppImage fails with a libfuse error, run:

sudo apt install libfuse2

...or use ./omniget.AppImage --appimage-extract-and-run.

Easier alternative: download the .deb instead, which works out of the
box on Debian 12+ and Ubuntu 22.04+.


macOS users: "OmniGet is damaged and can't be opened"

The app is not notarized with Apple yet, so Gatekeeper quarantines it.
After moving the app to /Applications, run:

xattr -cr /Applications/omniget.app

Then open it normally. If it still refuses, allow it under
System Settings → Privacy & Security.


Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code changes and signed releases are reviewed and approved by the OpenSelena maintainers. See our Privacy Policy.

OmniGet v0.12.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 10:28

What's New

Telegram Client Authentication & Handshake

  • Updated embedded Telegram downloader plugin to official Open Selena application credentials.
  • Replaced legacy credentials across MTProto sender pool connection, QR code login authorization, and SMS code verification flows.
  • Enhanced connection stability for multi-datacenter media fetching and channel archive synchronization.

Official Community Migration & UI Polish

  • Migrated About page community links from Discord to the official Telegram community channel (https://t.me/OpenSelena).
  • Added dedicated Telegram paper-plane vector glyph with theme-consistent styling.
  • Routed external link activations through Tauri shell plugin handler (plugin:shell|open) for desktop system browser execution.

Content Security Policy & Star Badge Restoration

  • Extended webview Content Security Policy with frame-src 'self' https://ghbtns.com; to unblock GitHub star badge widgets.
  • Restored GitHub star badge iframe rendering on the About Project view while preserving strict script and asset isolation.

Fixes

  • CSP Frame Directives: Resolved GitHub star button loading failure caused by restrictive webview frame policy.
  • E2E Test Verification: Updated test checksum assertions in tests/tier1_features.mjs to match the release version bump, ensuring 100% test pass rate across the 57-test documentation test suite.
  • Documentation Parity: Synchronized release badges, download links, and search modals across all documentation pages and root landing pages.

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation. Code changes and signed releases are reviewed and approved by the OpenSelena maintainers. See our Privacy Policy.

OmniGet v0.11.0

Choose a tag to compare

@igect igect released this 06 Oct 15:40

What's New

36 Course Platforms Wired & Platform Dispatcher

  • Wired all 36 course platforms to the download_course_platform dispatcher, enabling direct course downloads across the entire supported platform catalog.
  • Added native authentication and Udemy course listing handlers directly inside CoursesPlugin.
  • Injected Tauri AppHandle into the embedded Courses plugin for background downloads, notifications, and queue state synchronization.
  • Resolved zero-course listing fallback and improved session handling for Udemy and Hotmart.

Security Hardening & Isolation

  • Strict Webview CSP: Enforced a strict non-null Content Security Policy across all Tauri webview windows.
  • Asset Protocol Scoping: Restricted custom asset protocol (asset://) access strictly to app data, user download, and system temp directories.
  • Scoped Shell Protocol: Locked down shell:allow-open permissions in the default capability to safe protocols (https:, http:, mailto:).
  • Session Protection: Enforced strict 0600 file permissions on cached authentication tokens and credentials on disk.
  • Header Sanitization: Sanitized cookie and auth headers against CRLF / control character injection attacks.

UI Polish & Metadata Standardization

  • Updated Windows installer and executable metadata: productName is standardized to OmniGet and publisher to OpenSelena.
  • Dynamically resolved version numbering in the About dialog directly from the Tauri runtime.
  • Polished footer credits and standardized tab titles and terminology across all 12 localized languages.
  • Prevented heap out-of-memory errors during frontend bundling by allocating 4GB memory to the build process.

Fixes

  • Windows Runner & CI: Removed unused Windows dependencies in the courses plugin that caused entrypoint crashes during testing.
  • Clippy Baseline: Resolved unit value bindings and warnings across the Rust codebase for stable CI checks.
  • Homebrew Cask: Fixed YAML indentation and checksum targeting in the macOS Homebrew release pipeline.

OmniGet v0.10.5

Choose a tag to compare

@github-actions github-actions released this 04 Oct 23:36

What's New

Telegram & OmniGram folders

  • Telegram media now saves to {download_dir}/OmniGram/{channel_name}/ instead of dumping into the root download folder.
  • Folder names are automatically sanitized for Windows, Linux, and macOS (strips invalid characters and reserved names like CON or NUL). If the channel folder already exists, downloads save straight into it.
  • Fixed DC_ID_INVALID errors when downloading media hosted on home Telegram datacenters.

Embedded plugins

  • Statically embedded the convert, telegram, and courses plugins into the app binary so they work immediately without dynamic library errors or duplicate symbol collisions.
  • Switched plugin registry URLs to OpenSelena.
  • Fixed Kajabi login tokens in the courses plugin, plus resolved a Windows COM string issue with WebView2.

AI & Media playback

  • Added an AI provider picker in Settings > AI.
  • Fixed local media playback on Linux (WebKitGTK) and renewed expired stream tokens before playback starts.
  • Pointed AppImage builds to system GStreamer plugins so video playback doesn't fail on newer distros.

Localization

  • Finished Russian translation across the UI.

OmniGet v0.10.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 19:35

What's New

OpenNami engine overhaul

  • Replaced Open Omni with the OpenNami engine architecture.
  • Added dual-engine fallback: if a download stream fails or gets throttled by a host, OmniGet switches to the secondary engine automatically.
  • Added anti-bot hardening to handle challenge pages and stream extraction blocks.
  • Existing Open Omni configurations, local caches, and download states migrate to OpenNami automatically on first launch.

In-app announcements and What's New

  • Added an announcement modal that surfaces releases, important fixes, and site compatibility alerts directly inside the app.
  • Dismissing an announcement records its ID locally so it will not pop up again.

Languages and typography

  • Added Lao (ລາວ) language translation.
  • Bundled Noto Serif Lao font so Lao text renders consistently across all operating systems.
  • Corrected Persian translations for course attachment descriptions.

Fixes

  • Course attachments: Fixed an issue where the toggle to download course attachments was hidden in the settings menu.
  • Linux SQLite compatibility: Prevented bundled SQLite symbols from clashing with the system libsqlite3 library on Linux distributions.
  • Windows path handling: Fixed path separator normalization in yt-dlp template test suites on Windows runners.

OmniGet v0.9.2

Choose a tag to compare

@github-actions github-actions released this 04 Sep 01:02

Downloads

Windows: .exe installer or portable.
macOS: .dmg (Apple Silicon aarch64 or Intel x86_64).
Linux: .AppImage (universal) or .deb (Debian/Ubuntu).


Debian/Ubuntu users — AppImage compatibility

Debian 12+ ships without FUSE 2 by default, which AppImage requires.
If ./omniget.AppImage fails with a libfuse error, run:

sudo apt install libfuse2

…or use ./omniget.AppImage --appimage-extract-and-run.

Easier alternative: download the .deb instead — works out of the
box on Debian 12+ and Ubuntu 22.04+.


macOS users — "OmniGet is damaged and can't be opened"

The app is not notarized with Apple yet, so Gatekeeper quarantines it.
After moving the app to /Applications, run:

xattr -cr /Applications/omniget.app

Then open it normally. If it still refuses, allow it under
System Settings → Privacy & Security.