Top Related Projects
Official Transmission BitTorrent client repository
qBittorrent BitTorrent client
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
⚡️ Streaming torrent client for the web
an efficient feature complete C++ bittorrent implementation
Deluge BitTorrent client - Git mirror, PRs only
Quick Overview
Motrix is a full-featured download manager that supports multiple protocols and BitTorrent. It provides a clean, modern interface and is available for Windows, macOS, and Linux. Motrix aims to be a powerful and user-friendly alternative to traditional download managers.
Pros
- Cross-platform compatibility (Windows, macOS, Linux)
- Supports multiple protocols including HTTP, FTP, BitTorrent, and Magnet links
- User-friendly interface with a modern design
- Actively maintained and regularly updated
Cons
- Some users report occasional stability issues
- Limited advanced features compared to some specialized torrent clients
- Relatively large application size for a download manager
- May consume more system resources than lighter alternatives
Getting Started
To get started with Motrix:
- Visit the Motrix releases page on GitHub.
- Download the appropriate version for your operating system.
- Install the application following the standard procedure for your OS.
- Launch Motrix and start adding download tasks by clicking the "+" button or pasting links.
For developers who want to contribute or run from source:
# Clone the repository
git clone https://github.com/agalwood/Motrix.git
# Navigate to the project directory
cd Motrix
# Install dependencies
npm install
# Run the app in development mode
npm run dev
For more detailed instructions and documentation, refer to the Motrix GitHub repository.
Competitor Comparisons
Official Transmission BitTorrent client repository
Pros of Transmission
- Lightweight and efficient, consuming fewer system resources
- Mature project with a long history of development and stability
- Supports a wide range of platforms, including desktop and server environments
Cons of Transmission
- Less modern user interface compared to Motrix
- Fewer built-in features for managing downloads from various sources
- Limited support for streaming media files directly from the application
Code Comparison
Transmission (C):
static void
tr_peerMgrGotBadPiece(tr_torrent * tor, tr_piece_index_t pieceIndex)
{
assert(tr_isTorrent(tor));
assert(pieceIndex < tor->info.pieceCount);
tr_peerMgrLock(tor);
Motrix (JavaScript):
handleToggleSpeedLimit = () => {
const { speedLimit } = this.state
this.setState({
speedLimit: {
...speedLimit,
enabled: !speedLimit.enabled
}
})
}
While both projects serve as download managers, Transmission focuses on a lightweight, efficient BitTorrent client written in C, while Motrix offers a more feature-rich, modern interface built with web technologies. Transmission's codebase reflects its focus on performance and low-level operations, while Motrix emphasizes user experience and cross-platform compatibility through Electron.
qBittorrent BitTorrent client
Pros of qBittorrent
- More mature and established project with a larger user base
- Supports a wider range of torrent-related features
- Cross-platform compatibility (Windows, macOS, Linux)
Cons of qBittorrent
- Less modern and intuitive user interface
- Slower development cycle and less frequent updates
- Limited support for direct downloads from HTTP/FTP sources
Code Comparison
qBittorrent (C++):
void TorrentHandle::addTrackers(const QList<TrackerEntry> &trackers)
{
if (trackers.isEmpty()) return;
const libtorrent::torrent_handle nativeHandle = m_nativeHandle;
for (const TrackerEntry &tracker : trackers)
nativeHandle.add_tracker(tracker.nativeEntry());
}
Motrix (JavaScript):
addTracker (tracker) {
const { id } = this.task
if (!tracker) {
return
}
engine.addTracker(id, tracker)
}
While both projects handle adding trackers, qBittorrent's implementation is in C++ and uses libtorrent, whereas Motrix uses JavaScript and a custom engine. qBittorrent's approach allows for adding multiple trackers at once, while Motrix adds them individually.
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Pros of aria2
- Lightweight and resource-efficient command-line tool
- Supports a wide range of protocols (HTTP, HTTPS, FTP, BitTorrent, Metalink)
- Highly customizable with extensive configuration options
Cons of aria2
- Lacks a graphical user interface, which may be less user-friendly for some
- Requires command-line knowledge for setup and usage
- Limited built-in features for torrent management compared to Motrix
Code Comparison
aria2:
aria2c -s16 -x16 -k1M https://example.com/large-file.zip
Motrix:
// No direct code comparison available as Motrix is a GUI application
// Motrix uses aria2 as its core downloading engine
Motrix provides a user-friendly graphical interface for aria2, making it more accessible to users who prefer a visual approach to download management. While aria2 offers more flexibility and control through its command-line interface, Motrix simplifies the process for less technical users. Both projects serve different user needs, with aria2 focusing on power and customization, and Motrix emphasizing ease of use and visual management of downloads.
⚡️ Streaming torrent client for the web
Pros of WebTorrent
- Browser-based torrent client, enabling streaming directly in web applications
- Supports WebRTC for peer-to-peer communication without plugins
- Lightweight and easy to integrate into existing web projects
Cons of WebTorrent
- Limited to web environments, not suitable for desktop or mobile applications
- May have performance limitations compared to native torrent clients
- Requires modern browser support for full functionality
Code Comparison
WebTorrent:
const WebTorrent = require('webtorrent')
const client = new WebTorrent()
client.add(torrentId, function (torrent) {
torrent.files.forEach(function (file) {
file.appendTo('body')
})
})
Motrix:
import { app } from 'electron'
import { join } from 'path'
import { Engine } from '@motrix/engine'
const engine = new Engine({
systemConfig: app.getPath('userData')
})
Key Differences
- WebTorrent focuses on web-based torrent streaming, while Motrix is a full-featured desktop download manager
- Motrix offers a more comprehensive set of features, including multi-protocol support and a user-friendly GUI
- WebTorrent is better suited for web developers looking to integrate torrent functionality into their applications
- Motrix provides a more traditional download management experience for end-users
an efficient feature complete C++ bittorrent implementation
Pros of libtorrent
- More comprehensive and feature-rich BitTorrent implementation
- Highly efficient and optimized C++ library
- Extensive documentation and active development community
Cons of libtorrent
- Requires more technical expertise to integrate and use
- Not a standalone application, needs to be implemented in other software
- Steeper learning curve for developers new to BitTorrent protocols
Code Comparison
libtorrent (C++):
#include <libtorrent/session.hpp>
#include <libtorrent/add_torrent_params.hpp>
#include <libtorrent/torrent_handle.hpp>
lt::session ses;
lt::add_torrent_params p;
p.save_path = "./";
p.ti = std::make_shared<lt::torrent_info>("test.torrent");
lt::torrent_handle h = ses.add_torrent(p);
Motrix (JavaScript):
import { aria2 } from '@motrix/aria2'
const client = new aria2()
client.open()
.then(() => {
return client.addUri(['http://example.com/file.zip'])
})
.then((gid) => {
console.log(`Download started. GID: ${gid}`)
})
Summary
libtorrent is a powerful, low-level BitTorrent library offering extensive features and optimizations, while Motrix provides a user-friendly, cross-platform download manager with a graphical interface. libtorrent is better suited for developers building custom BitTorrent applications, whereas Motrix is ideal for end-users seeking a ready-to-use download solution.
Deluge BitTorrent client - Git mirror, PRs only
Pros of Deluge
- More mature and established project with a larger user base
- Extensive plugin system for customization and additional features
- Better support for advanced torrent features like RSS feeds and scheduling
Cons of Deluge
- Less modern and intuitive user interface
- Slower development cycle and less frequent updates
- Limited built-in support for downloading from HTTP/FTP sources
Code Comparison
Deluge (Python):
class Core(component.Component):
def __init__(self, config):
component.Component.__init__(self, "Core")
self.config = config
Motrix (JavaScript):
class Core extends EventEmitter {
constructor (options = {}) {
super()
this.options = options
}
}
Both projects use object-oriented programming, but Deluge is written in Python while Motrix uses JavaScript. Deluge's core component inherits from a custom Component class, while Motrix extends the EventEmitter class for event handling. The initialization process is similar, with both accepting configuration options.
Motrix offers a more modern, Electron-based interface with support for various protocols, including BitTorrent and HTTP/FTP. It has a sleeker design and more frequent updates. However, Deluge provides more advanced torrent-specific features and a robust plugin ecosystem, making it a better choice for users who prioritize customization and advanced torrent management capabilities.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Motrix
A full-featured download manager
English | ç®ä½ä¸æ
Motrix is a full-featured download manager that supports downloading HTTP, FTP, BitTorrent, Magnet, etc.
Motrix has a clean and easy to use interface. I hope you will like it ð».
âï¸ Official Website | ð Manual
ð½ Installation
Download from GitHub Releases and install it.
Windows
It is recommended to install Motrix using the installation package (Motrix-Setup-x.y.z.exe) to ensure a complete experience, such as associating torrent files, capturing magnet links, etc.
If you use package management tools to manage applications on Windows, such as Chocolatey, scoop. You can use them to install Motrix.
Chocolatey
Thanks to @Yato for continuing to maintain the Motrix Chocolatey package. To install motrix, run the following command from the command line
or from PowerShell
:
# Install
choco install motrix
# Upgrade
choco upgrade motrix
scoop
If you prefer the portable version, you can use scoop (need Windows 7+) to install Motrix.
scoop bucket add extras
scoop install motrix
macOS
The macOS users can install Motrix using brew
, thanks to PR of @Mitscherlich.
brew update && brew install motrix
Auto Update
Since Motrix v1.8.0 and later versions changed the App BundleID ( net.agalwood.Motrix
=> app.motrix.native
), the automatic update of Motrix v1.6.11 will fail. Motrix Install Assistant will help you install the latest Motrix application.
Linux
You can download the AppImage
(for all Linux distributions) or snap
to install Motrix, see GitHub/release for more Linux installation package formats.
Motrix may need to run with sudo
for the first time in Linux because there is no permission to create the download session file (/var/cache/aria2.session
).
If you want to build from source code, please read the Build section.
AppImage
The latest version of Motrix AppImage requires you to manually perform desktop integration. Please check the documentation of AppImageLauncher .
Desktop Integration Since electron-builder 21 desktop integration is not a part of produced AppImage file. AppImageLauncher is the recommended way to integrate AppImages.
Deepin 20 Beta users failed to install Motrix, please follow the steps below:
Open the Terminal
, paste and run the following command to install Motrix again.
sudo apt --fix-broken install
Snap
Motrix has been listed on Snapcraft , Ubuntu users recommend downloading from the Snap Store.
Tips for v1.5.10
The tray may not display the indicator normally, which makes it inconvenient to exit the application.
Please unchecked Preferences--Basic Settings--Hide App Menu (Windows & Linux Only), click Save & Apply. Then click "Exit" in the File menu to exit the application.
Please update to v1.5.12 and above, you can use the keyboard shortcut Ctrl + q to quickly exit the application.
AUR
For Arch Linux users, Motrix is available in aur, thanks to the maintainer @weearc.
Run the following command to install:
yay -S motrix
Flatpak
Thanks to the PR of @proletarius101, Motrix has been listed Flathub, Linux users who like the Flatpak can try it.
# Install
flatpak install flathub net.agalwood.Motrix
# Run
flatpak run net.agalwood.Motrix
⨠Features
- ð¹ Simple and clear user interface
- ð¦ Supports BitTorrent & Magnet
- âï¸ BitTorrent selective download
- ð¡ Update tracker list every day automatically
- ð UPnP & NAT-PMP Port Mapping
- ð Up to 10 concurrent download tasks
- ð Supports 64 threads in a single task
- ð¥ Supports speed limit
- ð¶ Mock User-Agent
- ð Download completed Notification
- ð» Ready for Touch Bar (Mac only)
- ð¤ Resident system tray for quick operation
- ð Tray speed meter displays real-time speed (Mac only)
- ð Dark mode
- ð Delete related files when removing tasks (optional)
- ð I18n, View supported languages.
- ð More features in development
ð¥ User Interface
â¨ï¸ Development
Clone Code
git clone git@github.com:agalwood/Motrix.git
Install Dependencies
cd Motrix
yarn
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
Electron
failed to install correctly, please refer to https://github.com/electron/electron/issues/8466#issuecomment-571425574
Dev Mode
yarn run dev
Build Release
yarn run build
Build for Apple Silicon
yarn run build:applesilicon
After building, the application will be found in the project's release
directory.
ð Technology Stack
âï¸ TODO
Development Roadmap see: Trello
ð¤ Contribute
If you are interested in participating in joint development, PR and Forks are welcome!
ð Internationalization
Translations into versions for other languages are welcome ð§! Please read the translation guide before starting translations.
Key | Name | Status |
---|---|---|
ar | Arabic | âï¸ @hadialqattan, @AhmedElTabarani |
bg | ÐÑлгаÑÑкиÑÑ ÐµÐ·Ð¸Ðº | âï¸ @null-none |
ca | Català | âï¸ @marcizhu |
de | Deutsch | âï¸ @Schloemicher |
el | Îλληνικά | âï¸ @Likecinema |
en-US | English | âï¸ |
es | Español | âï¸ @Chofito |
fa | ÙØ§Ø±Ø³Û | âï¸ @Nima-Ra |
fr | Français | âï¸ @gpatarin |
hu | Hungarian | âï¸ @zalnaRs |
id | Indonesia | âï¸ @aarestu |
it | Italiano | âï¸ @blackcat-917 |
ja | æ¥æ¬èª | âï¸ @hbkrkzk |
ko | íêµì´ | âï¸ @KOZ39 |
nb | Norsk BokmÃ¥l | âï¸ @rubjo |
nl | Nederlands | âï¸ @nickbouwhuis |
pl | Polski | âï¸ @KanarekLife |
pt-BR | Portuguese (Brazil) | âï¸ @andrenoberto |
ro | RomânÄ | âï¸ @alyn3d |
ru | Ð ÑÑÑкий | âï¸ @bladeaweb |
th | à¹à¸à¸à¹à¸à¸¢ | âï¸ @nxanywhere |
tr | Türkçe | âï¸ @abdullah |
uk | УкÑаÑнÑÑка | âï¸ @bladeaweb |
vi | Tiếng Viá»t | âï¸ @duythanhvn |
zh-CN | ç®ä½ä¸æ | âï¸ |
zh-TW | ç¹é«ä¸æ | âï¸ @Yukaii @5idereal |
ð License
MIT Copyright (c) 2018-present Dr_rOot
Top Related Projects
Official Transmission BitTorrent client repository
qBittorrent BitTorrent client
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
⚡️ Streaming torrent client for the web
an efficient feature complete C++ bittorrent implementation
Deluge BitTorrent client - Git mirror, PRs only
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot