• 请不要在回答技术问题时复制粘贴 AI 生成的内容
XanaduV
V2EX  ›  程序员

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

  •  9
     
  •   XanaduV ·
    agalwood · Dec 29, 2018 · 28911 views
    This topic created in 2870 days ago, the information mentioned may be changed or developed.
    App Icon

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

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

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

    https://github.com/agalwood/Motrix

    应用界面预览

    Motrix UI

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

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

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

    ui 上还需要打磨。当然,这是 css 范畴了,哈哈。
    w1287928345
    w1287928345
    Dec 30, 2018 via Android
    21
    有质感,等全平台
    angles6645
    angles6645
    Dec 30, 2018 via Android
    22
    期待 win 版
    glaucus
    glaucus
    Dec 30, 2018 via iPhone
    23
    好看!感谢!
    koalli
    koalli
    Dec 30, 2018
    24
    磁力链下载不能用提示错误怎么办。。。
    ljsh093
    ljsh093
    Dec 30, 2018
    25
    楼主大佬,等一个 win 适配+浏览器监控,做到完美了呀
    wwek
    wwek
    Dec 30, 2018
    26
    mark
    Icemic
    Icemic
    Dec 30, 2018 via Android
    27
    好看
    tadelemon
    tadelemon
    Dec 30, 2018 via iPhone
    28
    不知可以加速吗?
    zhfsxtx
    zhfsxtx
    Dec 30, 2018
    29
    NICE WORK
    zhfsxtx
    zhfsxtx
    Dec 30, 2018
    30
    这个可以支持下载比特币的区块数据吗
    bytewalk
    bytewalk
    Dec 30, 2018 via iPhone
    31
    有 Windows 嘛
    Lagrange
    Lagrange
    Dec 30, 2018
    32
    Everything is electronlizing.
    winglight2016
    winglight2016
    Dec 30, 2018
    33
    请问一下,百度云下载是否能够成功?之前试了几个导出百度云到 aria2 的,都是在下载时提示 403 ——资源都已经是共享出来,无密码的,也不知道是不是已经被封了?
    unique
    unique
    Dec 30, 2018
    34
    很棒(^-^)V ~ 帮你在 https://t.me/github_cn 推了
    greatx
    greatx
    Dec 30, 2018
    35
    挺漂亮的
    macroideal
    macroideal
    Dec 30, 2018
    36
    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
    hubahuba
    Dec 30, 2018
    37
    官网满分 ~
    xupefei
    xupefei
    Dec 30, 2018❤️1
    38
    @cjw1115 #18 aria2 自带的功能。
    Geekgogo
    Geekgogo
    Dec 30, 2018❤️1
    39
    已下载,支持一波
    hzw94
    hzw94
    Dec 30, 2018
    40
    好用满分💯
    agoodob
    agoodob
    Dec 30, 2018
    41
    漂亮,厉害
    beginor
    beginor
    Dec 30, 2018 via Android
    42
    @hugee 好,稍后上传到 github,就几句代码的事儿
    gitopen
    gitopen
    Dec 30, 2018 via Android
    43
    反馈一下,刚才随便找了一个近期的电影磁链,然后种子解析不出来啊;手动下载种子后,下载没速度……
    beginor
    beginor
    Dec 30, 2018 via Android
    44
    @XanaduV 那确实是, 我是一只开着 docker 的,所以就顺便跑 aria 了,我只想要一个安静的下载工具而已
    XanaduV
    XanaduV
    OP
    Dec 30, 2018
    45
    @koalli 报错信息贴一下到 github issue 吧,我刚试了一下是能添加成功的。不过下磁力速度一般般的,这东西下 du 盘才是神器。

    @zhfsxtx 不懂。。。

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

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

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

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

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

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


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

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

    @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
    chn9207
    chn9207
    Jan 2, 2019 via iPhone
    79
    mark
    hugee
    hugee
    Jan 2, 2019 via Android
    80
    @beginor 谢谢
    XanaduV
    XanaduV
    OP
    Jan 2, 2019
    81
    Motrix Windows 版已经发布,目前还是 pre-release,只在 github 提供下载:
    [https://github.com/agalwood/Motrix/releases]( https://github.com/agalwood/Motrix/releases)

    @zst @ljsh093 @poorcai @nextone

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

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

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

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

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

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

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

    不过没在他们自己网站找到
    如果作者可以稍微和他们沟通估计可以有更多曝光度
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   683 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 200ms · UTC 21:30 · PVG 05:30 · LAX 13:30 · JFK 16:30
    ♥ Do have faith in what you're doing.