[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74782":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},74782,"motrix-next","AnInsomniacy\u002Fmotrix-next","AnInsomniacy","A full-featured download manager — rebuilt from the ground up","https:\u002F\u002Fmotrix-next.pages.dev",null,"TypeScript",7613,236,11,59,0,165,591,1376,495,113.12,"MIT License",false,"main",true,[],"2026-06-12 04:01:15","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"src\u002Fassets\u002Flogo.png\" alt=\"Motrix Next\" width=\"128\" height=\"128\" style=\"border-radius: 24px;\" \u002F>\n  \u003Ch1>Motrix Next\u003C\u002Fh1>\n  \u003Cp>A full-featured download manager — rebuilt from the ground up.\u003C\u002Fp>\n\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FAnInsomniacy\u002Fmotrix-next.svg)](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next\u002Freleases)\n![Build](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002FAnInsomniacy\u002Fmotrix-next\u002Fci.yml?branch=main&label=Build)\n![Total Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FAnInsomniacy\u002Fmotrix-next\u002Ftotal.svg)\n\u003Cbr>\n![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%20%7C%20Windows%20%7C%20Linux-blue.svg)\n![Bundle Size](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbundle%20size-~20MB-brightgreen.svg)\n\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-E0A422?style=for-the-badge&logo=safari&logoColor=white)](https:\u002F\u002Fmotrix-next.pages.dev)\n[![Browser Extension](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FExtension-4285F4?style=for-the-badge&logo=googlechrome&logoColor=white)](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next-extension)\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Cdiv align=\"center\">\n  \u003Ctable>\u003Ctr>\n    \u003Ctd>\u003Cimg src=\"docs\u002Fmedia\u002Fscreenshot-light.png\" alt=\"Light Mode\" width=\"400\" \u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"docs\u002Fmedia\u002Fscreenshot-dark.png\" alt=\"Dark Mode\" width=\"400\" \u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\u003Ctr>\n    \u003Ctd align=\"center\">\u003Csub>Light Mode\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Csub>Dark Mode\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n## Why Motrix Next?\n\n> [!NOTE]\n> Motrix Next uses [Aria2 Next](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Faria2-next) as its download engine, a maintained fork of aria2 modernized for current toolchains, dependencies, and release workflows. It preserves the original aria2 interfaces while modernizing the architecture and fixing long-standing bugs and upstream issues.\n\n[Motrix](https:\u002F\u002Fgithub.com\u002Fagalwood\u002FMotrix) by [agalwood](https:\u002F\u002Fgithub.com\u002Fagalwood) was one of the best open-source download managers available — clean UI, aria2-powered, cross-platform. It inspired thousands of users and developers alike.\n\nHowever, 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.\n\n### What we rebuilt\n\nMotrix Next is a ground-up rewrite — same download manager spirit, entirely new codebase.\n\n| Layer            | Motrix (Legacy)         | Motrix Next                         |\n| ---------------- | ----------------------- | ----------------------------------- |\n| **Runtime**      | Electron                | **Tauri 2** (Rust)                  |\n| **Frontend**     | Vue 2 + Vuex            | **Vue 3 Composition API + Pinia**   |\n| **UI Framework** | Element UI              | **Naive UI**                        |\n| **Language**     | JavaScript              | **TypeScript + Rust**               |\n| **Styling**      | SCSS + Element theme    | **Vanilla CSS + custom properties** |\n| **Engine Mgmt**  | Node.js `child_process` | **Tauri sidecar**                   |\n| **Build System** | electron-builder        | **Vite + Cargo**                    |\n| **Bundle Size**  | ~80 MB                  | **~20 MB**                          |\n| **Auto-Update**  | electron-updater        | **Tauri updater plugin**            |\n\n### Design & Motion\n\nThe 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.\n\nWhat changed is everything underneath. Every transition and micro-interaction has been carefully tuned to follow [Material Design 3](https:\u002F\u002Fm3.material.io\u002Fstyles\u002Fmotion\u002Foverview) motion guidelines:\n\n- **Asymmetric timing** — enter animations are slightly longer than exits, giving new content time to land while dismissed content leaves quickly\n- **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\n- **Spring-based modals** — dialogs use physically-modeled spring animations for a natural, responsive feel\n- **Consistent motion tokens** — all durations and curves are defined as CSS custom properties, ensuring a unified rhythm across 12+ components\n\n## Features\n\n- **Multi-protocol downloads** — HTTP, FTP, BitTorrent, Magnet, `.torrent`, and Metalink tasks\n- **BitTorrent** — Selective file download, DHT, peer exchange, encryption controls, metadata caching, GeoIP peer flags, and tracker probing\n- **Browser extension integration** — Embedded Extension API with independent authentication, download confirmation, smart auto-submit, filename hints, referer\u002Fcookie forwarding, and real-time controls ([Chrome Web Store](https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fofeajdebdjajhkmcmamagokecnbephhl) · [Edge Add-ons](https:\u002F\u002Fmicrosoftedge.microsoft.com\u002Faddons\u002Fdetail\u002Floojjolhejmakcdlbidigoniobfanjlb))\n- **Safe filename handling** — Content-Disposition, RFC 2047, non-UTF-8, percent-encoded, and extensionless URL resolution with path traversal sanitization\n- **Download organization** — Favorite and recent folders, optional file-type categorization, stale-record cleanup, and completed history backed by SQLite\n- **Concurrent downloads** — Independent controls for active tasks, HTTP connections per server, segments per file, and BT peer limits\n- **Speed control** — Global and per-task upload\u002Fdownload limits with day-of-week and time-of-day scheduling\n- **System integration** — Tray operation, optional tray speed display, macOS Dock badge\u002Fprogress, protocol handlers for `magnet:\u002F\u002F`, `thunder:\u002F\u002F`, and `motrixnext:\u002F\u002F`\n- **Lightweight mode** — Destroys the WebView on minimize-to-tray while Rust keeps the engine, task monitor, notifications, history, and extension routing alive\n- **Notifications and power options** — Native task start\u002Fcomplete\u002Ffailure notifications, keep-awake during downloads, and optional shutdown after completion\n- **Network controls** — Scoped proxy support for downloads, app updates, and tracker updates, plus system proxy detection\n- **Auto-update channels** — Stable, Beta, and Latest Across Channels policies with separate download and install phases\n- **Diagnostics** — Structured logs, exportable diagnostic ZIPs, database integrity checks, automatic DB rebuild, and Linux GPU rendering fallback\n- **Personalization** — Light\u002Fdark\u002Fsystem theme, 10 color schemes, 26 languages, and first-launch system language detection\n- **Lightweight bundle** — Tauri 2 + Rust backend with a ~20 MB application bundle\n\n## Installation\n\nDownload the latest release from [GitHub Releases](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next\u002Freleases).\n\n### macOS\n\n**Homebrew (recommended):**\n\n```bash\nbrew tap AnInsomniacy\u002Fmotrix-next\nbrew install --cask motrix-next\nxattr -cr \u002FApplications\u002FMotrixNext.app  # remove quarantine (app is unsigned)\n```\n\nOr download the `.dmg` installer from [Releases](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next\u002Freleases):\n\n| Architecture  | File                           |\n| ------------- | ------------------------------ |\n| Apple Silicon | `MotrixNext_x.x.x_aarch64.dmg` |\n| Intel         | `MotrixNext_x.x.x_x64.dmg`     |\n\nThe `.app.tar.gz` macOS artifacts are published for the Tauri updater and Homebrew cask automation.\n\n> [!TIP]\n> If macOS says the app is **\"damaged and can't be opened\"**, see the [FAQ below](#faq).\n\n### Windows\n\nDownload the installer from [Releases](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next\u002Freleases):\n\n| Architecture   | File                               |\n| -------------- | ---------------------------------- |\n| x64 (most PCs) | `MotrixNext_x.x.x_x64-setup.exe`   |\n| ARM64          | `MotrixNext_x.x.x_arm64-setup.exe` |\n\nRun the installer — it takes about 10 seconds, no reboot required.\n\n### Linux\n\nDownload from [Releases](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next\u002Freleases):\n\n**Debian \u002F Ubuntu:**\n\n```bash\nsudo dpkg -i MotrixNext_x.x.x_amd64.deb\n```\n\n**Fedora \u002F RHEL:**\n\n```bash\nsudo rpm -i MotrixNext-x.x.x-1.x86_64.rpm\n```\n\n**Other distributions** — use the `.AppImage`:\n\n```bash\nchmod +x MotrixNext_x.x.x_amd64.AppImage\n.\u002FMotrixNext_x.x.x_amd64.AppImage\n```\n\nAll formats are available for both x64 and ARM64.\n\n## FAQ\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>macOS says the app is \"damaged and can't be opened\"\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n\u003Cbr>\n\nThis app is not code-signed. Open Terminal and run:\n\n```bash\nxattr -cr \u002FApplications\u002FMotrixNext.app\n```\n\nThis removes the quarantine flag that macOS Gatekeeper applies to unsigned apps. If you installed via Homebrew with `--no-quarantine`, you won't hit this issue.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Why is there no portable version?\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n\u003Cbr>\n\nMotrix Next relies on [Aria2 Next](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Faria2-next) as its download engine and launches it through a bundled `motrix-next-engine` sidecar process at runtime. The sidecar binaries are built and released from the aria2-next repository for all 6 supported desktop targets. This architecture means:\n\n- The **Aria2 Next sidecar binary must exist alongside the main executable** — it cannot be embedded into a single `.exe`.\n- **Deep links** (`magnet:\u002F\u002F`, `thunder:\u002F\u002F`) and **file associations** (`.torrent`) require Windows registry entries that only an installer can configure.\n- The **auto-updater** needs a known installation path to replace files in place.\n\nThese are fundamental constraints of the Tauri sidecar model and the Windows operating system, not limitations we can work around. Notable Tauri projects like [Clash Verge Rev](https:\u002F\u002Fgithub.com\u002Fclash-verge-rev\u002Fclash-verge-rev) (80k+ stars) previously shipped portable builds but [discontinued them](https:\u002F\u002Fclash-verge.com\u002F) due to the same set of issues.\n\nWe provide **NSIS installers** for Windows — lightweight (~20 MB), fast to install, and fully featured.\n\n\u003C\u002Fdetails>\n\n## Code Signing\n\nMotrix Next is **not code-signed** on macOS or Windows, so your browser or antivirus software may show a security warning when downloading or running the installer.\n\nThe app is fully open-source and every release binary is built automatically by [GitHub Actions CI](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next\u002Factions). For added peace of mind, you can always [build from source](#development).\n\n> [!NOTE]\n> See our [Code Signing Policy](docs\u002FCODE_SIGNING.md) and [Privacy Policy](docs\u002FPRIVACY.md).\n\n## Development\n\n### Prerequisites\n\n- [Rust](https:\u002F\u002Frustup.rs\u002F) (latest stable)\n- [Node.js](https:\u002F\u002Fnodejs.org\u002F) >= 22\n- [pnpm](https:\u002F\u002Fpnpm.io\u002F) 10.x, managed by the `packageManager` field in `package.json`\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Fmotrix-next.git\ncd motrix-next\n\n# Install frontend dependencies\npnpm install\n\n# Start development server (launches Tauri + Vite)\npnpm tauri dev\n\n# Build for production\npnpm tauri build\n```\n\n### Project Structure\n\n```\nmotrix-next\u002F\n├── src\u002F                        # Frontend (Vue 3 + TypeScript)\n│   ├── api\u002F                    # aria2-compatible JSON-RPC client\n│   ├── components\u002F             # Vue components\n│   │   ├── about\u002F              #   About panel\n│   │   ├── common\u002F             #   Shared UI primitives\n│   │   ├── layout\u002F             #   Sidebar, speedometer, navigation\n│   │   ├── preference\u002F         #   Settings pages, update dialog\n│   │   ├── task\u002F               #   Task list, detail, add task\n│   │   └── tray\u002F               #   Tray action bridge\n│   ├── composables\u002F            # Reusable composition functions\n│   ├── router\u002F                 # Vue Router configuration\n│   ├── shared\u002F                 # Shared utilities & config\n│   │   ├── constants\u002F          #   Split constant modules\n│   │   ├── locales\u002F            #   26 language packs\n│   │   ├── utils\u002F              #   Pure utility functions (with tests)\n│   │   ├── types.ts            #   TypeScript interfaces\n│   │   ├── constants.ts        #   App constants & defaults\n│   │   └── configKeys.ts       #   Persisted config key registry\n│   ├── stores\u002F                 # Pinia state management (with tests)\n│   ├── styles\u002F                 # Global CSS custom properties\n│   └── views\u002F                  # Page-level route views\n├── src-tauri\u002F                  # Backend (Rust + Tauri 2)\n│   ├── src\u002F\n│   │   ├── aria2\u002F              #   Native Rust aria2 JSON-RPC client\n│   │   ├── commands\u002F           #   Tauri invoke handlers (config, engine, fs, etc.)\n│   │   ├── engine\u002F             #   Aria2 Next sidecar lifecycle (args, state, cleanup)\n│   │   ├── services\u002F           #   Runtime services (stat, speed, monitor, HTTP API, deep links)\n│   │   ├── db_guard.rs         #   SQLite health checks and rebuild guard\n│   │   ├── error.rs            #   AppError enum\n│   │   ├── gpu_guard.rs        #   Linux GPU compatibility guard\n│   │   ├── history.rs          #   SQLite history persistence\n│   │   ├── menu.rs             #   Native menu builder\n│   │   ├── tray.rs             #   System tray setup\n│   │   ├── upnp.rs             #   UPnP\u002FIGD port mapping\n│   │   └── lib.rs              #   Tauri builder & plugin registration\n│   ├── binaries\u002F               #   Aria2 Next sidecar binaries (6 platforms)\n│   └── migrations\u002F             #   SQLite schema migrations\n├── scripts\u002F                    # bump-version.sh, release.sh\n├── .github\u002Fworkflows\u002F          # CI (ci.yml) + Release (release.yml)\n└── website\u002F                    # Landing page (static HTML)\n```\n\n## Contributing\n\nPRs and issues are welcome! Please read the [Contributing Guide](docs\u002FCONTRIBUTING.md) and [Code of Conduct](docs\u002FCODE_OF_CONDUCT.md) before getting started.\n\n## Acknowledgements\n\n- [Motrix](https:\u002F\u002Fgithub.com\u002Fagalwood\u002FMotrix) by [agalwood](https:\u002F\u002Fgithub.com\u002Fagalwood) and all its contributors\n- [Aria2 Next](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002Faria2-next) — the maintained download engine at the core\n- Community translators who contributed 26 locale packs for worldwide accessibility\n\n## Sponsor\n\nBuilt in the hours I should've been writing my thesis — I'm a PhD student surviving on instant noodles 🍜\n\nThis app is not code-signed on macOS or Windows — Apple charges $99\u002Fyear, and a Windows Authenticode certificate costs $300–600\u002Fyear. That's a lot of instant noodles.\n\n[Buy me a coffee ☕](https:\u002F\u002Fgithub.com\u002FAnInsomniacy\u002FAnInsomniacy\u002Fblob\u002Fmain\u002FSPONSOR.md) — maybe one day I can afford those certificates, so antivirus software stops treating my app like a criminal 🥲\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=AnInsomniacy\u002Fmotrix-next&type=Date)](https:\u002F\u002Fstar-history.com\u002F#AnInsomniacy\u002Fmotrix-next&Date)\n\n## License\n\n[MIT](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT) — Copyright (c) 2025-present AnInsomniacy\n","Motrix Next 是一个全面重建的下载管理器，旨在提供更现代、高效的下载体验。它基于 Tauri 2（Rust）作为运行时环境，使用 Vue 3 Composition API 和 Pinia 进行前端开发，并采用 Naive UI 作为界面框架，整个项目用 TypeScript 编写，确保了代码质量和维护性。该项目的核心功能包括支持多种协议（如 HTTP(S)、FTP、BitTorrent 等）的下载任务管理和调度，同时通过 Aria2 Next 作为下载引擎，修复了原版中的许多长期存在的问题。Motrix Next 适合需要跨平台（macOS、Windows、Linux）高效管理下载任务的用户或开发者使用，特别是对开源软件有需求的技术爱好者。",2,"2026-06-11 03:50:48","high_star"]