Gopeed 下载器完整指南:一个工具同时管好 5 种下载协议
2026/9/15 19:42:04 网站建设 项目流程

Gopeed 下载器完整指南:一个工具同时管好 5 种下载协议

【免费下载链接】gopeedA fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.项目地址: https://gitcode.com/GitHub_Trending/go/gopeed

想让 HTTP 文件、磁力链接和 ed2k 资源在一个列表里管起来,却不想装三个工具?Gopeed(Go Speed,"够快下载器")就是用 Go 和 Flutter 开发的跨平台下载器,HTTP、HTTPS、BitTorrent、磁力链接、ed2k 五种协议全部内置,桌面、手机、Web 端共用同一套任务管理逻辑。说白了,你只需要学一次它的操作方式,换设备不用重新适应。

Gopeed 下载器最快安装:图形版、命令行与容器三条路

三条路径按场景任选,都能在最短时间内跑起来。

图形客户端:从官方发布渠道下载对应平台的安装包(Windows / macOS / Linux),双击安装即可,无额外依赖。适合绝大多数人,这也是日常使用的主入口。

命令行工具:一条命令安装,装完就能下载,适合服务器和脚本环境:

go install github.com/GopeedLab/gopeed/cmd/gopeed@latest gopeed https://example.com/file.zip

容器部署:适合 NAS 或常开的服务器,仓库自带 Dockerfile,镜像基于 alpine,默认 9999 端口,文件统一落在 /app/storage 卷里:

docker run -d -p 9999:9999 -v /path/to/storage:/app/storage gopeed/gopeed

这一步之后,你已经有了一个可用的 Gopeed。下面先看它整体能干什么,再挑场景深入。

能力全景:一个任务列表装下所有下载场景

从"用户得到什么"的角度,Gopeed 的价值可以归为四组:

  • 带宽吃满:HTTP 走多连接分段传输,BitTorrent 走 P2P,大文件下载时能充分利用可用带宽,而不是单连接慢慢爬。
  • 🧲一份列表五种协议:下载器、磁力链接、ed2k 混在一个任务列表里,按状态、分类筛选,暂停、续传、批量操作都支持,重启后任务自动恢复。
  • 🌐下载来源不封顶:浏览器接管让 Chrome、Edge、Firefox 的下载直接进 Gopeed;内置 JavaScript 扩展机制,还能继续扩展视频站、AI 模型站、网盘这类非标准下载源。
  • 🔌天然适合自动化:REST API、CLI、Webhook、下载完成脚本,以及面向 AI Agent 的 MCP 接口,后面会单独讲。

体验上它也有自己的坚持:主界面是 Flutter 原生渲染,不是 Electron 套壳,安装包更轻、启动更快;界面跟随系统/浅色/深色三档主题,20 多种语言,手机、平板到可缩放的桌面窗口都会自动调整布局。

Gopeed 下载器桌面与平板端任务列表界面

知道它能干什么之后,挑三个高频场景走一遍具体操作。

场景实战:三个高频用法逐个拆

命令行下载:自己调并发,文件落哪自己定

什么情况用:服务器上跑脚本、批量拉取资源,或者你就是喜欢终端。

怎么做gopeed后面的位置参数可以是 URL、.torrent文件路径或磁力链接,常用就两个参数——-C控制 HTTP 并发连接数(默认 16),-D指定保存目录(默认当前工作目录)。例如把并发提到 32 并落到指定目录:

gopeed -C 32 -D /data/downloads https://example.com/big.zip

一个坑:不写-D时文件会安静地落在"你执行命令时所在的目录",在 crontab 或脚本里尤其容易踩。建议保存目录永远显式给出。

浏览器下载接管:让 Chrome 的下载直接落到 Gopeed

什么情况用:你日常主要靠浏览器下载,但不希望文件散在默认下载文件夹。

怎么做:安装官方浏览器扩展(支持 Chrome、Edge、Firefox),宿主能力由桌面客户端内置提供,启用接管后,网页里点击的下载会直接出现在 Gopeed 任务列表里,进度、续传都归它管。

一个坑:扩展默认把任务发给本机实例。如果浏览器所在机器没有运行 Gopeed 客户端,接管就没有落点;远程自托管场景下要确认扩展指向的是正确的服务地址。

Gopeed 下载器桌面与手机端同时运行同一下载任务

自托管 Web 服务:在服务器上开一个带认证的私有下载站

什么情况用:家里有 NAS 或常开服务器,想随时随地用手机浏览器管理下载。

怎么做:自托管走的是 Web 版入口,一条命令把认证、API Token 和 MCP 一起开起来:

gopeed --address 0.0.0.0 --port 9999 \ --username admin --password your-password \ --api-token your-token --mcp-enable

核心参数不多,记这几个就够:

参数默认值作用
--username/--passwordgopeed/ 空设置密码后即启用 Web 登录认证
--api-token认证开启后,调 REST API 必须携带
--storage-dir程序目录下 storage数据与下载文件的存放位置
--white-download-dirs下载目录白名单,逗号分隔

一个坑:密码和 API Token 是配套的——只设了密码却不配--api-token,REST API 调用会全部被拒。另外配置有三种来源:命令行参数、./config.json配置文件、GOPEED_前缀环境变量(如GOPEED_MCPENABLE),优先级是命令行覆盖其余,容器里用环境变量最省事。

日常下载到这里就够用;想让 Gopeed 反过来"接住"你其他系统的事件,看下一节。

进阶与自动化:把 Gopeed 变成下载后端

这一节面向三类人:想用自然语言发号施令的(MCP)、想把下载接进 CI 或监控脚本的(REST API / Webhook)、想扩展下载源的(JS 扩展)。

AI 接入(MCP):启动参数加上--mcp-enable,服务就会以无状态 Streamable HTTP 端点对外提供 MCP 能力,把 Gopeed 配进任意支持 MCP 的 AI Agent,直接说"帮我下载 XX"就能触发真实任务。工具集覆盖了完整闭环:resolve_task先把链接解析出来、返回资源信息和文件列表,create_task基于解析结果或直接请求创建任务,list_tasks/get_task/get_task_status负责查询,get_task_stats给出连接数、Peer、做种等协议统计,delete_task收尾并可连文件一起删。实现集中在 pkg/mcpserver/,每个工具都带 JSON Schema 输入校验,HTTP 和 BitTorrent 的扩展参数用联合结构区分,Agent 不容易传错参数。

REST API 与 Webhook:REST 层在 pkg/rest/,路由统一注册在 pkg/api/,认证开启后用 API Token 调用即可,和图形界面操作的是同一套下载器核心。任务完成时,Webhook 可以把事件推到你自己的地址,也可以跑下载后脚本(解压、转码、通知都行),实现见 pkg/download/。

JavaScript 扩展:扩展引擎让 Gopeed 能"读懂"视频站、AI 模型站、网盘这类没有直接下载链接的页面。仓库里带了一组开箱可用的示例扩展(含任务完成回调、事件处理、存储等),照着改就能接自己的源。

这些能力叠在一起,Gopeed 就不只是一个下载器,而是一台可以嵌入工作流的小型下载服务。至于它内部是怎么把前后端扣在一起的,值得花两分钟了解一下。

设计要点:前后端之间省掉了一个传话筒

早期版本的架构很经典:Flutter 前端和 Go 后端是两个进程,靠 HTTP 通讯——Unix 系统下走 unix socket,Windows 下走 TCP。简单可靠,但每个事件都要序列化一次,进程生命周期也得两头维护。2.0 换了个思路:桌面端用 cgo 把 Go 核心编译成动态库(Windows 是 dll,macOS 是 dylib,Linux 是 so),导出StartInvokeSubscribeTaskEvents等一组 C 接口,Flutter 侧通过dart:ffi直接调用,入口代码在 bind/desktop/。前后端之间省掉了一个"传话筒",事件订阅变成进程内直连,延迟和内存开销都降下来了。移动端同理,用gomobile bind生成 Android AAR 与 iOS 框架,同一套 Go 核心,三种形态共用。

这个取舍也有代价:核心和应用同进程,核心崩溃等于应用崩溃。所以自托管 Web 服务仍然保持独立进程加 REST 的形态——远程部署时,进程隔离反而比极致性能更值得。存储层的选择也是同样的实用主义:Web 模式用 bbolt 单文件数据库,Docker 构建直接CGO_ENABLED=0nosqlite标签产出静态二进制,镜像极小、迁移只要拷一个存储卷。协议实现则各自独立成模块(HTTP 分段、BT 引擎、ed2k),注册在同一套 fetcher 抽象之下,新增协议不碰主流程,实现集中在 internal/protocol/。

Gopeed 下载器桌面与移动端跨平台界面

写在最后:谁适合用,下一步做什么

如果你受够了"HTTP 一个工具、BT 一个工具"的碎片化体验,Gopeed 值得直接装上:桌面客户端日常下载,浏览器接管兜底,命令行留给服务器。如果你有一台常开的机器,花十分钟按"场景实战"一节把自托管服务配好,再顺手打开 MCP,就能让 AI Agent 帮你管下载了。想深挖构建细节或提交代码,仓库里的贡献指南和目录结构说明都写得很清楚,照着走即可。

【免费下载链接】gopeedA fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.项目地址: https://gitcode.com/GitHub_Trending/go/gopeed

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询