Skip to content

AnInsomniacy/motrix-next

Motrix Next

Motrix Next

A full-featured download manager — rebuilt from the ground up.

GitHub release Build Total Downloads
Platform Bundle Size

Website Download


Light Mode Dark Mode
Light Mode Dark Mode

Why Motrix Next?

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.

What we rebuilt

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).

Design & Motion

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 generic ease curves 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

Features

  • 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

Installation

Download the latest release from GitHub Releases.

macOS

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.

Windows

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.

Linux

Download from Releases:

Debian / Ubuntu:

sudo dpkg -i MotrixNext_x.x.x_amd64.deb

Other distributions — use the .AppImage:

chmod +x MotrixNext_x.x.x_amd64.AppImage
./MotrixNext_x.x.x_amd64.AppImage

Both x64 and ARM64 builds are available.

FAQ

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.app

This 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.

Code Signing

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.

Development

Prerequisites

Setup

# 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 build

Project Structure

motrix-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)

Contributing

PRs and issues are welcome! Please read the Contributing Guide and Code of Conduct before getting started.

Acknowledgements

  • 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

Sponsor

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 🥲

Star History

Star History Chart

License

MIT — Copyright (c) 2025-present AnInsomniacy

About

A full-featured download manager — rebuilt from the ground up

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors