GopeedLab/gopeed
GitHub: GopeedLab/gopeed
一款基于 Golang 和 Flutter 构建的跨平台高速下载器,支持 HTTP、BT 和磁力链协议。
Stars: 23033 | Forks: 1569
# [](https://gopeed.com)
[](https://github.com/GopeedLab/gopeed/actions?query=workflow%3Atest)
[](https://codecov.io/gh/GopeedLab/gopeed)
[](https://github.com/GopeedLab/gopeed/releases)
[](https://github.com/GopeedLab/gopeed/releases)
[](https://docs.gopeed.com/donate.html)
[](https://raw.githubusercontent.com/GopeedLab/gopeed/main/_docs/img/weixin.png)
[](https://discord.gg/ZUJqJrwCGB)
[English](/README.md) | [中文](/README_zh-CN.md) | [日本語](/README_ja-JP.md) | [正體中文](/README_zh-TW.md) | [Tiếng Việt](/README_vi-VN.md)
## 🚀 简介
Gopeed(全称 Go Speed),一款由 `Golang` + `Flutter` 开发的高速下载器,支持(HTTP、BitTorrent、Magnet)协议,并支持所有平台。除了基本的下载功能外,Gopeed 还是一款高度可定制的下载器,支持通过集成 [APIs](https://docs.gopeed.com/dev-api.html) 或安装和开发 [扩展](https://docs.gopeed.com/dev-extension.html) 来实现更多功能。
访问 ✈ [官方网站](https://gopeed.com) | 📖 [官方文档](https://docs.gopeed.com)
## ⬇️ 下载
关于安装的更多信息,请参阅 [安装指南](https://docs.gopeed.com/install.html)
### 🛠️ 命令行工具
使用 `go install`:
```
go install github.com/GopeedLab/gopeed/cmd/gopeed@latest
```
## 🔌 浏览器扩展
Gopeed 还提供了浏览器扩展以接管浏览器下载,支持 Chrome、Edge、Firefox 等浏览器,请参阅:[https://github.com/GopeedLab/browser-extension](https://github.com/GopeedLab/browser-extension)
## 🖼️ 界面预览

## 👨💻 开发
本项目分为两部分,前端使用 `flutter`,后端使用 `Golang`,双方通过 `http` 协议进行通信。在 Unix 系统上使用 `unix socket`,在 Windows 系统上使用 `tcp` 协议。
### 🌍 环境
1. Golang 1.24+
2. Flutter 3.38+
### 📋 克隆
```
git clone git@github.com:GopeedLab/gopeed.git
```
### 🏗️ 构建
#### 桌面端
首先,你需要根据 [Flutter 桌面端官方文档](https://docs.flutter.dev/development/platform-integration/desktop) 配置环境,然后你需要确保正确设置了 cgo 环境。关于设置 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
```
#### 网页端
命令:
```
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
[](https://www.jetbrains.com/?from=gopeed)
## 📄 许可证
[GPLv3](LICENSE)
| 🪟 Windows | EXE |
amd64 | 📥 |
| arm64 | 📥 | ||
Portable |
amd64 | 📥 | |
| arm64 | 📥 | ||
| 🍎 MacOS | DMG |
universal | 📥 |
| amd64 | 📥 | ||
| arm64 | 📥 | ||
| 🐧 Linux | Flathub |
amd64 | 📥 |
SNAP |
amd64 | 📥 | |
DEB |
amd64 | 📥 | |
| arm64 | 📥 | ||
AppImage |
amd64 | 📥 | |
| arm64 | 📥 | ||
| 🤖 Android | APK |
universal | 📥 |
| armeabi-v7a | 📥 | ||
| arm64-v8a | 📥 | ||
| x86_64 | 📥 | ||
| 📱 iOS | IPA |
universal | 📥 |
| 🐳 Docker | - | universal | 📥 |
| 💾 Qnap | QPKG |
amd64 | 📥 |
| arm64 | 📥 | ||
| 🌐 Web | Windows |
amd64 | 📥 |
| arm64 | 📥 | ||
| 386 | 📥 | ||
MacOS |
amd64 | 📥 | |
| arm64 | 📥 | ||
Linux |
amd64 | 📥 | |
| arm64 | 📥 | ||
| 386 | 📥 |
标签:API集成, BitTorrent, BT下载, Flutter, Golang, HTTP下载, P2P, 下载工具, 下载管理器, 内核驱动漏洞利用, 可观测性, 安全编程, 扩展开发, 文件传输, 桌面应用, 磁力链接, 请求拦截, 高速下载