Local-first YouTube & Bilibili

Desktop Media Downloader
Powered by Tauri + yt-dlp

A compact macOS downloader with a native Rust core, local yt-dlp and FFmpeg for YouTube/Bilibili, and server-assisted parsing for platforms that need relay handling.

COBALT DESKTOP
https://www.youtube.com/watch?v=dQw4w9WgXcQ
YouTube - Dynamic Svelte 5 Rune Design & Basics Downloading
Bilibili - DASH video/audio merged with FFmpeg Completed

Engineered for Desktop Excellence

A practical downloader designed around local reliability: browser cookies where they help, server relay where it is safer, and native progress for long downloads.

macOS ARM64 Stability

Specifically tuned for modern macOS targets. Spawning a compiled Rust core bypasses Electron's V8 CodeRange virtual memory crashes (prevalent on ARM64 macOS machines with 64KB pages).

Local yt-dlp Pipeline

YouTube and Bilibili use bundled yt-dlp locally, with the Rust backend managing queue state, cancellation, progress parsing, speed, and ETA updates.

Clipboard Link Monitor

Includes a background thread loop that monitors the system clipboard. When a video/audio link is copied, a premium toast slides up inside the application so you can download in one click.

Bundled FFmpeg

FFmpeg is bundled for DASH audio/video merging and real audio extraction. Audio-only mode outputs real m4a/mp3/ogg/wav/opus files, not renamed video files.

Cookies, Relay & Proxies

Bilibili tries explicit Chrome profiles such as chrome:Default before other browsers. Remote relay remains available for sites that are more stable server-side, with HTTP proxy support.

Compact Multilingual UI

English, Chinese (中文), and Russian (Русский) are included. The latest UI uses compact task cards, context pills, platform capability tags, and cleaner localized copy.

Decoupled & Clean Architecture

Cobalt Desktop keeps the UI, local download tools, and server-assisted resolver separate so each platform can use the most reliable path:

  • Svelte 5 Runes Viewport: A minimal, highly performant Webview layer rendering interactive reactive state without accessing system storage.
  • Tauri Rust Core Scheduler: Coordinates local downloads, settings, folder dialogs, clipboard monitoring, progress parsing, and cancellation.
  • Local yt-dlp + FFmpeg: Handles YouTube/Bilibili with local browser cookies, DASH merging, and audio extraction.
  • Remote Media Service: Handles server-assisted parsing or relay for platforms that are less reliable locally.
Svelte 5 Frontend
Renders interface, emits user action events
IPC / tauri::invoke
Rust Backend (lib.rs)
Manages downloader scheduler, task queue, clipboard loops
Spawns / monitors local tools
yt-dlp + FFmpeg
Local YouTube/Bilibili downloads, DASH merge, audio extraction
Optional server-assisted path
Remote Media Service
Relay and resolver support for Instagram, X, Pinterest, and more

Build Locally, Release Safely

The repository includes release preparation scripts for bundling Node, FFmpeg, yt-dlp resources, and the production API. Signed macOS builds can be produced locally and attached to GitHub releases.

Star on GitHub Learn Features