Skip to content
mohaneddzPublic

About

𝐘𝐨𝐒𝐧𝐀 is a native Windows desktop media downloader built on yt-dlp and FFmpeg, with a clean WPF interface for grabbing, organizing, and managing video and audio from thousands of sites.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

135 Commits

Folders and files

Repository files navigation

Yoink

Yoink β€” Media Downloader for Windows

Yoink is a universal media downloader for Windows that wraps the power of yt-dlp and FFmpeg in a clean, native WPF app β€” download high-fidelity video or audio from thousands of websites with automatic watermark removal, playlist expansion, and complete library management.

Point it at any URL, pick your quality and container, and go. Yoink automatically selects clean, unwatermarked streams (for TikTok, Instagram, Twitter/X, Facebook, and more), handles playlists and channel feeds, queues concurrent downloads, and keeps a searchable library and history of everything you've saved β€” no command line, no browser extensions, no ads.

It provisions its own copies of yt-dlp and FFmpeg on first launch, so there is nothing to install separately: download the app and start yoinking.

Screenshots

Download

Inspect a URL, choose the quality and format, configure subtitles and metadata, then start the download.

Yoink download screen

Queue and playlists

Manage active downloads with live progress, or inspect a playlist and selectively queue its entries.

Queue Playlists
Yoink queue screen Yoink playlists screen

Library, channels, history, and settings

Keep downloads organized, follow channels for new uploads, review past activity, and customize the app from one place.

Library Channels
Yoink library screen Yoink channels screen
History Settings
Yoink history screen Yoink settings screen

Features

  • Universal Download β€” paste any media URL, inspect available streams, select quality/format, and download clean video or audio with automatic watermark filtering.
  • Queue β€” manage concurrent downloads with pause/resume/retry and live progress.
  • Playlists β€” expand and selectively download playlist entries.
  • Channels β€” follow channels and browse/download their uploads.
  • Library β€” browse everything you've downloaded, filtered by media type.
  • History β€” full record of past downloads with re-download and export.
  • Settings & Network β€” configure download folder, concurrency, speed limits, preferred containers/quality, filename templates, proxy, cookies (for age-restricted or private media), tool paths, appearance, and diagnostics.

Faster starts and transfers

Fresh inspection results are reused when starting video/audio downloads, avoiding a second webpage lookup. If cached links fail, Yoink automatically fetches fresh links and retries. Prepared download links remain in memory for two minutes.

In Settings > Downloads, adjust Parallel fragments per download (default: 8) or disable Quick start using recent inspection. SOCKS proxy downloads use at most four parallel fragments. These options improve preparation and segmented transfers; actual speed still depends on the source and connection.

Background operation

Closing the window keeps Yoink running in the system tray by default, including active downloads. Double-click the tray icon to restore the window; right-click it to open Yoink, pause/resume downloads, or explicitly exit. Launching Yoink again restores the existing instance instead of creating another queue owner.

Settings > General includes close/minimize-to-tray, start with Windows, start minimized, interrupted-download recovery, notifications, and sleep protection during downloads. Windows startup and interrupted-download recovery are opt-in; enable them and save settings. Manually paused downloads stay paused on startup. Sleep protection allows the display to turn off while downloads continue.

Data (settings, the SQLite database, provisioned tools, and logs) is stored under %LocalAppData%\Yoink.

Requirements

  • Windows 10/11 (x64)
  • To build from source: .NET 8 SDK

The published, self-contained build bundles the .NET runtime, so end users do not need .NET installed. yt-dlp and FFmpeg are downloaded automatically on first run.

Project structure

Clean-architecture layering:

Project Responsibility
Yoink.Domain Entities, media/settings models (no dependencies)
Yoink.Application Abstractions and use-case contracts
Yoink.Infrastructure yt-dlp/FFmpeg integration, SQLite persistence, settings, tool provisioning
Yoink.Presentation WPF UI (MVVM via CommunityToolkit.Mvvm)
Yoink.Shared Cross-cutting primitives (e.g. Result)

Building & running (from source)

:: Restore + build (Debug)
build.bat

:: Run
run.bat

Or with the .NET CLI directly:

dotnet build Yoink.slnx
dotnet run --project src/Yoink.Presentation/Yoink.Presentation.csproj

Tests

dotnet test Yoink.slnx

Publishing a release build

Produces a single self-contained Yoink.exe (no external dependencies):

publish.bat

Output: src\Yoink.Presentation\bin\Release\net8.0-windows\win-x64\publish\Yoink.exe

The same profile can be invoked via the CLI:

dotnet publish src/Yoink.Presentation/Yoink.Presentation.csproj -p:PublishProfile=win-x64

To build the Windows Installer (YoinkSetup.msi):

make_installer.bat

Output: dist\YoinkSetup.msi

To distribute, ship the YoinkSetup.msi installer or the standalone Yoink.exe. On first launch it creates its data folder, initializes the database, and downloads yt-dlp/FFmpeg into %LocalAppData%\Yoink\tools.

Troubleshooting

  • Source verification or failed stream discovery β€” update the downloader under Settings > Integrations and retry. If the source still requires a verified session, configure your cookies file under Settings > Network.
  • "Tools unavailable" on startup β€” Yoink couldn't download yt-dlp/FFmpeg. Check your internet connection, or set explicit executable paths in Settings β†’ Integrations.
  • Logs β€” open Settings β†’ Advanced β†’ View Logs (or browse to %LocalAppData%\Yoink\logs). Enable Diagnostic logging for verbose output.

License

This project bundles/downloads third-party tools that carry their own licenses: yt-dlp (Unlicense) and FFmpeg (GPL/LGPL builds from yt-dlp/FFmpeg-Builds).

About

𝐘𝐨𝐒𝐧𝐀 is a native Windows desktop media downloader built on yt-dlp and FFmpeg, with a clean WPF interface for grabbing, organizing, and managing video and audio from thousands of sites.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages