GoLoad is a powerful, lightweight download manager built with Go and React. It offers a modern user interface with real-time updates and efficient download management.
- Fast Downloads: Optimized for performance with efficient file handling
- Concurrent Downloads: Download multiple files simultaneously
- Pause/Resume: Ability to pause and resume downloads at any time
- Speed Control: Limit download speeds globally or per download
- Modern UI: Clean, responsive interface with dark mode support
- Real-time Updates: Live progress tracking and statistics
- Cross-platform: Works on Windows, macOS, and Linux
- Desktop & Web Versions: Use as a desktop app or web service
- Download the latest release for your platform from the Releases page
- Run the installer and follow the on-screen instructions
- Launch GoLoad from your applications menu
- Go 1.18+
- Node.js 16+
- Wails CLI (
go install github.com/wailsapp/wails/v2/cmd/wails@latest)
# Clone the repository
git clone https://github.com/TOomaAh/GoLoad.git
cd GoLoad
# Install frontend dependencies
cd frontend
npm install
cd ..
# Build the application
wails build- Click the "New" button in the top-right corner
- Enter the URL of the file you want to download
- Click "Download" to start
- Pause: Click the pause button to temporarily stop a download
- Resume: Click the play button to resume a paused download
- Cancel: Click the X button to cancel an ongoing download
- Remove: Click the trash button to remove a download from the list
Access the settings menu to configure:
- Default download location
- Maximum concurrent downloads
- Global speed limit
- Auto-start behavior
- Retry options
GoLoad/
├── internal/ # Backend Go code
│ ├── core/ # Core application logic
│ │ ├── download/ # Download management
│ │ └── settings/ # Application settings
│ └── utils/ # Utility functions
├── frontend/ # React frontend
│ ├── src/ # Source code
│ │ ├── components/ # React components
│ │ └── DownloadManager.jsx # Main component
│ └── package.json # Frontend dependencies
└── wails.json # Wails configuration
# Start the development server
wails devGoLoad uses:
- Go for the backend with GORM for database operations
- React with Tailwind CSS for the frontend
- Wails for desktop integration
- SQLite for persistent storage
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Wails for the Go/JavaScript runtime
- GORM for the ORM library
- React for the frontend framework
- Tailwind CSS for styling
- Lucide React for the icons
Built with ❤️ by TOomaAh