7.5 KiB
English | 中文 | 日本語 | 正體中文 | Tiếng Việt
🚀 介绍
Gopeed(全称 Go Speed,也叫“够快下载器”)是一款使用 Go 和 Flutter 开发的高速、现代、免费开源下载器,支持 HTTP、HTTPS、BitTorrent、磁力链接和 ed2k,并覆盖桌面端、移动端与 Web。
除了日常下载任务管理,Gopeed 还提供浏览器接管、JavaScript 扩展、REST API、命令行工具和可自托管 Web UI,方便高级用户扩展和自动化自己的下载流程。
访问 ✈ 官方网站
✨ 主要特性
- ⚡ 高速下载 — 多任务并发、HTTP 多连接分段传输和 BitTorrent P2P 下载,充分利用可用带宽。
- 🧲 多协议支持 — 在同一个界面管理 HTTP、HTTPS、BitTorrent、磁力链接和 ed2k。
- 🌱 完整 BT 能力 — 支持 DHT 节点发现、uTP 传输、Web Seed、按文件选择下载、Tracker 管理、Peer/分片统计,以及按分享率或时间控制做种。
- 📋 实用任务管理 — 暂停、续传、重试、批量操作、搜索、状态筛选、下载分类和启动恢复。
- 🪶 轻量原生体验 — 主界面使用 Flutter 原生渲染,非 Electron,非 WebView 的套壳,安装包更轻量、运行开销更低、响应更流畅。
- 💻 全平台覆盖 — 支持 Windows、macOS、Linux、Android、iOS 和 Web,并提供 Docker、QNAP 部署方式。
- 🎨 个性化主题 — 支持跟随系统、浅色、深色三种模式,以及 8 种主题强调色。
- 📐 响应式界面 — 任务列表、导航、设置和详情视图会针对手机、平板及可调整大小的桌面窗口自动布局。
- 🗣️ 20+ 种界面语言 — 支持简体中文、繁体中文、英语、日语、韩语等多种语言。
- 🌐 浏览器接管 — 支持 Chrome、Edge、Firefox 等兼容浏览器,将下载任务直接发送到 Gopeed。
- 🧩 JavaScript 扩展 — 扩展视频网站、AI 模型站、网盘等更多下载源。
- 🔌 开放接口 — 通过 REST API、CLI、带身份认证的 Web UI、Webhook 和下载后脚本进行自动化。
- 🛠️ 常用内置能力 — 自定义 Header 与 User-Agent、代理、GitHub 镜像、通知和自动解压。
⬇️ 下载
🧪 Gopeed 2.0.0 Beta
Gopeed 2.0.0 目前处于公开 Beta 测试阶段,带来了全新的 2.0.0 使用体验,但部分功能仍可能不够完善或稳定。欢迎提前体验,并向我们反馈使用过程中遇到的问题。
当功能完整度和稳定性达到正式发布标准后,我们会发布 Gopeed 2.0.0 正式版。已安装 Beta 版本的用户可以直接升级到最终正式版,现有稳定版用户则不会被自动切换到 Beta 渠道。
正式稳定版
🛠️ 命令行工具
使用go install安装:
go install github.com/GopeedLab/gopeed/cmd/gopeed@latest
🔌 浏览器扩展
Gopeed 还提供了浏览器扩展用于接管浏览器下载,支持 Chrome、Edge、Firefox 等浏览器,具体请参考:https://github.com/GopeedLab/browser-extension
📱 微信公众号
关注公众号获取项目最新动态和资讯。
💝 赞助
如果觉得项目对你有帮助,请考虑赞助以支持这个项目的发展,非常感谢!
👨💻 开发
本项目分为前端和后端两个部分,前端使用flutter,后端使用Golang,两边通过http协议进行通讯,在 unix 系统下,使用的是unix socket,在 windows 系统下,使用的是tcp协议。
前端代码位于
ui/flutter目录下。
🌍 环境要求
- Golang 1.25+
- Flutter 3.41+
📋 克隆项目
git clone [email protected]:GopeedLab/gopeed.git
🤝 贡献代码
请参考贡献指南
🏗️ 编译
桌面端
首先需要按照flutter desktop 官网文档进行环境配置,然后需要准备好cgo环境,具体可以自行搜索。
构建命令:
- windows
go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/windows/libgopeed.dll github.com/GopeedLab/gopeed/bind/desktop
cd ui/flutter
flutter build windows
- macos
go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/macos/Frameworks/libgopeed.dylib github.com/GopeedLab/gopeed/bind/desktop
cd ui/flutter
flutter build macos
- linux
go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/linux/bundle/lib/libgopeed.so github.com/GopeedLab/gopeed/bind/desktop
cd ui/flutter
flutter build linux
移动端
同样的也是需要准备好cgo环境,接着安装gomobile:
go install golang.org/x/mobile/cmd/gomobile@latest
go get golang.org/x/mobile/bind
gomobile init
构建命令:
- android
gomobile bind -tags nosqlite -ldflags="-w -s -checklinkname=0" -o ui/flutter/android/app/libs/libgopeed.aar -target=android -androidapi 21 -javapkg="com.gopeed" github.com/GopeedLab/gopeed/bind/mobile
cd ui/flutter
flutter build apk
- ios
gomobile bind -tags nosqlite -ldflags="-w -s" -o ui/flutter/ios/Frameworks/Libgopeed.xcframework -target=ios github.com/GopeedLab/gopeed/bind/mobile
cd ui/flutter
flutter build ios --no-codesign
Web 端
构建命令:
cd ui/flutter
flutter build web
cd ../../
rm -rf cmd/web/dist
cp -r ui/flutter/build/web cmd/web/dist
go build -tags nosqlite,web -ldflags="-s -w" -o bin/ github.com/GopeedLab/gopeed/cmd/web
❤️ 感谢
贡献者
JetBrains
开源许可
基于 GPLv3 协议开源。
