explaingit

aninsomniacy/motrix-next

5,729TypeScriptAudience · generalComplexity · 2/5Setup · easy

TLDR

Motrix Next is a lightweight desktop download manager for Mac, Windows, and Linux that handles HTTP, FTP, BitTorrent, and Magnet links, rebuilt from the ground up with Tauri and Vue 3 to cut the app size from 80 MB to 20 MB.

Mindmap

mindmap
  root((repo))
    What it does
      Multi-protocol downloads
      Concurrent speed control
      Background mode
      Browser extension
    Protocols
      HTTP and FTP
      BitTorrent
      Magnet links
      Metalink
    Tech stack
      Tauri and Rust backend
      Vue 3 frontend
      TypeScript
      SQLite history
    Platforms
      macOS DMG or Homebrew
      Windows installer
      Linux DEB RPM AppImage
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Download large files over BitTorrent or HTTP with controlled speed limits on any desktop OS

USE CASE 2

Select specific files within a torrent instead of downloading the entire archive

USE CASE 3

Route browser downloads from Chrome or Edge directly into the app using the companion browser extension

USE CASE 4

Run downloads in the background while keeping the visible window closed, with a shutdown-when-done option

Tech stack

TypeScriptVue 3TauriRustSQLite

Getting it running

Difficulty · easy Time to first run · 5min

macOS users must run a terminal command to remove the quarantine flag after downloading because the app is currently unsigned.

No license information is specified in the repository.

In plain English

Motrix Next is a desktop download manager for macOS, Windows, and Linux. It can handle downloads over HTTP, FTP, BitTorrent, Magnet links, and Metalink, and it lets you run multiple downloads at the same time with control over speed limits and the number of concurrent connections. The project is a full rewrite of an older tool called Motrix, which had been inactive since 2023. The original used Electron as its desktop runtime and Vue 2 for its interface, and its codebase had accumulated technical debt that made it difficult to maintain. Motrix Next replaces Electron with Tauri, a framework that uses Rust for the backend and a smaller WebView for the interface. This cuts the application bundle size from roughly 80 MB down to about 20 MB. The interface uses Vue 3 and TypeScript instead of the older JavaScript stack. For BitTorrent downloads, the app includes support for selecting individual files within a torrent, peer exchange, encryption controls, and the ability to see which country peers are connecting from. A browser extension is available for Chrome and Edge that routes downloads from your browser directly to the app, with support for forwarding cookies, referrer headers, and filename hints. The app stores completed download history in a SQLite database and supports organizing downloads into folders. It can run in a lightweight background mode where the visible window is destroyed but the download engine keeps running. Notifications alert you when downloads complete, fail, or start, and you can optionally have the computer shut down when all downloads finish. Installation is through a package for your operating system: a DMG or Homebrew cask on macOS, an installer on Windows, or a DEB, RPM, or AppImage on Linux. The app is unsigned on macOS, which requires running a command to remove the quarantine flag after downloading. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Using the Motrix Next Tauri backend in Rust, show me how to add a new download source type that handles custom magnet-like URI schemes my app generates.
Prompt 2
Help me build a new Vue 3 component for Motrix Next that shows a per-torrent peer map with country flags next to each connected peer's IP address.
Prompt 3
I want to add a scheduled download feature to Motrix Next, a UI picker that lets users set a start time, stored in SQLite and triggered by the Rust backend. Help me implement it end to end.
Prompt 4
Show me how the Motrix Next browser extension communicates with the desktop app and help me add support for forwarding the page's cookies along with download requests to handle authenticated downloads.
Open on GitHub → Explain another repo

← aninsomniacy on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.