A full-featured download manager. Original from Motrix, which is not actively maintained now.
Codex for debugging complex issue
A full-featured download manager. Original from Motrix, which is not actively maintained now.
Codex for debugging complex issue
v0.1.2: Supported multi-thread download. See devlogs.
v0.1.2, supporting spliting the task to multiple threads.
Had a hard time implementing this becausereqwest have no native method for multi-thread, I have to build the wheels on my own. So the idea is fetch the file size with the metadata first and split it, and then fire http requests. At the same time keeping a .chunk file so any paused task can be resumed
Log in to leave a comment
Before on v0.1.0, we have a âuseableâ json-rpc endpoint, that, does the job. It support plugins like YAAW, but it does not have a WebSocket endpoint that support apps like Aria 2 Explorer.
Motrix-Next is born to provide best compatibility and performance, thatâs why, in this ship, v0.1.1, I added the FULL json-rpc implementation (everything works. except aria2-specific features).
Also, I increase the coverage of cargo test, that could help future development by alarming any unintended changes, or side effect of code refactoring.
Added more test to increase the test coverage, this helps future development by ringing any unintended changes.
Log in to leave a comment
I made a rpc endpoint before, but it does not work with apps like aira2 explorer.
I have implemented a new WebSocket endpoint, so it work exactly same as before (when it was using aira2)
One problem I encountered is that the file cannot be automatically deleted when I delete task, if the task is added via json-rpc, and I found out that in update_progress, it pass the path as a raw URL, resolving the path with task.dir fix the issue
Log in to leave a comment
Did a lot of work to migrated aria2 to native rust, this improve performance, memory usage, cpu usage and bundle size! I also made a site for motrix-next at https://motrix-next.vercel.app
Hope you like it!
Fixed linter and type errors, nothing special
Log in to leave a comment
Support M3U8 with ffmpeg .ts -> mp4
Log in to leave a comment
Implemented SFTP, also fixed torrent seed ratio not applying
Log in to leave a comment
Completed RSS implementation, filter/order setting in task list also works now
Log in to leave a comment
Simplify some css, and re-do the ed2k engine (thats older than me). Added category path so downloaded items can automatically go to their preferred folders. Also it can save credentials automatically now. I have also refactored some logic and moved some from vue to rust to prevent lag
Log in to leave a comment
Finished off torrent and optimize its performance, now deleting task/adding task would not block the UI
Log in to leave a comment
Moved torrent to librqbit⊠there are still some bugs like task list spliting, will fix later today
Log in to leave a comment
Added ed2k support
Log in to leave a comment
migrated aria2 to reqwest, which is pure rust, that could optimize memory performance, also aria2 has not been updated for a few years already, so I think its better to move away from that
Log in to leave a comment
v0.0.4 Alpha release!!!
In this version, I moved most of the logic from Vue front end to Tauri Rust back end to improve the performance.
Torrent downloading is also optimized by adding a âfile explorerâ view, and large torrent are handled better with rust now, users should be able to download large torrent (also with file structure) quite smoothly.
I also modified aria2 code to support up to 128 splits, which could increase download speed comparing to default 16 splits.
Also, there is a new âaria2c cli flagsâ options in preference in settings now which allow users to tweak the aria2c settings.
Other new features:
Finally, bug fixes in this version:
Minor changes:
Log in to leave a comment
Today, we:
Log in to leave a comment
Added graph to task details
Log in to leave a comment
Fixed:
Log in to leave a comment
Fixed the tray localization not following language settings, and remove uPnP settings from preference (not supported in aria2c)
I am aware that the app freezes when a large torrent (~10mb) is provided, thats what I will be working on tonight
Log in to leave a comment
Motrix is a full-featured download manager, in the past week, I focused on making it shippable across platforms (and make it reliable), not just runnable locally
I automated aria2 asset handling so now we sync binaries from the latest upstream release metadata, verify checksums, write version metadata, and fail CI early if required binaries or aria2.conf files are missing.
And I also moved electron to tauri, which provides less memory comsumption, and a smaller bundle size (rust powered!)
On runtime behavior, I added no-sleep support while downloads are active, with a plugin-first path and Rust fallbacks on macOS, Linux, and Windows (Thatâs probably all platforms). The app now cleans up inhibit state on exit. I also improved config handling for open-at-login (including rollback on save failure), and the engine now skips embedded aria2 startup when rpc-host points to an external host.
On the UI side, I made locale loading lazy and ensured language initialization completes before mounting, added tracker source caching with TTL plus in-flight request deduplication, and improved tray behavior with optional speed text and progress bar controls. Also improved the consistency (e.g. border-radius) among the UI
Today was mostly reliability and behavior fixes, with a few UI upgrades
tauri-plugin-nosleep, with Rust fallbackopen-at-login is now synced with OS autostart state.read_binary_file so dropped file paths can be loadedSelectTorrent.vue with an in-renderer bencode parserchangeGlobalOption, startup-only ones trigger engine restart64 to 16 (Original aria2c)file:// to detected resource tagsLog in to leave a comment
Motrix is the downloader everyone loved - however it is left unmaintained for three years already.
What Im doing is basically a huge modernization and some new features, left in the original projectâs FRs.
What has been done:
Log in to leave a comment