AnInsomniacy.MotrixNext
3.4.2

A full-featured download manager — rebuilt from the ground up
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 kept We owe a great deal to the original Motrix and its community. The following were gratefully adopted and continue to serve as the foundation for parts of Motrix Next: - Aria2 error code system and RPC client — the error handling conventions and JSON-RPC communication layer for the aria2 engine - Internationalization — 25+ community-contributed locale files covering Chinese, Japanese, Korean, Arabic, French, German, and many more - Download utilities — tracker list management, cURL command parsing, and other protocol-level helpers What we rebuilt Motrix Next is not a fork — it is a complete rewrite. Every other layer of the application has been redesigned and reimplemented from scratch: | 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 | 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