Motrix by agalwood was one of the best open-source download managers available — clean UI, aria2-powered, cross-platform. It inspired thousands of users and developers alike.
However, the original project has been largely inactive since 2023. The Electron + Vue 2 + Vuex + Element UI stack accumulated technical debt, making it increasingly difficult to maintain, extend, or package for modern platforms.
Motrix Next is a ground-up rewrite — same download manager spirit, entirely new codebase.
| Layer | Motrix (Legacy) | Motrix Next |
|---|---|---|
| Runtime | Electron | Tauri 2 (Rust) |
| Frontend | Vue 2 + Vuex | Vue 3 Composition API + Pinia |
| UI Framework | Element UI | Naive UI |
| Language | JavaScript | TypeScript + Rust |
| Styling | SCSS + Element theme | Vanilla CSS + custom properties |
| Engine Mgmt | Node.js child_process |
Tauri sidecar |
| Build System | electron-builder | Vite + Cargo |
| Bundle Size | ~80 MB | ~20 MB |
| Auto-Update | electron-updater | Tauri updater plugin |
Note
6-platform aria2 engine — the official aria2 release only ships Windows 32/64-bit and Android ARM64 pre-built binaries. We compile aria2 from source as fully static binaries for all 6 targets: macOS (Apple Silicon / Intel), Windows (x64 / ARM64), and Linux (x64 / ARM64).
The overall UI layout stays true to Motrix's original design — the sidebar navigation, task list, and preference panels all follow the familiar structure that made Motrix intuitive from day one.
What changed is everything underneath. Every transition and micro-interaction has been carefully tuned to follow Material Design 3 motion guidelines:
- Asymmetric timing — enter animations are slightly longer than exits, giving new content time to land while dismissed content leaves quickly
- Emphasized easing curves — decelerate on enter (
cubic-bezier(0.2, 0, 0, 1)), accelerate on exit (cubic-bezier(0.3, 0, 0.8, 0.15)), replacing genericeasecurves throughout the codebase - Spring-based modals — dialogs use physically-modeled spring animations for a natural, responsive feel
- Consistent motion tokens — all durations and curves are defined as CSS custom properties, ensuring a unified rhythm across 12+ components
- Multi-protocol downloads — HTTP, FTP, BitTorrent, Magnet links
- BitTorrent — Selective file download, DHT, peer exchange, encryption
- Tracker management — Auto-sync from community tracker lists
- Concurrent downloads — Up to 10 tasks with configurable thread count
- Speed control — Global and per-task upload/download limits
- System tray — Real-time speed display in the menu bar (macOS)
- Dark mode — Native dark theme with system preference detection
- i18n — Auto-detects system language on first launch
- Task management — Pause, resume, delete with file cleanup, batch operations
- Download protocols — Register as default handler for magnet and thunder links
- Notifications — System notifications on task completion
- Lightweight — Tauri-powered, minimal resource footprint
Download the latest release from GitHub Releases.
Homebrew (recommended):
brew tap AnInsomniacy/motrix-next
brew install --cask motrix-next
xattr -cr /Applications/MotrixNext.app # remove quarantine (app is unsigned)Or download MotrixNext_aarch64.app.tar.gz (Apple Silicon) / MotrixNext_x64.app.tar.gz (Intel) from Releases and drag to /Applications.
Tip
If macOS says the app is "damaged and can't be opened", see the FAQ below.
Download the installer from Releases:
| Architecture | File |
|---|---|
| x64 (most PCs) | MotrixNext_x.x.x_x64-setup.exe |
| ARM64 | MotrixNext_x.x.x_arm64-setup.exe |
Run the installer — it takes about 10 seconds, no reboot required.
Download from Releases:
Debian / Ubuntu:
sudo dpkg -i MotrixNext_x.x.x_amd64.debOther distributions — use the .AppImage:
chmod +x MotrixNext_x.x.x_amd64.AppImage
./MotrixNext_x.x.x_amd64.AppImageBoth x64 and ARM64 builds are available.
macOS says the app is "damaged and can't be opened"
This app is not code-signed. Open Terminal and run:
xattr -cr /Applications/MotrixNext.appThis removes the quarantine flag that macOS Gatekeeper applies to unsigned apps. If you installed via Homebrew with --no-quarantine, you won't hit this issue.
Why is there no portable version?
Motrix Next relies on aria2 as a sidecar process — a separate executable that Tauri launches at runtime. The aria2 binaries are compiled from source as fully static builds covering all 6 supported platforms. This architecture means:
- The aria2 binary must exist alongside the main executable — it cannot be embedded into a single
.exe. - Deep links (
magnet://,thunder://) and file associations (.torrent) require Windows registry entries that only an installer can configure. - The auto-updater needs a known installation path to replace files in place.
These are fundamental constraints of the Tauri sidecar model and the Windows operating system, not limitations we can work around. Notable Tauri projects like Clash Verge Rev (80k+ stars) previously shipped portable builds but discontinued them due to the same set of issues.
We provide NSIS installers for Windows — lightweight (~20 MB), fast to install, and fully featured.
Motrix Next is not code-signed on macOS or Windows, so your browser or antivirus software may show a security warning when downloading or running the installer.
The app is fully open-source and every release binary is built automatically by GitHub Actions CI. For added peace of mind, you can always build from source.
# Clone the repository
git clone https://github.com/AnInsomniacy/motrix-next.git
cd motrix-next
# Install frontend dependencies
pnpm install
# Start development server (launches Tauri + Vite)
pnpm tauri dev
# Build for production
pnpm tauri buildmotrix-next/
├── src/ # Frontend (Vue 3 + TypeScript)
│ ├── api/ # Aria2 JSON-RPC client
│ ├── components/ # Vue components
│ │ ├── about/ # About panel
│ │ ├── layout/ # Sidebar, speedometer, navigation
│ │ ├── preference/ # Settings pages, update dialog
│ │ └── task/ # Task list, detail, add task
│ ├── composables/ # Reusable composition functions
│ ├── router/ # Vue Router configuration
│ ├── shared/ # Shared utilities & config
│ │ ├── locales/ # 26 language packs
│ │ ├── utils/ # Pure utility functions (with tests)
│ │ ├── aria2/ # Aria2 RPC library
│ │ ├── types.ts # TypeScript interfaces
│ │ ├── constants.ts # App constants
│ │ └── configKeys.ts # Persisted config key registry
│ ├── stores/ # Pinia state management (with tests)
│ ├── styles/ # Global CSS custom properties
│ └── views/ # Page-level route views
├── src-tauri/ # Backend (Rust + Tauri 2)
│ ├── src/
│ │ ├── commands/ # config, engine, ui, tracker, fs, updater, upnp
│ │ ├── engine/ # Aria2 sidecar lifecycle (args, state, cleanup)
│ │ ├── error.rs # AppError enum
│ │ ├── menu.rs # Native menu builder
│ │ ├── tray.rs # System tray setup
│ │ ├── upnp.rs # UPnP/IGD port mapping
│ │ └── lib.rs # Tauri builder & plugin registration
│ └── binaries/ # Aria2 sidecar binaries (6 platforms)
├── scripts/ # bump-version.sh
├── .github/workflows/ # CI (ci.yml) + Release (release.yml)
└── website/ # Landing page (static HTML)
PRs and issues are welcome! Please read the Contributing Guide and Code of Conduct before getting started.
- Motrix by agalwood and all its contributors
- Aria2 — the powerful download engine at the core
- Community translators who contributed 25+ locale files for worldwide accessibility
Built in the hours I should've been writing my thesis — I'm a PhD student surviving on instant noodles 🍜
This app is not code-signed on macOS or Windows — Apple charges $99/year, and a Windows Authenticode certificate costs $300–600/year. That's a lot of instant noodles.
Buy me a coffee ☕ — maybe one day I can afford those certificates, so antivirus software stops treating my app like a criminal 🥲
MIT — Copyright (c) 2025-present AnInsomniacy


