Built with Tauri v2, Next.js, TypeScript, and Rust.
Powered by a custom Aria2 Next engine with support for HTTP(S), BitTorrent, Magnet links, Metalink, ED2K, and more.
Download · Features · Quick Start · Build · Architecture · Contributing
FF Downloader is a desktop download manager designed for fast, reliable, and persistent downloads across Windows, macOS, and Linux.
It combines a lightweight Tauri desktop shell with a modern Next.js interface, a Rust backend, and a custom Aria2-based download engine.
The application supports regular file downloads, torrents, magnet links, Metalink files, ED2K links, background downloading, session recovery, real-time speed monitoring, automatic updates, and more.
- HTTP and HTTPS downloads
- BitTorrent downloads
- Magnet URI support
- Metalink support
- ED2K support
- Pause, resume, retry, and cancel operations
- Persistent download sessions
- Automatic recovery after application restart
- Per-download and global speed monitoring
- Real-time download progress updates
- Distributed Hash Table support
- Peer Exchange support
- Trackerless torrent support
- Magnet metadata retrieval
- Peer blocklist support
- Automatic UPnP port mapping
- GeoIP-based peer location lookup
- Windows, macOS, and Linux support
- System tray integration
- Background downloading
- Native desktop notifications
- Power management during active downloads
- Automatic update checks through GitHub Releases
- Frameless desktop interface
- Dark theme
- 27 supported languages
- Localised application interface
- Localised installer experience
- Centralised translation management
Download the latest stable version from the GitHub Releases page:
| Platform | Available Formats |
|---|---|
| Windows | .exe NSIS installer |
| macOS | .dmg for Apple Silicon and Intel |
| Linux | .AppImage, .deb, and .rpm |
Installation packages and supported architectures may vary between releases.
Make sure the following tools are installed:
| Requirement | Minimum Version |
|---|---|
| Node.js | 20 |
| pnpm | 10 |
| Rust | 1.85 |
You will also need the platform-specific dependencies listed in the official Tauri prerequisites documentation.
git clone https://github.com/Riteshp2001/Fucking-Fast-Downloader.git
cd Fucking-Fast-Downloaderpnpm installpnpm tauri:devThis starts the Next.js frontend and launches the application through Tauri.
Create a production build with:
pnpm tauri:buildGenerated installers and application bundles are placed inside:
src-tauri/target/release/bundle/
The exact output format depends on the operating system used for the build.
| Layer | Technology |
|---|---|
| Desktop framework | Tauri v2 |
| Frontend | Next.js 16 |
| UI library | React 19 |
| Language | TypeScript 5 |
| Backend | Rust |
| Async runtime | Tokio |
| Download engine | Custom Aria2 Next C++ sidecar |
| UI components | Material Web |
| Styling | Tailwind CSS 4 |
| State management | Zustand |
| Server state | TanStack Query |
| Database | SQLite through tauri-plugin-sql |
| Icons | Solar Icons |
FF Downloader uses a layered desktop architecture:
┌─────────────────────────────────────────────┐
│ Next.js Frontend │
│ │
│ React UI · Zustand · TanStack Query │
└──────────────────────┬──────────────────────┘
│
Tauri IPC Commands
│
┌──────────────────────▼──────────────────────┐
│ Rust Backend │
│ │
│ Services · Database · Engine Management │
└──────────────────────┬──────────────────────┘
│
JSON-RPC / IPC
│
┌──────────────────────▼──────────────────────┐
│ Custom Aria2 Next Sidecar │
│ │
│ HTTP · BitTorrent · Metalink · ED2K │
└─────────────────────────────────────────────┘
The frontend handles presentation and user interaction. Tauri commands connect the frontend to the Rust backend, while the backend manages persistence, system integration, and the download engine lifecycle.
.
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # Reusable React components
│ ├── hooks/ # Shared React hooks
│ ├── lib/ # Frontend utilities
│ ├── services/ # Frontend service layer
│ ├── stores/ # Zustand stores
│ └── types/ # TypeScript definitions
│
├── src-tauri/
│ ├── src/
│ │ ├── aria2/ # Aria2 JSON-RPC client
│ │ ├── commands/ # Tauri IPC command modules
│ │ ├── engine/ # Download engine lifecycle
│ │ └── services/ # Background system services
│ │
│ ├── binaries/ # Prebuilt engine sidecars
│ ├── capabilities/ # Tauri v2 permissions
│ ├── migrations/ # SQLite migrations
│ └── tauri.conf.json # Tauri configuration
│
├── public/ # Static frontend assets
├── package.json
└── README.md
| Command | Description |
|---|---|
pnpm install |
Install project dependencies |
pnpm tauri:dev |
Run the application in development mode |
pnpm tauri:build |
Build production installers |
pnpm lint |
Run frontend lint checks |
pnpm typecheck |
Run TypeScript type checking |
Available commands may depend on the scripts configured in
package.json.
Contributions are welcome.
Before submitting a change:
- Fork the repository.
- Create a new branch.
- Make and test your changes.
- Follow the existing project structure and code style.
- Open a pull request with a clear explanation of the change.
git checkout -b feature/your-feature-nameFor bugs and feature requests, open an issue through the GitHub issue tracker.
FF Downloader is an independently developed open-source project.
Supporting the project helps fund continued development, testing, maintenance, and platform-specific releases.
FF Downloader is distributed under the MIT License.
See the LICENSE file for complete license information.
Created and maintained by Ritesh Pandit.
Built for faster and more reliable downloads.