V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
XanaduV
V2EX  ›  程序员

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

  •  9
     
  •   XanaduV ·
    agalwood · 2018-12-29 23:00:16 +08:00 · 24958 次点击
    这是一个创建于 2156 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    反馈一下,刚才随便找了一个近期的电影磁链,然后种子解析不出来啊;手动下载种子后,下载没速度……
    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 有打算吗
    Anybfans
        73
    Anybfans  
       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   ·   实用小工具   ·   932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:35 · PVG 05:35 · LAX 13:35 · JFK 16:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.