Skip to content

Repository files navigation

yay

yay (Yet Another YouTube Downloader) is an Electron-based GUI wrapper for yt-dlp on Windows, running in the system tray. Despite the name, yay can download from any site supported by yt-dlp.

Installation

yay can be installed by downloading and running the latest setup from the releases page.

On first run, yay will automatically download the latest version of yt-dlp if it isn't found in your system's PATH. It will also download and use yt-dlp's builds of FFmpeg and FFprobe.

Screenshots

The main window of yay The main window of yay with the download buttons enabled The main window of yay showing a download in progress The main window of yay showing a completed download

Development

Use Bun 1.4.1 for dependency management and scripts, with Node.js 24 and the Rust MSVC toolchain installed. Node.js and Electron remain the JavaScript runtimes for the existing tools and application.

Run bun install --frozen-lockfile to install the locked dependencies. After changing dependencies with Bun, include the updated bun.lock with your changes.

Use bun run test, bun run typecheck, and bun run lint for validation. Use bun run audit for production vulnerabilities at any severity and high/critical vulnerabilities across all dependencies. Always use bun run test to invoke the existing Node.js tests.

The Vite configs for the app and renderer both require the shared package to be built. Run bun run build at least once before running any other development commands.

Run the renderer in watch mode with bun run watch and the application in development mode with bun run dev.

Distribution

The following must be installed on your system and added to the PATH:

Run bun run package to build the application, and bun run create-installer to create both the online files archive and the setup binary.

Feature Flags

This application uses feature flags to enable or disable certain functionality at runtime. Feature flags are defined in a features.toml file in the app's data folder, accessible by clicking the Open data folder button in application settings. The application must be restarted after modifying feature flags for changes to take effect.

About

Yet Another YouTube Downloader - a GUI wrapper around yt-dlp

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages