the
quiet, fast,
keyboard-first
desktop frontend
for yt-dlp.
Tauri 2 + SvelteKit. An opinionated wrapper that keeps the terminal feel, surfaces yt-dlp’s real power, and turns downloading into a three-keystroke ritual.
what makes it different
Keyboard-first
Paste URL with ⌘L, switch presets with ⌘1-3 inside the active tab, jump between Video/Audio with ⌘⇧V/⌘⇧A. Hit ? anywhere for the cheatsheet.
Preset library
Video and Audio tabs with 5 opinionated presets each — from archival av1+opus to mp3 v0 or flac lossless. Edit, delete, add your own.
Playlist-aware
Paste a playlist URL and a modal opens with every entry. Select all, a range (1-10, 15, 20-25), or individual videos and queue them in one click.
Real concurrency
A live-adjustable semaphore gates downloads. Queue ten URLs at limit=2 and the manager fires them off in order as slots free up.
Self-updating
yt-dlp breaks every few weeks — one click in Settings pulls the latest binary with SHA-256 verification. The app itself auto-updates through a minisign-signed manifest.
Clean cancel
Cancelled rows move to History as `cancelled` instead of vanishing. Leftover .part fragments surface on next launch with a one-click delete-all banner.
Error that helps
Geo-block, age-gate, and network failures get kind-specific toasts — with a deep-link to the Cookies view when authentication is the issue.
Subtitles & SponsorBlock
Per-download subtitle picker (manual / auto, embed / sidecar VTT). Preset flags carry SponsorBlock, chapter splits, metadata embedding through to yt-dlp verbatim.
install
v1.0 ships unsigned — no paid Apple / Windows certificates. Each bundle’s SHA-256 is published on the release page so you can verify before running. Auto-update is signed separately with a local minisign keypair.
verify the SHA-256
# Linux sha256sum lavescar-ytdl_*.AppImage # macOS shasum -a 256 lavescar-ytdl_*.dmg # Windows certutil -hashfile lavescar-ytdl_*.msi SHA256
build from source
git clone https://github.com/Lavescar-dev/lavescar-ytdl.git cd lavescar-ytdl npm install # fetch yt-dlp sidecar for your platform curl -L -o src-tauri/binaries/yt-dlp-x86_64-unknown-linux-gnu \ https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux chmod +x src-tauri/binaries/yt-dlp-* npm run tauri:dev
yt-dlp is the engine. Most "frontends" ship a Chrome window wrapped around `child_process.spawn`. This isn’t that — it owns the tooling layer so you don’t solve already-solved problems every release.
- ▸ no telemetry, no phoning home
- ▸ no dark patterns (ads, upsells, account required)
- ▸ no Electron bundle (Tauri → native webview)
- ▸ no opinionated file layout hijack — yt-dlp’s -o template stays yours