A beautiful, modern graphical interface for wget with queue system, dark mode, desktop notifications, and quick actions for power users.
Created by: Aga Ismael Abdalla
Website: linux.krd
GitHub: @petrichor-494
- Frontend (React) - Beautiful, responsive user interface
- Electron Main Process - Executes wget commands securely
- Queue Manager - Handles multiple downloads (max 3 concurrent)
- Progress Parser - Real-time parsing of wget output
- Persistent Storage - History and preferences saved locally
yaprax-downloader/
βββ main.js # Electron main process (backend logic)
βββ preload.js # Security bridge (IPC communication)
βββ index.html # React application (frontend UI)
βββ package.json # Dependencies and build config
βββ LICENSE # MIT License
βββ README.md # This file
# Install dependencies
npm install
# Run in development mode
npm start
# Build for production
npm run build:linux # For Linux
npm run build:win # For Windows
npm run build:mac # For macOSConfigure common wget flags through the UI:
- Continue downloads - Resume interrupted downloads
- Recursive - Download entire websites
- Timestamping - Only download newer files
- No cache - Bypass proxy caches
- User agent - Custom user agent string
- Rate limiting - Control bandwidth usage (e.g., 500k, 1M, 2M)
- Maximum 3 simultaneous downloads
- Additional downloads queue automatically
- Modify
MAX_CONCURRENTinmain.jsto change limit
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Browser extension integration
- Torrent support
- FTP/SFTP protocols
- Proxy configuration UI
- Download scheduling
- Themes and customization
- Multi-language support
- Statistics dashboard
- Progress parsing may vary slightly with different wget versions
- Some special characters in filenames may not display correctly
- Notification permissions must be granted manually on some systems
- β Queue system with concurrent downloads
- β Dark mode with persistent preferences
- β Desktop notifications
- β Context menu with quick actions
- β Real-time progress tracking
- β Download history
- β All major wget options
- β Beautiful modern UI
- Sandboxed execution environment
- No telemetry or tracking
- All data stored locally
- Secure IPC communication
- Input validation and sanitization
MIT License - see LICENSE file for details
Copyright (c) 2025 Aga Ismael Abdalla
Built with:
- Electron - Cross-platform desktop apps
- React - UI framework
- Tailwind CSS - Utility-first CSS
- wget - Network downloader
- Issues: GitHub Issues
- Website: linux.krd
- Email: agaesmaeel@gmail.com
If you find Yaprax Downloader useful, please consider giving it a star on GitHub! β
- Language: JavaScript (React + Node.js)
- Platform: Cross-platform (Linux, Windows, macOS)
- License: MIT (Free and Open Source)
- Downloads: Check Releases
Made with β€οΈ by Aga Ismael Abdalla for the open-source community β¨ Features
- Queue System - Add multiple downloads and process them automatically
- Real-time Progress - Live speed, progress percentage, and ETA for each download
- Download History - Track all downloads with timestamps and file sizes
- Smart Resume - Continue interrupted downloads automatically with
-cflag - Directory Browser - Easy output directory selection
- Dark Mode - Easy on the eyes with beautiful dark theme
- Modern Design - Gradient themes and smooth animations
- Responsive - Works perfectly on any screen size
- Context Menus - Right-click for quick actions
- Open File - Launch downloaded files directly
- Open File Location - Jump to file in file manager
- Download Again - Retry failed or re-download files
- Delete from History - Clean up your download history
- Desktop Notifications - Get notified when downloads complete
- System Integration - Native OS notifications
- Continue partial downloads (
-c) - Recursive download (
-r) - Timestamping (
-N) - Bypass cache (
--no-cache) - Custom user agent
- Bandwidth limiting (
--limit-rate)
wget must be installed:
# Ubuntu/Debian
sudo apt install wget
# Fedora
sudo dnf install wget
# Arch Linux
sudo pacman -S wget
# macOS (via Homebrew)
brew install wget- Clone the repository:
git clone https://github.com/petrichor-494/yaprax-downloader.git
cd yaprax-downloader- Install dependencies:
npm install- Run the application:
npm startFor Linux:
npm run build:linuxCreates .AppImage and .deb packages in dist/ folder.
For Windows:
npm run build:winFor macOS:
npm run build:mac- Enter or paste download URL
- Choose save location (default: ~/Downloads)
- Click "Add to Queue"
- Watch real-time progress
- Add multiple URLs - they'll queue automatically
- Up to 3 downloads run simultaneously
- Cancel individual downloads or clear entire queue
- Right-click on any history item for quick actions
- Open file to launch the downloaded file
- Open location to view file in file manager
- Download again to retry/re-download
- Delete to remove from history
- Click the moon/sun icon in top-right corner
- Preference is saved automatically