Skip to content

Repository files navigation

⚡ OpenFetch

The last download manager you'll ever need.

MIT License Tauri 2 Rust React 19 TypeScript Build Status Release


OpenFetch is a flagship, production-ready, open-source desktop download manager built on Tauri 2, Rust, and React 19. Designed to feel like modern power-user tools like VS Code or Discord, OpenFetch delivers blazing performance, low resource consumption, and a plugin-first architecture.


📦 Download Latest Release (v0.1.0)

Platform Installer Type Direct Download Link
🪟 Windows Setup Executable (.exe) Download .exe
🪟 Windows MSI Package (.msi) Download .msi
🍎 macOS Disk Image (.dmg) Download .dmg
🐧 Linux Universal AppImage Download .AppImage
🐧 Linux Debian / Ubuntu (.deb) Download .deb
🐧 Linux Fedora / RedHat (.rpm) Download .rpm

✨ Features

  • ⚡ Blazing Fast Engine: Core download engine built with Rust, tokio, and reqwest featuring multi-threaded chunked downloads and range requests.
  • 🎨 Glassmorphism UI: Dark-first interface styled with Tailwind CSS, custom design tokens, and smooth Framer Motion micro-animations.
  • 🧩 Plugin-First Architecture: Source extractors and download handlers run as modular plugins (generic-http, github-releases, and extensible custom plugins).
  • 📋 Intelligent URL Analyzer: Instant analysis of pasted URLs showing file title, media type, estimated size, content headers, and required plugin.
  • 📂 Smart Organization: Auto-categorization of downloads into Videos, Music, Documents, Archives, Software, and Repositories.
  • 📊 Detailed Analytics: In-app charts tracking daily bandwidth, average speed, domain distribution, and completion rates.
  • 🔒 Privacy-First & Offline-First: Zero telemetry, no tracking, local SQLite database storage for history and queues.

🛠️ Architecture & Tech Stack

OpenFetch Monorepo
├── apps/
│   └── desktop/               # Tauri 2 App (Rust Backend + React 19 Frontend)
├── packages/
│   ├── core/                  # Shared TypeScript types & utility helpers
│   ├── plugin-sdk/            # Plugin manifest schema & SDK interfaces
│   └── ui/                    # Shared design system components
├── plugins/
│   ├── generic-http/          # Rust HTTP chunk downloader plugin
│   ├── github-releases/       # GitHub release asset extractor plugin
│   ├── ftp/                   # FTP protocol plugin (stub)
│   ├── sftp/                  # SFTP protocol plugin (stub)
│   └── google-drive/          # Cloud storage plugin (stub)
└── docs/                      # Developer & Plugin documentation
  • Frontend: React 19, TypeScript, Tailwind CSS, TanStack Query, Zustand, Framer Motion, Recharts
  • Backend & Native Desktop: Tauri v2, Rust 2021, Tokio, Reqwest, Rusqlite, Arboard
  • Monorepo Management: pnpm workspaces, Turborepo

💻 Local Development

Prerequisites

Setup & Run

# Clone the repository
git clone https://github.com/allanabtech/OpenFetch.git
cd OpenFetch

# Install workspace dependencies
pnpm install

# Run desktop app in development mode
pnpm dev

Build for Production Locally

pnpm --filter desktop tauri build

🔌 Plugin System & SDK

OpenFetch is designed so the community can build custom plugins without modifying the core codebase.


🤝 Contributing

Contributions of all kinds are welcome! Please read our Contributing Guide before submitting a Pull Request.


📄 License

This project is licensed under the MIT License.

About

The last download manager you'll ever need. Open-source, plugin-based desktop application built with Tauri, Rust & React 19.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages