An enhanced, production-ready version of YouTube Downloader that surpasses the original in functionality, user experience, and code quality.
Experience our professional landing page featuring:
- Multi-platform support (YouTube, TikTok, Instagram, Twitter, 1,800+ sites)
- Modern glassmorphism design with animated gradients
- Netflix-style burned-in subtitles
- Intelligent pause/resume and queue management
- ✅ Cross-platform support (Windows, Linux, macOS)
- ✅ Download single videos, playlists, and channels
- ✅ Multiple quality and format options
- ✅ Subtitle support
- ✅ Metadata tagging
⚠️ Authentication for private content (not fully implemented - do not modify auth settings)
- 🚀 Unified Queue Management - Single pane for all download states
- 🚀 Pause/Resume Functionality - State persistence and recovery
- 🚀 Enhanced Error Handling - User-friendly messages with actions
- 🚀 Metadata Caching - SQLite-based cache with invalidation
- 🚀 Drag-and-Drop Support - URLs anywhere in UI
- 🚀 Batch Operations - Multi-select and apply settings
- 🚀 Download Scheduling - Time-based queue execution
- 🚀 Format Profiles - Quick presets for common scenarios
- 🚀 Better Feedback - Toast notifications and loading states
- 🚀 Performance Optimization - Parallel downloads, chunking, retry logic
- Framework: .NET 9.0
- UI: Avalonia UI 11.x with Material Design
- YouTube API: YoutubeExplode 6.5.4+
- Media Processing: FFmpeg 7.x
- Database: SQLite for caching
- Testing: xUnit
- CI/CD: GitHub Actions
Download and run the installer:
- Download EnhancedYoutubeDownloader-Setup-v0.4.4.exe (~83 MB)
- Run the installer and follow the setup wizard
You may see a red warning screen saying "Windows protected your PC".
This is normal and safe! The warning appears because the installer isn't digitally signed (signing costs $200-500/year). To proceed:
-
Click "More info" on the warning screen
-
Click "Run anyway" button that appears
-
The installer is safe - all code is open-source and can be reviewed on GitHub
-
Choose installation options:
- ✅ Create desktop shortcut (default: checked)
- ✅ Launch after installation (default: checked)
-
Click Install and you're ready to download!
Features:
- Professional Windows installer with desktop shortcut
- Start Menu integration with uninstall shortcut
- Add/Remove Programs integration
- Custom uninstaller (uninstall.exe) in install folder
- Smart uninstaller with optional data cleanup
- FFmpeg + yt-dlp bundled for video download and conversion (80 MB total)
- Dependency validation on startup with download links
Currently, Mac support is experimental. To run Enhanced YouTube Downloader on Mac:
-
Install .NET 9.0 Runtime:
- Download from dotnet.microsoft.com/download/dotnet/9.0
- Choose "macOS" → "x64" or "ARM64" (for M1/M2 Macs)
- Run the installer package
-
Download and Run:
# Clone the repository git clone https://github.com/JrLordMoose/EnhancedYoutubeDownloader.git cd EnhancedYoutubeDownloader # Restore dependencies dotnet restore # Run the application dotnet run --project src/Desktop/EnhancedYoutubeDownloader.csproj
Note: Full Mac installer coming soon!
To run on Linux:
-
Install .NET 9.0 Runtime:
# Ubuntu/Debian wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update && sudo apt-get install -y dotnet-runtime-9.0 # Fedora/RHEL sudo dnf install dotnet-runtime-9.0 # Arch Linux sudo pacman -S dotnet-runtime
-
Download and Run:
# Clone the repository git clone https://github.com/JrLordMoose/EnhancedYoutubeDownloader.git cd EnhancedYoutubeDownloader # Restore dependencies dotnet restore # Run the application dotnet run --project src/Desktop/EnhancedYoutubeDownloader.csproj
Note: FFmpeg will be automatically downloaded on first run.
- .NET 9.0 SDK
- PowerShell (for FFmpeg download)
- Inno Setup 6+ (optional, for building Windows installer)
- Clone the repository:
git clone https://github.com/JrLordMoose/EnhancedYoutubeDownloader.git
cd EnhancedYoutubeDownloader- Restore dependencies:
dotnet restore- Build the solution:
dotnet build- Run the application:
dotnet run --project src/Desktop/EnhancedYoutubeDownloader.csprojdotnet publish -c Release -r win-x64 --self-contained
dotnet publish -c Release -r linux-x64 --self-contained
dotnet publish -c Release -r osx-x64 --self-containedBuild a professional Windows installer with desktop shortcut and launch options:
Automated Build (PowerShell):
.\build-installer.ps1Manual Build:
# 1. Publish self-contained application
dotnet publish src/Desktop/EnhancedYoutubeDownloader.csproj -c Release -r win-x64 --self-contained
# 2. Build installer with Inno Setup
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" setup.iss
# Installer output: release/EnhancedYoutubeDownloader-Setup-v0.4.4.exeInstaller Features:
- Desktop shortcut creation (default: enabled)
- Launch application after installation (default: enabled)
- Start Menu shortcuts (app + uninstaller)
- Add/Remove Programs integration
- Smart data cleanup on uninstall with user confirmation
See CLAUDE.md for detailed build instructions.
The application follows a clean architecture pattern with clear separation of concerns:
src/
├── Core/ # Business logic and services
├── Desktop/ # Avalonia UI application
├── Shared/ # Shared models and interfaces
└── Tests/ # Unit and integration tests
- DownloadService: Manages download operations with pause/resume
- CacheService: Handles metadata caching with SQLite
- NotificationService: Provides user feedback
- DashboardViewModel: Main UI logic and queue management
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
Special thanks to the following contributors who have helped make this project better:
- ThiinkMG - Graphics and design contributions
This project is licensed under the MIT License - see the LICENSE file for details.
- Original YoutubeDownloader by Tyrrrz
- Thiink Media Graphics for design and landing page
- YoutubeExplode for YouTube API access
- Avalonia UI for cross-platform UI
- Material Design for design system