尧图精选

Gopeed 下载器实战指南:多协议下载内核、MCP 接入与三端编译

🕒 发布时间:2026/9/15 14:11:05 📁 来源:尧图网络
Gopeed 下载器实战指南多协议下载内核、MCP 接入与三端编译【免费下载链接】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那条磁力链接换了三个客户端都拉不动资源浏览器自带的下载管理又管不住几十个并发任务——这类场景我踩坑不少。GopeedGo Speed够快下载器是用 Go 加 Flutter 做的免费开源多协议下载器HTTP、HTTPS、BitTorrent、磁力链接、ed2k 五种来源收进同一个界面2.0 版本还支持把下载任务交给 AI Agent 管理。一、它凭什么值得装原生渲染 FFI 直连 多协议合一我用下载工具最在意的三件事Gopeed 恰好都踩中了。第一它是真·原生界面。主界面由 Flutter 原生渲染不是 Electron也不是 WebView 套壳安装包小、启动快、内存开销低。对普通用户意味着后台常驻一个下载器不会感觉电脑被多占了一个浏览器。第二2.0 版引入了 FFI 直连架构。大白话讲前端不走网络请求直接调用 Go 函数。桌面端把 Go 核心用cgo编成动态库libgopeed.dll/.dylib/.so导出Start、Stop、Invoke等 C 函数给 Flutter 侧调用见 bind/desktop/main.go移动端则通过gomobile生成 AAR 与 XCFramework入口在 bind/mobile/main.go。对你来说这套架构换来了更一致的三端体验——手机、电脑、Web 上的任务状态是同一套后端在跑。第三多协议合一。同一份任务列表里HTTP 多连接分段任务、磁力任务、ed2k 任务混排暂停、续传、批量操作、按状态筛选都统一处理BT 侧支持 DHT、uTP、Web Seed、按文件选择和做种控制。这意味着你不用再在下载管理器和BT 客户端之间切换了。二、五分钟上手桌面 App、CLI 与自托管服务三条最短路径桌面 App。去官网 gopeed.com 下正式稳定版即可想尝鲜原生通信架构可以拿 2.0.0 Beta。界面支持浅色/深色/跟随系统三种主题和 8 种强调色20 多种界面语言手机平板也能直接装。命令行CLI。装好 Go 之后两条命令就能干活-C控制 HTTP 并发连接数默认 16-D指定保存目录go install github.com/GopeedLab/gopeed/cmd/gopeedlatest gopeed -C 32 -D /data/downloads https://example.com/file.zip gopeed magnet:?xturn:btih:...跑起来后终端会画一个方块字符进度条结束时打印保存路径。自托管 Web。Web 服务默认监听 9999 端口配置支持命令行、./config.json配置文件和GOPEED_前缀环境变量三种来源命令行优先级最高详见 cmd/web/flags.gogopeed --address 0.0.0.0 --port 9999 \ --username admin --password your-password \ --api-token your-token --mcp-enable \ --storage-dir /data/gopeed/storage不设置--password就不启用 Web 认证一旦启用调 HTTP API 必须带 API Token。Docker 方式同样是 9999 端口、存储卷挂/app/storage可用PUID/PGID/UMASK控制容器内身份与文件权限。三、让 AI 替你管下载启用 MCP 端点一句话操作任务MCPModel Context Protocol是 AI Agent 调外部工具的标准协议Gopeed 把它做成了内建端点实现在 pkg/mcpserver。开启方式就一个参数gopeed --mcp-enable --address 0.0.0.0 --port 9999等价环境变量GOPEED_MCPENABLEtrue。把端点配进你的 AI Agent 之后日常交互大概长这样我先看这个链接里有什么文件再决定下哪个 Agent先调resolve_task解析资源返回文件列表和大小我只要前两个文件 Agent调create_task带上已解析的资源 ID 和文件下标我现在进度怎么样 Agent调list_tasks按状态筛选再用get_task_status取单个任务进度我先暂停下完这个就把它删了 Agentpause_task暂停任务done后用delete_task清记录几个细节值得知道create_task既能拿resolve_task返回的资源 ID 建任务也能直接传下载请求delete_task的force为真时会连磁盘文件一起删否则只删任务记录任务状态一共六种ready、running、pause、wait、error、done筛选任务时直接报状态名即可。常用工具干什么用resolve_task创建前先解析链接看资源和文件列表create_task建任务并启动两种入参都行get_task_status轻量查看任务与文件进度pause_task/continue_task暂停与恢复delete_task删任务可选连带删文件四、进阶玩法浏览器接管下载、REST API、Webhook 与 JS 扩展浏览器接管适合在浏览器里看到东西就想扔给 Gopeed的人。官方扩展支持 Chrome、Edge、Firefox 等装上后点下载就直接发往本地或自托管的 Gopeed 实例扩展宿主逻辑在 UI 侧ui/flutter/lib/util/browser_extension_host安装方式参考项目的官方浏览器扩展仓库。REST API适合想自己写脚本轮询任务的人。接口层在 pkg/rest路由同时挂在 Web 服务和独立 API 服务上。前面说过开启 Web 认证后请求要带--api-token配出的 Token否则 401。Webhook 与下载后脚本适合下完自动通知/自动处理的自动化场景。任务完成时可回调你指定的 URLWebhook或执行本地脚本如自动重命名、归档两者在 pkg/download 的webhook.go与script.go里实现在设置里配好即可。JavaScript 扩展视频站、AI 模型站、网盘这些没有直链的来源靠 JS 扩展解析。扩展引擎基于 goja 跑脚本见 pkg/download/extension_engine.go仓库pkg/download/testdata/extensions下有一整套可直接参考的示例扩展on_start、storage、on_done等钩子都覆盖了。五、想自己编译桌面、移动、Web 三端各两步环境先备齐Golang 1.25仓库go.mod声明 1.25.4、Flutter 3.41以及 cgo 环境。三条链路都是先编 Go 核心、再 flutter build两步。nosqlite标签用于关掉 sqlite 依赖——自托管形态下存储走 bbolt所以桌面、移动、Web 构建都带它。桌面端以 Windows 为例macOS/Linux 只是动态库输出路径不同go build -tags nosqlite -buildmodec-shared \ -o ui/flutter/windows/libgopeed.dll github.com/GopeedLab/gopeed/bind/desktop cd ui/flutter flutter build windows移动端先装 gomobilego install golang.org/x/mobile/cmd/gomobilelatest后gomobile initAndroid 用gomobile bind出libgopeed.aar再flutter build apkiOS 出 XCFramework 再flutter build ios --no-codesign命令形态和桌面端一致入口是bind/mobile。Web 端先flutter build web把产物复制进cmd/web/dist再整体编译——二进制通过//go:embed把页面嵌进去Dockerfile 走的正是这条nosqlite,web链路cd ui/flutter flutter build web cd ../.. cp -r ui/flutter/build/web cmd/web/dist go build -tags nosqlite,web -o bin/ github.com/GopeedLab/gopeed/cmd/web适合谁以及从哪拿如果你只是想要一个多协议都稳、界面干净的日常下载器桌面 App 就够了要在一台小机器上给团队或家庭跑下载服务选自托管 Web记得配密码和 Token而想把下载流程接进 AI 自动化比如让 Agent 定期拉取资源的MCP 端点是目前最省事的入口。源码仓库地址https://gitcode.com/GitHub_Trending/go/gopeed 项目基于 GPLv3 协议开源。【免费下载链接】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),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →