跪拜 Guibai
← All articles
Frontend · Backend · Programmer

Motrix v2 Rewrites a Three-Year-Old Downloader Into a Headless, AI-Ready Tool

By 前端之虎陈随易 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

A downloader that sat dormant for three years returned with a modernized architecture aimed at NAS users and AI agents, but the unsigned Windows installer and list of open issues mean early adopters should test carefully.

Summary

After three years without a release, Motrix v2.0.0 landed on October 23, 2026. The rewrite, dubbed 'Motrix Turbo', swaps the old codebase for Electron, React 19, Tailwind CSS 4, shadcn/ui, Vite 8, Zod 4, and better-sqlite3. The download core is split into four layers so it could later swap aria2 for a Rust engine.

The same core runs as a desktop app or a Docker-based headless download server. Remote clients pair via device codes instead of exposing an RPC port. Browser extensions for Chrome, Edge, Firefox, and Safari hand off downloads, and a new CLI (`@motrix/cli`) is explicitly built for AI agents, speaking a JSON-RPC 2.0 protocol called MDXP. Plugins run in a QuickJS sandbox, with three official ones that rename files, grab direct links, and parse media URLs.

Migrating from v1 preserves task state through an assistant but requires a manual resume. The project still carries rough edges: memory usage reported at 1.2GB idle, some zero-speed downloads, migration failures, and a 99% stuck issue on large files. v2 also drops 32-bit systems and the Windows installer lacks code signing, which will trigger SmartScreen. With 154 open issues (17 added in the first five days), it's early for a project whose total GitHub downloads already exceed 23 million.

Takeaways
— Motrix v2.0.0 was released on October 23, 2026, after the project went three years without a release; v1.8.19 was the last from May 2023.
— The rewrite uses Electron, React 19, Tailwind CSS 4, shadcn/ui, Vite 8, Zod 4, and better-sqlite3, with a four-layer core engine.
— aria2 remains the download engine, running a Motrix-maintained fork (1.37.0-motrix.21 in v2.1.0).
— The same core supports a desktop app and a Docker headless server; remote clients pair via device codes, avoiding exposed RPC ports.
— Browser extensions cover Chrome, Edge, Firefox, and Safari; the `@motrix/cli` tool is explicitly designed for AI agents.
— Extentions, CLI, and server communicate over MDXP, built on JSON-RPC 2.0.
— Plugins run in a QuickJS sandbox and must declare capabilities; three official plugins handle renaming, direct-link extraction, and media URL parsing.
— Platform support: Windows 10+, macOS 13+, with x64 and ARM64 builds; no 32-bit packages.
— Known issues include 1.2GB idle memory reports, zero-speed downloads, migration assistant failures, and a 99% stuck download problem.
— Windows installer is not code-signed, triggering SmartScreen; the project has 154 open issues as of the report.
— Total GitHub releases have been downloaded over 23 million times.
Conclusions

The project reached 57,536 stars while dormant for three years, showing that user demand and interest persisted far beyond the maintainer's absence.

Dividing the code into four layers with CI-enforced boundaries makes the core portable; swapping the aria2 layer for a Rust engine becomes plausible, a design choice that future-proofs the downloader.

The explicit targeting of AI agents via a CLI suggests download managers are being pulled into automation pipelines, not just kept as desktop utilities.

Preserving v1 tasks as paused records in the migration assistant, with manual resume, acknowledges data safety while leaving a deliberate price of effort.

Concepts & terms
MDXP
A protocol Motrix defines for communication among its browser extensions, CLI, and server; it sits on top of JSON-RPC 2.0 and lets different front-ends drive the same download core.
QuickJS sandbox
A lightweight JavaScript engine that runs plugins in an isolated environment; plugins must declare permissions for file access and network requests, limiting damage if a plugin misbehaves.
Device code pairing
A remote-authentication method where a client shows a code and the user enters it on the server side, avoiding the need to expose the downloader's RPC port to the network.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗