[作品分享] 使用 Electron + aria2 开发的桌面下载工具Motrix - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
XanaduV
V2EX    程序员

[作品分享] 使用 Electron + aria2 开发的面下载工具Motrix

  •  9
     
  •   XanaduV
    agalwood 2018-12-29 23:00:16 +08:00 26487 次点击
    这是一个创建于 2529 天前的主题,其中的信息可能已经有所发展或是发生改变。
    App Icon

    作为一个兴趣使然的桌面应用开发者,搬砖之余开发了个桌面下载工具 Motrix,支持 HTTP、FTP、BT、磁力链、百度云盘等资源下载,欢迎大家下载使用:)

    应用下载地址:https://motrix.app

    官网提供的是编译好的 macOS 版本,有兴趣也可以自己克隆代码编译,欢迎 Star 和 Fork !

    https://github.com/agalwood/Motrix

    应用界面预览

    Motrix UI

    108 条回复    2020-02-18 15:01:26 +08:00
    1  2  
    minamike
        1
    minamike  
       2018-12-29 23:17:55 +08:00   1
    真好看 不知道能不能适配一下 Mojave 的暗色模式 = =
    natforum
        2
    natforum  
       2018-12-29 23:20:36 +08:00
    很漂亮
    luobo
        3
    luobo  
       2018-12-29 23:20:41 +08:00
    马克马克
    gnai
        4
    gnai  
       2018-12-29 23:30:08 +08:00 via Android
    mark
    BlackL
        5
    BlackL  
       2018-12-29 23:58:41 +08:00
    已 fork,支持一下 hhh
    xrr2016
        6
    xrr2016  
       2018-12-30 00:05:17 +08:00
    已 star
    lovestudykid
        7
    lovestudykid  
       2018-12-30 00:07:50 +08:00
    挺好看的,已 star,不过这种轮子太多了。
    提供个点子,不知道能不能内置浏览器,改进下载链接的抓取。
    huaxianyan
        8
    huaxianyan  
       2018-12-30 00:10:36 +08:00
    真好看,支持一下
    Archeb
        9
    Archeb  
       2018-12-30 00:22:28 +08:00
    官网好棒!
    kawkeye
        10
    kawkeye  
       2018-12-30 00:24:36 +08:00 via Android
    哎呦,不错哦
    Lax
        11
    Lax  
       2018-12-30 01:10:40 +08:00
    好棒!在楼主主页点水星真过瘾
    binux
        12
    binux  
       2018-12-30 01:13:42 +08:00 via Android   1
    @BlackL 已 fork 是什么鬼?你是打算二次开个还是怎么地?
    Yien
        13
    Yien  
       2018-12-30 08:22:53 +08:00
    hxhc
        14
    hxhc  
       2018-12-30 09:59:47 +08:00 via Android
    等一个全平台
    beginor
        15
    beginor  
       2018-12-30 10:03:52 +08:00 via Android   3
    Electron 太大了, 我是 alpine + aria + busybox httpd 做的 docker 镜像, 总共在 25m, 可以使用任意 aria web UI
    hugee
        16
    hugee  
       2018-12-30 10:33:07 +08:00 via Android   3
    看到 electron 掉头就跑
    hugee
        17
    hugee  
       2018-12-30 10:34:36 +08:00 via Android
    @beginor 分享一下可好?
    cjw1115
        18
    cjw1115  
       2018-12-30 10:48:26 +08:00
    比较好奇里面的 BT、磁力链解析相关的东西,楼主能给说说?
    XanaduV
        19
    XanaduV  
    OP
       2018-12-30 10:59:11 +08:00
    @minamike Mojave 的暗色模式在计划中,后续会支持

    @lovestudykid 我原先的计划是上架苹果的 App Store 的,因为审核的原因功能需要有所取舍,和果子斗智斗勇了半个月,木有成功。

    @beginor 其他几个 aria2 的 web UI 我也用过,个人感觉比较丑,所以自己撸了一个。结合 Electron,可以方便地做一些单纯 web UI 做不了的功能,比如:在文件夹中显示文件、删除无用任务时删除残留文件等
    loading
        20
    loading  
       2018-12-30 11:08:21 +08:00
    装上用了一下,还不错,用起来不命令行好看些。

    ui 上还需要打磨。当然,这是 css 范畴了,哈哈。
    w1287928345
        21
    w1287928345  
       2018-12-30 11:52:55 +08:00 via Android
    有质感,等全平台
    zst
        22
    zst  
       2018-12-30 11:53:38 +08:00 via Android
    期待 win 版
    glaucus
        23
    glaucus  
       2018-12-30 12:23:59 +08:00 via iPhone
    好看!感谢!
    koalli
        24
    koalli  
       2018-12-30 12:38:45 +08:00
    磁力链下载不能用提示错误怎么办。。。
    ljsh093
        25
    ljsh093  
       2018-12-30 12:50:42 +08:00
    楼主大佬,等一个 win 适配+浏览器监控,做到完美了呀
    wwek
        26
    wwek  
       2018-12-30 12:54:04 +08:00
    mark
    Icemic
        27
    Icemic  
       2018-12-30 12:54:12 +08:00 via Android
    好看
    tadelemon
        28
    tadelemon  
       2018-12-30 12:55:55 +08:00 via iPhone
    不知可以加速吗?
    zhfsxtx
        29
    zhfsxtx  
       2018-12-30 13:03:23 +08:00
    NICE WORK
    zhfsxtx
        30
    zhfsxtx  
       2018-12-30 13:07:11 +08:00
    这个可以支持下载比特币的区块数据吗
    poorcai
        31
    poorcai  
       2018-12-30 13:23:10 +08:00 via iPhone
    有 Windows 嘛
    Lagrange
        32
    Lagrange  
       2018-12-30 13:54:03 +08:00
    Everything is electronlizing.
    winglight2016
        33
    winglight2016  
       2018-12-30 15:09:53 +08:00
    请问一下,百度云下载是否能够成功?之前试了几个导出百度云到 aria2 的,都是在下载时提示 403 资源都已经是共享出来,无密码的,也不知道是不是已经被封了?
    unique
        34
    unique  
       2018-12-30 16:44:21 +08:00
    很棒(^-^)V ~ 帮你在 https://t.me/github_cn 推了
    greatx
        35
    greatx  
       2018-12-30 17:12:14 +08:00
    挺漂亮的
    macroideal
        36
    macroideal  
       2018-12-30 17:27:10 +08:00
    Uncaught Exception:
    Error: spawn /Volumes/Motrix\ 1.0.5/Motrix.app/Contents/Resources/engine/aria2c ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:229:19)
    at onErrorNT (internal/child_process.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    hubahuba
        37
    hubahuba  
       2018-12-30 17:42:16 +08:00
    官网满分 ~
    xupefei
        38
    xupefei  
       2018-12-30 17:46:20 +08:00   1
    @cjw1115 #18 aria2 自带的功能。
    Geekgogo
        39
    Geekgogo  
       2018-12-30 17:57:09 +08:00   1
    已下载,支持一波
    hzw94
        40
    hzw94  
       2018-12-30 18:06:10 +08:00
    好用满分
    agoodob
        41
    agoodob  
       2018-12-30 18:07:12 +08:00
    漂亮,厉害
    beginor
        42
    beginor  
       2018-12-30 18:35:27 +08:00 via Android
    @hugee 好,稍后上传到 github,就几句代码的事儿
    gitopen
        43
    gitopen  
       2018-12-30 18:36:30 +08:00 via Android/span>
    反馈一下,刚才随便找了一个近期的电影磁链,然后种子解析不出来啊;手动下载种子后,下载没速度……
    beginor
        44
    beginor  
       2018-12-30 18:37:06 +08:00 via Android
    @XanaduV 那确实是, 我是一只开着 docker 的,所以就顺便跑 aria 了,我只想要一个安静的下载工具而已
    XanaduV
        45
    XanaduV  
    OP
       2018-12-30 18:42:27 +08:00
    @koalli 报错信息贴一下到 github issue 吧,我刚试了一下是能添加成功的。不过下磁力速度一般般的,这东西下 du 盘才是神器。

    @zhfsxtx 不懂。。。

    @zst @ljsh093 @poorcai Windows 版还没测试,我得装虚拟机搞~。~

    @winglight2016 配合 chrome 扩展可以的,使用文档: https://motrix.app/extensions/baidu

    @macroideal 不要在 dmg 里直接使用,把 app 移到「应用程序」再打开。

    @unique 感谢:)
    xupefei
        46
    xupefei  
       2018-12-30 19:18:00 +08:00
    提个意见,关于磁盘预分配。其实 mac 是支持 file-allocation=trunc 的,你可以试试看

    另外,aria2c 最新的 1.34 版进一步改进了磁盘分配“ MacOS: Allocate once (apfs compat)”: https://github.com/aria2/aria2/releases/tag/release-1.34.0
    xupefei
        47
    xupefei  
       2018-12-30 19:23:03 +08:00
    另外您修改后的 BaiduExporter 为什么不上架 Chrome 商店?是政策不允许吗?
    如果政策没问题的话。我有商店的开发者账号,可以帮忙上架。需要吗?
    XanaduV
        48
    XanaduV  
    OP
       2018-12-30 20:01:18 +08:00
    @xupefei 收到,现在内置 aria2c 是 1.33.1 版本的,下个版本升级。BaiduExporter 上架 Chrome 商店的事还没时间捣腾:P
    BlackL
        49
    BlackL  
       2018-12-30 21:03:32 +08:00
    @binux 咋就想重开一个了,我 fork 下来看看有没有能够帮忙实现或改进的功能不行吗
    xxgirl2
        50
    xxgirl2  
       2018-12-30 21:32:10 +08:00
    简单搜了一下似乎没找到 --no-conf 这个选项
    比较重度的用户都会把各种设置写在 ~/.aria2/aria2.conf 里,不加上面的选项直接启动会冲突,比如端口号占用、继续意料之外的任务、错误的下载路径等
    如果我看错了我表示抱歉
    JCZ2MkKb5S8ZX9pq
        51
    JCZ2MkKb5S8ZX9pq  
       2018-12-30 21:49:12 +08:00
    官网的确不错啊,又学到不少 css 用法,赞。
    XanaduV
        52
    XanaduV  
    OP
       2018-12-30 21:49:25 +08:00
    @xxgirl2 Motrix 里内置了 aria2c,应用启动时会以子进程的形式启动,所以并不依赖外部的 aria2 配置,rpc 端口号我改成了 16800,所以一般不会和默认配置的 aria2 冲突。
    elekids
        53
    elekids  
       2018-12-30 22:02:43 +08:00
    非常感谢作者辛勤努力,希望作者能够坚持不断打磨更新这个工具
    Chan6
        54
    Chan6  
       2018-12-30 22:19:41 +08:00 via iPhone
    战略性 mark,感谢楼主!
    winglight2016
        55
    winglight2016  
       2018-12-30 22:22:57 +08:00
    @XanaduV 我这里从百度盘导出 aria2 是没有问题的,但是就是无法下载,403 错误,这个 lz 确定没问题吗?
    UnknownR
        56
    UnknownR  
       2018-12-30 22:33:11 +08:00
    感谢楼主,工具蛮好看的,风格看起来像 margin note 3,加油,已 star
    glues
        57
    glues  
       2018-12-30 22:47:21 +08:00
    不错,感谢
    Yucklys
        58
    Yucklys  
       2018-12-31 00:35:25 +08:00 via iPhone
    感谢,自己在 ubuntu 上编译了一个,感觉焕然一新,现在看原先的 uget 已经看不下去了。已 star !
    Techzero
        59
    Techzero  
       2018-12-31 10:58:29 +08:00 via Android
    我自己的 win 版还没写完(也是 Electron+Aria2),就看到你这个了,界面差距太大,有点不想写了
    br00k
        60
    br00k  
       2018-12-31 11:00:09 +08:00
    不错不错。支持一下
    fetich
        61
    fetich  
       2018-12-31 11:27:23 +08:00
    楼主,有没有管理其他端 aria2 的功能?新增下这个功能?
    XanaduV
        62
    XanaduV  
    OP
       2018-12-31 11:43:11 +08:00 via iPhone
    @Techzero 不要放弃,从头到尾做出来之后,你会有不少收获的,加油

    @fetich 开发的时候就考虑过,现在的代码对 electron 的耦合有点多,还有种做法就是分离出一个独立的纯 web 版
    Techzero
        63
    Techzero  
       2018-12-31 12:31:09 +08:00


    @XanaduV 大概长这样,基本功能才完成,还在做设置选项
    azh7138m
        64
    azh7138m  
       2018-12-31 12:33:42 +08:00 via Android
    @fetich 我推荐 https://github.com/jae-jae/Camtd

    这种轮子我一个月能看到一个,比如 https://github.com/alanzhangzm/Photon
    fetich
        65
    fetich  
       2018-12-31 12:41:55 +08:00
    @XanaduV 纯 web 版放浏览器里有限制,跨域、可能存在的强制 https 连接等,用起来不舒服。
    如果在这个软件除了能管理绑定的 aria2,也能通过 RPC 管理 NAS 的 aria2,那就太棒了!
    fetich
        66
    fetich  
       2018-12-31 12:46:13 +08:00
    @azh7138m 这个是 ariang 的二次开发吧(原作者也推出过 electron 版本)。
    目前我用的也是基于 ariang,根据自己的喜好修改了部分。
    azh7138m
        67
    azh7138m  
       2018-12-31 12:52:52 +08:00 via Android
    @fetich 是。
    插件可以避免你上面说的问题
    不受同源策略限制,有 file api,能管理本地的也能管理远端的
    Eigen64
        68
    Eigen64  
       2018-12-31 13:11:59 +08:00
    工具是不错,但是我觉得下载工具领域现在的一个最大问题是很多 BT/Magnet 死链都被 百度云 /迅雷 缓存了,以至于这两个东西居然成了具有垄断地位的产品。
    xmsz
        69
    xmsz  
       2018-12-31 15:09:58 +08:00
    非常感谢分享
    zj9495
        70
    zj9495  
       2018-12-31 15:58:33 +08:00
    好看
    hxhc
        71
    hxhc  
       2018-12-31 19:20:20 +08:00 via Android
    linux 下编译了一下,我这个从来没有 npm 的人,也一步成功了效果很好,编译出来的竟然还有 appimage 和 snap 包,感谢大佬
    nextone
        72
    nextone  
       2018-12-31 21:18:26 +08:00 via Android
    windows 有打算吗
    CodeDrift
        73
    CodeDrift  
       2018-12-31 21:26:49 +08:00
    请问怎么自定义 aria2 配置
    ichubei
        74
    ichubei  
       2018-12-31 22:57:37 +08:00
    下载速度很快,界面干净很好,希望继续优化改进。
    kylix
        75
    kylix  
       2019-01-01 09:54:32 +08:00
    看起来不错,mark 下
    youthfire
        76
    youthfire  
       2019-01-01 10:23:23 +08:00
    不错。清爽轻巧,开始试用中。
    XanaduV
        77
    XanaduV  
    OP
       2019-01-01 11:03:37 +08:00
    大家新年好\()/

    @Techzero 不错,加油哈~~~
    相比而言,Motrix 的风格比较性冷淡吧,各有特色:D

    @Eigen64 有啥好的办法突破么?

    @nextone Windows 版会有的,正在接入 AppVeyor 中...

    @hxhc Linux 的包后续也会用 CI 打包,被一个 AppImage 的大佬 [probonopd]( https://github.com/probonopd) 提 issue 要求提供 AppImage 包了。

    @Anybfans Motrix 内置的 aria2 的配置基本可用通过「偏好设置」修改,如果有自信想手动修改 aria2 配置,可以修改以下两个文件( macOS,其他系统类似,可通过偏好设置查看):
    ~/Library/Application Support/Motrix/user.json
    ~/Library/Application Support/Motrix/system.json
    beginor
        78
    beginor  
       2019-01-01 18:44:41 +08:00
    chn9207
        79
    chn9207  
       2019-01-02 00:58:14 +08:00 via iPhone
    mark
    hugee
        80
    hugee  
       2019-01-02 09:43:51 +08:00 via Android
    @beginor 谢谢
    XanaduV
        81
    XanaduV  
    OP
       2019-01-02 20:19:03 +08:00
    Motrix Windows 版已经发布,目前还是 pre-release,只在 github 提供下载:
    [https://github.com/agalwood/Motrix/releases]( https://github.com/agalwood/Motrix/releases)

    @zst @ljsh093 @poorcai @nextone

    @hxhc Linux 版也提供应用包了,地址同上。

    欢迎大家帮忙测试:P
    poorcai
        82
    poorcai  
       2019-01-02 20:30:48 +08:00
    多谢!!
    nextone
        83
    nextone  
       2019-01-02 20:59:50 +08:00 via Android
    @XanaduV 多谢。晚上回去就下载。
    acgost
        84
    acgost  
       2019-01-03 11:57:25 +08:00
    @XanaduV 新手请问怎么接管 chrome 的默认下载?
    nextone
        85
    nextone  
       2019-01-03 12:05:36 +08:00 via Android
    @acgost 有很多扩展直接 aria 接管
    acgost
        86
    acgost  
       2019-01-03 14:02:52 +08:00
    @nextone 可以推荐几个么?大概叫什么名字?第一次用,不太了解,谢谢
    wzw
        87
    wzw  
       2019-01-11 17:26:12 +08:00
    支不支持 ed2k://|file|zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso|630237184|EC51916C9D9B8B931195EE0D6EE9B40E|/
    huaxianyan
        88
    huaxianyan  
       2019-01-13 15:43:33 +08:00
    因为常用的 Windows 有多台,试用了开盖即食的 Windows 版,效果很好,有几个小建议希望楼主可以考虑一下

    1.下载会话记录这个每台机器都不一样,但是软件本身的设置使用习惯基本是一致的,希望能否考虑把相关配置文件放在软件所在目录(或增加相应选项?)?

    2.虽然可以设置默认下载路径,但是一般来说会有几个其他常用的下载路径,希望可以在放在其他路径后可以作为下拉可选项来选择(或在默认下载路径后增加设置常用下载路径的选项,可供下载时选择)。

    3.aria2c.exe 在缓存里释放,每次的路径都不一样,导致每次打开软件都要确认一次防火墙,乃至防火墙管理列表里有大量的 aria2c.exe ……这点特别希望楼主能够进行优化。

    最后感谢楼主带来的这个软件,用得很开心!
    huaxianyan
        89
    huaxianyan  
       2019-01-13 15:48:12 +08:00
    补充一点,如果可以的话,有选项能够让程序关闭后存放在托盘里

    毕竟 Electron 的特点就是启动慢嘛……
    XanaduV
        90
    XanaduV  
    OP
       2019-01-17 11:32:20 +08:00
    @huaxianyan 感谢你的建议
    1. 配置文件放应用目录里缺点也是显而易见的,像 macOS 那种应用覆盖安装的方式,你修改过的配置直接就覆盖没了,所以把配置放到了用户数据目录。
    2. 目前默认下载路径的设置其实也是之前提审 Mac App Store 时沙箱化妥协的产物,Download 目录的权限理论上比较好申请,音乐和视频目录不好说,这个可以优化下吧
    3. 释放缓存的问题我明白你的意思了,这个我想想办法吧~~你是不是用的绿色免安装版本?
    4. 托盘图标的功能已经加到需求池了,待开发:P
    huaxianyan
        91
    huaxianyan  
       2019-01-17 12:03:41 +08:00
    @XanaduV
    用的是 Windows 的绿色免安装版本,放在 Dropbox 里以供多台设备使用
    billyjeans
        92
    billyjeans  
       2019-01-24 20:13:53 +08:00
    baidupan 下载奇快,但是文件名好像不太对?
    feikeq
        93
    feikeq  
       2019-01-29 13:59:19 +08:00
    对比了下讯雷,还是讯雷比 Motrix 好用啊..
    XanaduV
        94
    XanaduV  
    OP
       2019-01-29 19:55:36 +08:00 via iPhone
    kyzhdraq
        95
    kyzhdraq  
       2019-01-30 13:22:23 +08:00
    作者你好 @XanaduV,这个怎么才能接管 chrome 默认下载啊?我试了用插件 YAAW FOR CHROME 之类的都提示连不上 PRC 服务器。
    XanaduV
        96
    XanaduV  
    OP
       2019-01-30 17:41:45 +08:00
    @kyzhdraq Motrix 内置 aria2 的 RPC 端口是 16800
    leonxing
        97
    leonxing  
       2019-02-23 02:25:55 +08:00
    更新客户端和 baidu 插件后,百度网盘里点击 mo 下载后出现正在获取下载地址后就没了,无法启动下载……
    xuanyuanaosheng
        98
    xuanyuanaosheng  
       2019-02-26 15:41:55 +08:00
    会出手机端的么?
    internelp
        99
    internelp  
       2019-03-04 12:09:05 +08:00
    楼主你好,这类下载工具在完全退出后再打开就看不到以前的任务了,是什么原因呢?
    dxppp
        100
    dxppp  
       2019-03-07 12:03:53 +08:00 via Android
    少数派在知乎专栏推荐了
    https://zhuanlan.zhihu.com/p/57798297

    不过没在他们自己网站找到
    如果作者可以稍微和他们沟通估计可以有更多曝光度
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4440 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 04:05 PVG 12:05 LAX 20:05 JFK 23:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86