Yoink is a medvia downloader for Windows that wraps the power of yt-dlp and FFmpeg in a clean, native WPF app β grab video or audio from thousands of sites, then keep it all organized in one place.
Point it at a URL, pick your quality and format, and go. Yoink handles playlists, follows channels for new uploads, 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.
Inspect a URL, choose the quality and format, configure subtitles and metadata, then start the download.
Manage active downloads with live progress, or inspect a playlist and selectively queue its entries.
| Queue | Playlists |
|---|---|
![]() |
![]() |
Keep downloads organized, follow channels for new uploads, review past activity, and customize the app from one place.
| Library | Channels |
|---|---|
![]() |
![]() |
| History | Settings |
|---|---|
![]() |
![]() |
- Download β paste a URL, inspect available streams, pick quality/format, and download video or audio.
- 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 β configure download folder, concurrency, speed limits, preferred containers/quality, filename templates, proxy, cookies, tool paths, appearance, and diagnostics.
Data (settings, the SQLite database, provisioned tools, and logs) is stored under
%LocalAppData%\Yoink.
- 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.
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) |
:: Restore + build (Debug)
build.bat
:: Run
run.batOr with the .NET CLI directly:
dotnet build Yoink.slnx
dotnet run --project src/Yoink.Presentation/Yoink.Presentation.csprojdotnet test Yoink.slnxProduces a single self-contained Yoink.exe (no external dependencies):
publish.batOutput: 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-x64To build the Windows Installer (YoinkSetup.msi):
make_installer.batOutput: 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.
- "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.
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).







