# Motrix: A Desktop Download Manager for HTTP, BitTorrent and Magnet Links

> Motrix is an MIT-licensed Electron download manager for HTTP, FTP, BitTorrent and magnet links, with a headless server mode and a CLI. The v2 line is still in beta, and the README warns that v1 data migration has not been validated.

**agalwood/Motrix** — Motrix is a full-featured desktop download manager with a clean interface that handles HTTP, FTP, BitTorrent, and Magnet links on Windows, macOS, and Linux.

- Repository: https://github.com/agalwood/Motrix
- Website: https://motrix.app
- Stars: 55,885 · Forks: 5,042
- Language: JavaScript
- License: MIT
- Published: 2026-08-08 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/agalwood-motrix

## What Motrix is for, and who should install it

Motrix is a desktop download manager. The README lists HTTP, FTP, BitTorrent and magnet links as the supported protocols, plus per-file selection inside torrents, a built-in tracker list with automatic updates and health checks, and UPnP and NAT-PMP port mapping. The audience is anyone who wants a graphical queue for mixed protocol downloads rather than separate tools for a torrent and an ISO. The v1 package.json still names the app Motrix at version 1.8.19, while the README describes Motrix Turbo as Motrix v2, rebuilt with Electron, React and TypeScript. That split matters: the code most people have run is v1, and the code the README documents is v2, which is in beta. If you only need to fetch one file from one URL, a browser or curl is less machinery than an Electron app with a SQLite session store. Motrix earns its install when you want torrents, magnets and plain HTTP downloads in one queue with speed limits and restart recovery.

## How the download core, MDXP and the plugin sandbox fit together

The README states that the download core is independent of the UI. That is the central design decision. Browser extensions and command-line tools do not drive the interface; they talk to the core over MDXP, described as an open protocol built on JSON-RPC 2.0, with the shared wire schemas and Zod types published as the npm package @motrix/mdxp. The same core backs both a desktop app and a headless server that runs either directly on Node.js or in Docker, with a web UI aimed at NAS devices and home servers. Plugins run in a separate lane: they are bundled as a single ES2020 module and executed inside a QuickJS sandbox with no Node.js APIs and no direct file or network access. A plugin declares activation events, required capabilities and URL-scoped host permissions in motrix-plugin.json, and Motrix shows those requests to the user before granting access. The hook points are beforeCreate, beforeFinalize, afterComplete and onError. The trade-off is visible in the sandbox: denying file and network access is what makes the permission prompt meaningful, but it also means a plugin cannot do arbitrary local work, so anything outside the documented hook and capability set has to go through the host.

## Installing Motrix and running a first download

The README points desktop users to motrix.app to pick the package for their operating system, and notes that most Mac users should choose the Apple Silicon build. It does not list per-distro package names, so there is nothing to copy for a Linux package manager here. The beta warning is explicit: download v2.0.0-beta.28 from GitHub Releases and read the release notes before installing, back up existing Motrix data and downloads, and test in parallel using a separate OS account, machine or Docker data directory. For the CLI, the README gives a quick start that requires Node.js 22 or later:

```bash
npm install -g @motrix/cli    # Requires Node.js 22 or later

motrix add https://example.com/file.iso --save-dir ~/Downloads
motrix list                   # List downloads
motrix watch --stats          # Stream live progress as NDJSON
motrix pair --name my-nas     # Pair with a remote or headless instance
```

After the install, motrix add queues a URL and writes it to the given directory, motrix list prints the current queue, and motrix watch --stats streams progress as newline-delimited JSON, which is the form you would pipe into another process. motrix pair is the step for a remote or headless instance, and the README describes the Docker server as using device-code pairing for remote CLI and agent clients. If you want to build a plugin instead, the SDK scaffolder is a separate path:

```bash
pnpm create motrix-plugin my-plugin
cd my-plugin && pnpm install
pnpm dev                         # Watch-build and launch Motrix with the plugin
pnpm exec motrix-plugin validate # Validate motrix-plugin.json
pnpm run pack                    # Create dist/<id>-<version>.moext
pnpm exec motrix-plugin lint     # Check the packed bundle
```

The scaffold starts with a beforeCreate URL resolver; passing post-action after the project name starts an afterComplete notification plugin instead.

## The v2 beta is the real limitation

The README does not present v2 as finished. It says Motrix Turbo v2 is in beta and that the download should happen after its remaining release gates pass, which means the project itself is telling you the release is gated. The harder constraint is data: migration from Motrix v1 data has not yet been validated, and the README says not to use your only copy of v1 data with the beta. For anyone with a long queue history or an existing configuration, that is the deciding fact, not the feature list. The repository layout reinforces the split. The top level still carries the v1-era Electron and Vue toolchain (.electron-vue/, .babelrc, electron-builder.json, appveyor.yml, .travis.yml) and a package.json pinned at 1.8.19, while the README describes a React and TypeScript rewrite distributed as v2.0.0-beta.28. Two things follow. First, treat any v2 install as a parallel test, not a replacement. Second, the README does not document rollback, so if you move v1 data into v2 and something goes wrong, there is no described path back. Keep the backup rather than trusting a migration step that the project has not validated.

## Motrix compared with aria2 and the other command-line downloaders

The obvious alternative is aria2, the long-standing command-line downloader that also handles HTTP, FTP, BitTorrent and magnet links. The difference is where the interface lives. aria2 is a daemon with a JSON-RPC interface and no bundled desktop UI; the user supplies a front end, a config file and the operational habits that go with a daemon. Motrix ships the desktop application, the tray integration, the notifications and the settings UI, and its MDXP protocol plays the same role aria2's RPC does for external clients. If you already run aria2 behind a web front end, Motrix's headless server overlaps with that setup rather than replacing it, and you would be trading a mature daemon configuration for a beta. The other axis is extensibility. Motrix's plugin system runs third-party code in a QuickJS sandbox with declared capabilities, which aria2 does not attempt. If you want a GUI and a plugin API more than you want a battle-tested daemon, Motrix is the fit. If you want the daemon, use the daemon.

## Licence, upgrade cost and what the beta cycle implies

Motrix is MIT licensed, which permits commercial and private use, modification and redistribution provided the copyright notice and permission notice are kept. The README does not discuss warranty or liability beyond what the licence text itself says, and nothing here is legal advice. The practical cost is the upgrade cadence. The v2 line is shipping betas quickly (beta.26 on 2026-08-25, beta.27 on 2026-08-27, beta.28 on 2026-08-28), and the last push to the repository was on 2026-08-28. Fast beta iteration means the release notes are part of the upgrade procedure, not optional reading, and the README says to read them before installing. There is no documented rollback path, so each beta is a forward move. If you run the headless server in Docker, the README's advice to test with a separate Docker data directory is the cheapest way to contain that risk. Do not treat a beta channel as a set-and-forget deployment.

## Conclusion

Adopt Motrix if you want a GUI download manager for HTTP, FTP, BitTorrent and magnet links on macOS, Windows or Linux, or a headless server for a NAS. Avoid the v2 beta if you depend on your existing v1 data, since the README states migration has not been validated. Verify three things first: whether the v2 release gates have passed, whether your OS package exists on motrix.app, and whether the permissions a plugin requests match what it needs.

## FAQ

### What is Motrix used for?

Motrix is a desktop download manager for HTTP, FTP, BitTorrent and magnet links. The README also describes a headless server mode for NAS devices and home servers, plus a CLI for shell use and agent clients.

### How to install Motrix?

The README points desktop users to motrix.app to download the package for their operating system, noting that most Mac users should choose the Apple Silicon build. For the v2 beta it says to download v2.0.0-beta.28 from GitHub Releases and read the release notes before installing.

### How to use Motrix?

The README's CLI quick start installs @motrix/cli with npm (Node.js 22 or later), then uses motrix add to queue a URL, motrix list to show downloads, and motrix watch --stats to stream progress as NDJSON. motrix pair connects to a remote or headless instance.

### Is Motrix better than IDM?

The README does not compare Motrix with IDM, so there is no basis here for that judgement. What it does document is BitTorrent and magnet support, a built-in tracker list, UPnP and NAT-PMP mapping, and a headless server mode.

### What is a Motrix alternative?

aria2 covers the same HTTP, FTP, BitTorrent and magnet protocols but ships as a daemon with a JSON-RPC interface and no bundled desktop UI. Motrix supplies the desktop app, tray integration and settings UI, and uses MDXP for external clients.

### Is the Motrix app safe?

The README describes Motrix plugins as running in a QuickJS sandbox without Node.js APIs or direct file and network access, with declared capabilities and URL-scoped host permissions shown to the user before access is granted. It does not make a broader security claim about the application itself.

## Sources

- [Official documentation](https://motrix.app)
- [Official README](https://github.com/agalwood/Motrix#readme)
- [Project repository](https://github.com/agalwood/Motrix)
- [Release notes](https://github.com/agalwood/Motrix/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/agalwood-motrix
