V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
monkeyWie
V2EX  ›  分享创造

🎉 Gopeed 下载器 v1.1.0 发布,支持 HTTP、BT 协议,全平台可用并且开源免费

  •  5
     
  •   monkeyWie ·
    monkeyWie · 2022-11-08 10:26:36 +08:00 · 9045 次点击
    这是一个创建于 748 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简介

    Gopeed(全称 Go Speed)是一个 Go + Flutter 开发的下载器,目前支持的平台有:

    • windows
    • macos
    • linux
    • android
    • web
    • docker
    • 命令行工具

    Github: https://github.com/monkeyWie/gopeed

    ps: 没有 ios 是因为 bt 协议不能上架应用市场,后面如果有需求的话可考虑在 testflight 上发行

    特性

    主要特性有:

    • HTTP+HTTPS 多协程下载
    • Torrent 种子下载
    • Magnet 协议下载
    • Seed, DHT, PEX, uTP, Webtorrent, Upnp
    • 国际化
    • 暗黑主题

    界面截图

    • mac

    • android

    • web

    后续计划

    立下 flag:

    • 支持边下边播
    • 支持 DLAN 投屏
    • 开放插件系统
    • 等等

    然后要感谢 @Trim21 给我提的第一个 PR ,我的目标就是做一个 Modern Downlader,然后干死吸血雷(虽然不太可能,但是目标还是要有的),各位 v2er 如果有兴趣的话,欢迎来一起建设🚀🚀🚀

    最后一定要赞下 Github Action,它真的 我哭死:

    80 条回复    2024-01-11 13:29:13 +08:00
    VBk
        1
    VBk  
       2022-11-08 10:38:37 +08:00
    我是支持这个,但是吧,你会发现现在大部分国内都没人做种,而且很多人没公网 IP 。bt 速度没速度的
    root01
        2
    root01  
       2022-11-08 10:44:20 +08:00
    bt 下载不咋地呢
    karlxu
        3
    karlxu  
       2022-11-08 10:54:19 +08:00
    mac ,12.6 , 打开提示 包损坏了,重新下载也不行
    monkeyWie
        4
    monkeyWie  
    OP
       2022-11-08 10:57:07 +08:00
    @karlxu #3 arm 还是 amd 版本的?
    karlxu
        5
    karlxu  
       2022-11-08 10:58:47 +08:00
    @monkeyWie #4
    2 个包都试过了,都打不开
    killva4624
        6
    killva4624  
       2022-11-08 10:59:45 +08:00
    UP 考虑支持 M3U8 下载吗?
    ShinichiYao
        7
    ShinichiYao  
       2022-11-08 11:00:22 +08:00
    不支持 FTP 协议?
    monkeyWie
        8
    monkeyWie  
    OP
       2022-11-08 11:05:46 +08:00
    @ShinichiYao #7 FTP 还不支持,感觉 FTP 不太需要下载器来加速吧,如果需要的人多可以加上
    monkeyWie
        9
    monkeyWie  
    OP
       2022-11-08 11:06:39 +08:00
    @karlxu 你是 m1 的 cpu 还是非 m1 的啊,我这边是 m1 的 mac 测试了 arm 的包是没问题的
    monkeyWie
        10
    monkeyWie  
    OP
       2022-11-08 11:09:29 +08:00   ❤️ 1
    @killva4624 #6 m3u8 后面会考虑做的,这种分小文件下载再合并有在规划中
    Radiation
        11
    Radiation  
       2022-11-08 11:12:16 +08:00
    Intel 芯片 Mac 13.0 使用 amd64 提示损坏
    monkeyWie
        12
    monkeyWie  
    OP
       2022-11-08 11:14:38 +08:00
    @karlxu @Radiation 看样子是 amd 的包不行,我得找个 amd 的 mac 试试了
    Thiece
        13
    Thiece  
       2022-11-08 11:23:27 +08:00
    @karlxu
    @Radiation
    损坏使用 「 sudo xattr -rd com.apple.quarantine xxx.app 」 命令行进行清理后就可以了
    v2tudnew
        14
    v2tudnew  
       2022-11-08 11:26:31 +08:00
    可以做个类似 JDownloader 的分析功能。
    monkeyzsf
        15
    monkeyzsf  
       2022-11-08 11:35:21 +08:00
    MacOS, 使用 web 版本,下载时指定目录为“~/Downloads/”,结果是在用户目录下生成了“~/Downloads/” 目录去下载(即 /Users/xxx/~/Downloads/),并没有解析“~” 为当前用户目录,而且每次刷新页面后设置里面的下载目录都没有保存成功,建议可以生成一个 yaml 或者 json 配置文件保存起来。
    monkeyWie
        16
    monkeyWie  
    OP
       2022-11-08 11:37:20 +08:00
    @monkeyzsf #15 路径解析没有做的,然后那个目录保存的我试试看,可以来 github 提个 issue 哈
    karlxu
        17
    karlxu  
       2022-11-08 11:50:30 +08:00
    @monkeyWie #9 你好,我是非 M1 的
    monkeyWie
        18
    monkeyWie  
    OP
       2022-11-08 12:06:35 +08:00
    @karlxu 你按 13 楼的方法试试看行吗
    Vitta
        19
    Vitta  
       2022-11-08 12:35:35 +08:00
    已经 star
    这个对比 Neat Download Manager 有啥优势吗
    haoxuexiaoyao
        20
    haoxuexiaoyao  
       2022-11-08 13:04:31 +08:00
    能不能出一个命令行版本
    1217950746
        21
    1217950746  
       2022-11-08 13:09:06 +08:00
    以后会做 Safari 之类的浏览器扩展吗
    Lentin
        22
    Lentin  
       2022-11-08 13:20:10 +08:00 via iPhone
    @VBk ipv6 普及了情况应该会好很多吧,不过可能需要路由器支持 v6 的防火墙规则…
    monkeyWie
        23
    monkeyWie  
    OP
       2022-11-08 13:36:36 +08:00 via Android
    @haoxuexiaoyao 有的,看看主页安装目录
    monkeyWie
        24
    monkeyWie  
    OP
       2022-11-08 13:43:38 +08:00
    @1217950746 #21 chrome 扩展可能会考虑,但是我觉得最好是开放接入文档,然后社区去驱动开发
    Radiation
        25
    Radiation  
       2022-11-08 14:27:19 +08:00
    @Thiece 可以了,谢谢~
    monkeyWie
        26
    monkeyWie  
    OP
       2022-11-08 15:03:37 +08:00
    @monkeyzsf #15 试试 v1.1.0 版本,刚刚发布的
    7Sasuke7L
        27
    7Sasuke7L  
       2022-11-08 16:07:26 +08:00 via iPhone
    可以做网页视频嗅探吗?这个是刚需,就像 IDM 一样。
    omcourseecust
        28
    omcourseecust  
       2022-11-08 16:38:01 +08:00
    试用了下 bt 和 http ,基本和 utorrent 和 aria2 一样快
    这下可以合二为一了
    太需要这样简洁干净的下载器了

    ljsh093
        29
    ljsh093  
       2022-11-08 16:52:57 +08:00
    看到干死迅雷,给 op 手动点赞
    DAPTX4869
        30
    DAPTX4869  
       2022-11-08 17:00:15 +08:00
    等个 openwrt 版本再尝鲜, linux 目前用 qbee 习惯了, 不想折腾
    tblx
        31
    tblx  
       2022-11-08 17:05:36 +08:00
    厉害
    lizhenda
        32
    lizhenda  
       2022-11-08 17:08:42 +08:00   ❤️ 1
    支持,干死迅雷!
    zhangkunkyle
        33
    zhangkunkyle  
       2022-11-08 17:24:40 +08:00
    unknown software exception 0x40000015,0xd45ce01f 。。。。win7 x64 ,稳定复现,要不要搞个 dump 或者用 windbg 之类的看看?
    monkeyWie
        34
    monkeyWie  
    OP
       2022-11-08 17:32:17 +08:00
    @omcourseecust 就是想做个 UI 简洁的下载器,现在市面上的大多数下载器真的有点丑了
    @zhangkunkyle flutter 不支持 win7 ,所以没办法兼容不了
    monkeyWie
        35
    monkeyWie  
    OP
       2022-11-08 17:40:04 +08:00
    @DAPTX4869 #30 是需要编译一个 mipsle 架构的 web 版吗
    zhangkunkyle
        36
    zhangkunkyle  
       2022-11-08 17:57:45 +08:00
    flutter 不支持 win7 ,好吧
    @monkeyWie
    lysS
        37
    lysS  
       2022-11-08 17:59:02 +08:00
    下载加速是啥原理?我只知道 http 支持分片的可以并发下载一下
    monkeyWie
        38
    monkeyWie  
    OP
       2022-11-08 18:03:00 +08:00
    @zhangkunkyle #36 你可以试试 web 版啊
    monkeyWie
        39
    monkeyWie  
    OP
       2022-11-08 18:05:35 +08:00
    @lysS #37 我发现掘金有篇文章讲我这个项目的原理,非常清晰你可以看看:
    https://juejin.cn/post/6979241352580038692
    a9k1n9
        40
    a9k1n9  
       2022-11-08 18:08:06 +08:00 via Android
    支持被调用吗?列如 via 调用 adm 接管下载。。。
    sammyM
        41
    sammyM  
       2022-11-08 18:58:51 +08:00
    支持干死迅雷,重建国内 BT 环境
    tao1991123
        42
    tao1991123  
       2022-11-08 19:29:55 +08:00
    wdhwg001
        43
    wdhwg001  
       2022-11-08 19:32:54 +08:00
    “狗逼的”
    monkeyWie
        44
    monkeyWie  
    OP
       2022-11-08 19:53:49 +08:00 via Android
    @a9k1n9 后面会开放接入文档的
    czyt
        45
    czyt  
       2022-11-08 20:20:13 +08:00
    web 版本 不能设置访问鉴权啊
    monkeyWie
        46
    monkeyWie  
    OP
       2022-11-08 20:24:48 +08:00 via Android
    @czyt 现在还不行,可以先反代下
    morize
        47
    morize  
       2022-11-08 21:35:22 +08:00
    > 没有 ios 是因为 bt 协议不能上架应用市场,后面如果有需求的话可考虑在 testflight 上发行

    OP 可以考虑提供 IPA 包给需要的用户自己签名使用~ 这个太赞了
    sypopo
        48
    sypopo  
       2022-11-08 22:00:20 +08:00
    docker 启动不了。提示 exec ./gopeed: no such file or directory
    monkeyWie
        49
    monkeyWie  
    OP
       2022-11-08 22:02:43 +08:00
    @sypopo #48 刚刚修复了,拉下最新的镜像试试 1.1.2 的
    monkeyWie
        50
    monkeyWie  
    OP
       2022-11-08 22:03:19 +08:00   ❤️ 1
    @morize #47 嗯 也可以的,下个版本打个 ipa 包
    charlieethan
        51
    charlieethan  
       2022-11-08 22:42:19 +08:00
    我觉得国内很多人还在用迅雷并不是因为他们完全不知道其他的 BT 客户端,而是 1.没公网 IP ,见过好多尝试使用 BitComet 或者 qBittorrent 的人,因为没有公网 IP 而导致下载没速度,又立即转投了迅雷 2.不清楚 bittorrent 协议,以为这是传统的 HTTP 下载,下载完就可以关机走人 3.和电脑在年轻人中的衰落有关: https://www.yystv.cn/p/8691
    goodryb
        52
    goodryb  
       2022-11-08 22:47:35 +08:00
    ARM Linux 下 docker 无法启动,https://github.com/monkeyWie/gopeed/issues/51
    xiaoz
        53
    xiaoz  
       2022-11-08 22:50:28 +08:00
    有提供 HTTP API 可供调用吗?
    monkeyWie
        54
    monkeyWie  
    OP
       2022-11-08 23:05:38 +08:00
    @charlieethan #51 确实大部分人可能都是这样,但是也有很多反迅雷的声音,所以需要一款新的软件来做替代品,市面上很多传统的下载软件,要么就只支持 bt ,要么就只支持 windows ,要么就不开源,要么就不支持手机端,我觉得我的软件还是解决了上面的所有痛点的,只是现在还是早期阶段,体验可能不会特别好,但是可以慢慢建设。
    monkeyWie
        55
    monkeyWie  
    OP
       2022-11-08 23:05:46 +08:00
    @xiaoz #53 后面会加上的
    molezznet
        56
    molezznet  
       2022-11-08 23:15:48 +08:00
    star 跟进
    lc1450
        57
    lc1450  
       2022-11-09 00:28:44 +08:00
    安装包不到 20M, 好评, 已 star
    Trim21
        58
    Trim21  
       2022-11-09 00:45:47 +08:00
    ... 我这居然是第一个 PR 吗 ...

    正好之前一直想找个 aria2 的 go 替代品也没找到
    davelm
        59
    davelm  
       2022-11-09 08:49:19 +08:00
    要是能支持 ed2k 就更加完美了
    DAPTX4869
        60
    DAPTX4869  
       2022-11-09 09:09:29 +08:00
    @monkeyWie #35 可能不止, 看 opwenwrt 上的应用比如 xxx, 还会有个 luci-app-xxx, 方便在路由器 web 上管理
    gogo88
        61
    gogo88  
       2022-11-09 09:38:28 +08:00
    已 star 。Windows 上已经用上了,后续会有 IPA 吗,想在 iOS 上自签使用?
    huangzhe8263
        62
    huangzhe8263  
       2022-11-09 09:42:38 +08:00
    现在唯一还在用迅雷的原因就是 ed2k 了,知道它吸血但是有些资源真的只能用它才能下下来
    jjtang11
        63
    jjtang11  
       2022-11-09 09:46:31 +08:00
    已 star ,问一下理论上可以支持 window on arm 吗,要移植的话改动大不大
    monkeyWie
        64
    monkeyWie  
    OP
       2022-11-09 09:48:16 +08:00
    @gogo88 #61 有的,看#50 楼
    monkeyWie
        65
    monkeyWie  
    OP
       2022-11-09 09:49:33 +08:00
    @jjtang11 #63 主要是 github action 没有 windows arm 的运行环境,不然可以打包,不用改代码
    qq2511296
        66
    qq2511296  
       2022-11-09 09:54:29 +08:00
    希望可以提供更多设置的地方,比如 Tracker 、UA 等常见的设置

    我 Intel 的老 Mac 可以正常打开 app
    jjtang11
        67
    jjtang11  
       2022-11-09 09:58:08 +08:00
    @monkeyWie 谢谢,主要是我不懂 flutter ,不知道它支不支持 woa ,既然支持的话,我研究下试试自己编译也行
    fox233
        68
    fox233  
       2022-11-09 13:17:37 +08:00
    ios 可以打包一个的 因为有人可以签名用 还有一些越狱设备可以直接安装
    allence
        69
    allence  
       2022-11-09 13:34:07 +08:00
    有浏览器监听吗?
    Y29tL2gwd2Fy
        70
    Y29tL2gwd2Fy  
       2022-11-09 14:37:07 +08:00 via Android
    Trim21
        71
    Trim21  
       2022-11-09 15:40:49 +08:00
    @Y29tL2gwd2Fy #70 没有 http 呀
    monkeyWie
        72
    monkeyWie  
    OP
       2022-11-09 15:57:20 +08:00
    @qq2511296 #66 这些在下个版本的计划中
    hanguofu
        73
    hanguofu  
       2022-11-09 20:43:48 +08:00 via Android
    期待 '支持 DLAN 投屏' ,谢谢分享!
    lawsiki
        74
    lawsiki  
       2022-11-09 22:05:16 +08:00
    新手没太看懂,desktop 版本启动 flutter 的时候是在哪关联启动 go 服务的呢?
    monkeyWie
        75
    monkeyWie  
    OP
       2022-11-09 22:50:31 +08:00 via Android
    @lawsiki 用 ffi 调用 go 编译的动态库
    seers
        76
    seers  
       2022-11-09 23:04:34 +08:00
    能提供 api 吗,最近在写一个 go 程序,需要下载功能,但是又不想自己写,如果能提供接口就好了
    monkeyWie
        77
    monkeyWie  
    OP
       2022-11-09 23:29:52 +08:00 via Android
    @seers 可以依赖库开发的,你看看这个示例代码:https://github.com/monkeyWie/gopeed/blob/main/_examples/basic/main.go
    Psily1017
        78
    Psily1017  
       2022-11-10 10:20:06 +08:00
    不知道是否设置问题,感觉解析磁力链接不是很快
    fenfire
        79
    fenfire  
       2022-11-11 11:57:24 +08:00
    马克,干死吸血雷回来看,加油
    92Developer
        80
    92Developer  
       319 天前
    请问有安卓原生版本代码吗?基于什么库或原理实现呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:32 · PVG 21:32 · LAX 05:32 · JFK 08:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.